GET
/v1/schemas/runway/video/v1/character_performance
Accept:
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source tracecbe9ae85cc6ad0ff714fd5ad664993f943b9d51a6155383212951177e4bc2acb{
"fetchedAt": 1786771313,
"extractorVersion": "1",
"verifiedAt": null
} |
Request body
0 properties · 0 required · 0 $defsThis 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 tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"runway","endpointId":"v1/character_performance","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}