GET

/v1/schemas/runway/video/v1/character_performance

kind inputactivity videohash 68d13db2…extracted Aug 15, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
cbe9ae85cc6ad0ff714fd5ad664993f943b9d51a6155383212951177e4bc2acb
{
  "fetchedAt": 1786771313,
  "extractorVersion": "1",
  "verifiedAt": null
}

Request body

0 properties · 0 required · 0 $defs

This schema isn’t a plain object with properties — showing the raw JSON instead.

application/json
{
  "provider": "runway",
  "activity": "video",
  "endpointId": "v1/character_performance",
  "kind": "input",
  "contentHash": "68d13db293cc32bb5031954bcd0d9c508ba86fc78a8f574c1dfbd97ca44b9322",
  "specRevision": null,
  "provenance": {
    "sourceUrl": "https://raw.githubusercontent.com/runwayml/openapi/next/openapi.json",
    "sourceHash": "cbe9ae85cc6ad0ff714fd5ad664993f943b9d51a6155383212951177e4bc2acb",
    "fetchedAt": 1786771313,
    "extractorVersion": "1",
    "derivation": "upstream-spec",
    "verifiedAt": null
  },
  "createdAt": 1786771313,
  "supersededAt": null,
  "schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "oneOf": [
      {
        "title": "act_two",
        "type": "object",
        "properties": {
          "seed": {
            "description": "If unspecified, a random number is chosen. Varying the seed integer is a way to get different results for the same other request parameters. Using the same seed integer for an identical request will produce similar results.",
            "type": "integer",
            "minimum": 0,
            "maximum": 4294967295
          },
          "character": {
            "description": "The character to control. You can either provide a video or an image. A visually recognizable face must be visible and stay within the frame.",
            "oneOf": [
              {
                "title": "CharacterImage",
                "description": "An image of your character. In the output, the character will use the reference video performance in its original static environment.",
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "image"
                  },
                  "uri": {
                    "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                    "example": "https://example.com/image.jpg",
                    "anyOf": [
                      {
                        "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                        "example": "https://example.com/image.jpg",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 2048,
                        "pattern": "^https:\\/\\/.*"
                      },
                      {
                        "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                        "example": "runway://<token>",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 5000,
                        "pattern": "^runway:\\/\\/.*"
                      },
                      {
                        "description": "A data URI containing encoded media.",
                        "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 5242880,
                        "pattern": "^data:image\\/.*"
                      }
                    ]
                  }
                },
                "required": [
                  "type",
                  "uri"
                ]
              },
              {
                "title": "CharacterVideo",
                "description": "A video of your character. In the output, the character will use the reference video performance in its original animated environment and some of the character's own movements.",
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "video"
                  },
                  "uri": {
                    "description": "A HTTPS URL, Runway or data URI containing an encoded video. See [our docs](/assets/inputs#videos) on video inputs for more information.",
                    "example": "https://example.com/video.mp4",
                    "anyOf": [
                      {
                        "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:video/mp4;base64,...`, up to 16MB) containing an encoded video. See [our docs](/assets/inputs#videos) on video inputs for more information.",
                        "example": "https://example.com/video.mp4",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 2048,
                        "pattern": "^https:\\/\\/.*"
                      },
                      {
                        "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                        "example": "runway://<token>",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 5000,
                        "pattern": "^runway:\\/\\/.*"
                      },
                      {
                        "description": "A data URI containing encoded media.",
                        "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 16777216,
                        "pattern": "^data:video\\/.*"
                      }
                    ]
                  }
                },
                "required": [
                  "type",
                  "uri"
                ]
              }
            ],
            "discriminator": {
              "propertyName": "type"
            }
          },
          "reference": {
            "description": "The reference video containing the performance to apply to the character.",
            "example": {
              "type": "video",
              "uri": "https://example.com/reference-performance.mp4"
            },
            "oneOf": [
              {
                "title": "CharacterReferenceVideo",
                "description": "A video of a person performing in the manner that you would like your character to perform. The video must be between 3 and 30 seconds in duration.",
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "video"
                  },
                  "uri": {
                    "description": "A video of a person performing in the manner that you would like your character to perform. The video must be between 3 and 30 seconds in duration. See [our docs](/assets/inputs#videos) on video inputs for more information.",
                    "example": "https://example.com/reference-performance.mp4",
                    "anyOf": [
                      {
                        "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:video/mp4;base64,...`, up to 16MB) containing an encoded video. See [our docs](/assets/inputs#videos) on video inputs for more information.",
                        "example": "https://example.com/video.mp4",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 2048,
                        "pattern": "^https:\\/\\/.*"
                      },
                      {
                        "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                        "example": "runway://<token>",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 5000,
                        "pattern": "^runway:\\/\\/.*"
                      },
                      {
                        "description": "A data URI containing encoded media.",
                        "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                        "type": "string",
                        "minLength": 13,
                        "maxLength": 16777216,
                        "pattern": "^data:video\\/.*"
                      }
                    ]
                  }
                },
                "required": [
                  "type",
                  "uri"
                ]
              }
            ],
            "discriminator": {
              "propertyName": "type"
            }
          },
          "bodyControl": {
            "description": "A boolean indicating whether to enable body control. When enabled, non-facial movements and gestures will be applied to the character in addition to facial expressions.",
            "example": true,
            "type": "boolean"
          },
          "expressionIntensity": {
            "description": "An integer between 1 and 5 (inclusive). A larger value increases the intensity of the character's expression.",
            "example": 3,
            "default": 3,
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "ratio": {
            "description": "The resolution of the output video.",
            "example": "1280:720",
            "type": "string",
            "enum": [
              "1280:720",
              "720:1280",
              "960:960",
              "1104:832",
              "832:1104",
              "1584:672"
            ]
          },
          "contentModeration": {
            "description": "Settings that affect the behavior of the content moderation system.",
            "example": {
              "publicFigureThreshold": "auto"
            },
            "type": "object",
            "properties": {
              "publicFigureThreshold": {
                "description": "When set to `low`, the content moderation system will be less strict about preventing generations that include recognizable public figures.",
                "type": "string",
                "enum": [
                  "auto",
                  "low"
                ]
              }
            },
            "additionalProperties": false
          },
          "model": {
            "type": "string",
            "const": "act_two"
          }
        },
        "required": [
          "character",
          "reference",
          "model"
        ]
      }
    ],
    "discriminator": {
      "propertyName": "model"
    }
  }
}

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"runway","endpointId":"v1/character_performance","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}