GET
/v1/schemas/runway/video/v1/recipes/multi_shot_video
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/recipes/multi_shot_video",
"kind": "input",
"contentHash": "b471eefa232dead1b70fad4bfd684f412b1fe225e85273f107b43659e0188686",
"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": [
{
"type": "object",
"properties": {
"mode": {
"description": "Workflow mode. `auto` decomposes a story prompt into exactly 5 shots.",
"type": "string",
"const": "auto"
},
"prompt": {
"description": "Story prompt for auto mode.",
"type": "string",
"minLength": 1,
"maxLength": 2500
},
"version": {
"description": "Workflow version. Use a dated version (e.g. \"2026-06\") to pin behavior, or \"unsafe-latest\" to track the newest stable version (may break without notice).",
"type": "string",
"enum": [
"2026-06",
"unsafe-latest"
]
},
"firstFrame": {
"description": "Optional image used as the first frame of the output video. See [our docs](/assets/inputs#images) on image inputs.",
"type": "object",
"properties": {
"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": [
"uri"
],
"additionalProperties": false
},
"ratio": {
"description": "Output dimensions as width:height. 720p ratios (`1280:720`, `720:1280`, `960:960`) use the standard tier; 1080p ratios (`1920:1080`, `1080:1920`, `1440:1440`) use the pro tier. Defaults to `1280:720`.",
"type": "string",
"enum": [
"1280:720",
"720:1280",
"960:960",
"1920:1080",
"1080:1920",
"1440:1440"
]
},
"duration": {
"description": "Total duration of the output video in seconds. Defaults to 10 seconds.",
"type": "number",
"enum": [
5,
10,
15
]
},
"audio": {
"description": "Whether to generate audio for the video.",
"default": true,
"type": "boolean"
}
},
"required": [
"mode",
"prompt",
"version"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"mode": {
"description": "Workflow mode. `custom` polishes a user-provided shot list of 3-5 shots.",
"type": "string",
"const": "custom"
},
"shots": {
"description": "Shot list for custom mode (3-5 shots). Per-shot durations must sum to `duration`.",
"minItems": 3,
"maxItems": 5,
"type": "array",
"items": {
"type": "object",
"properties": {
"prompt": {
"description": "Shot description prompt.",
"type": "string",
"minLength": 3,
"maxLength": 512
},
"duration": {
"description": "Duration of this shot in seconds.",
"type": "integer",
"minimum": 1,
"maximum": 15
}
},
"required": [
"prompt",
"duration"
],
"additionalProperties": false
}
},
"version": {
"description": "Workflow version. Use a dated version (e.g. \"2026-06\") to pin behavior, or \"unsafe-latest\" to track the newest stable version (may break without notice).",
"type": "string",
"enum": [
"2026-06",
"unsafe-latest"
]
},
"firstFrame": {
"description": "Optional image used as the first frame of the output video. See [our docs](/assets/inputs#images) on image inputs.",
"type": "object",
"properties": {
"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": [
"uri"
],
"additionalProperties": false
},
"ratio": {
"description": "Output dimensions as width:height. 720p ratios (`1280:720`, `720:1280`, `960:960`) use the standard tier; 1080p ratios (`1920:1080`, `1080:1920`, `1440:1440`) use the pro tier. Defaults to `1280:720`.",
"type": "string",
"enum": [
"1280:720",
"720:1280",
"960:960",
"1920:1080",
"1080:1920",
"1440:1440"
]
},
"duration": {
"description": "Total duration of the output video in seconds. Defaults to 10 seconds.",
"type": "number",
"enum": [
5,
10,
15
]
},
"audio": {
"description": "Whether to generate audio for the video.",
"default": true,
"type": "boolean"
}
},
"required": [
"mode",
"shots",
"version"
],
"additionalProperties": false
}
],
"discriminator": {
"propertyName": "mode"
}
}
}Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"runway","endpointId":"v1/recipes/multi_shot_video","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}