GET
/v1/schemas/runway/video/v1/text_to_video
Accept:
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source trace569985a2515541ad2d2654301b82d21986a69eb7a2de2e54836ff67e0a275165{
"fetchedAt": 1787980873,
"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/text_to_video",
"kind": "input",
"contentHash": "dd8a4cfe60cc3b7803942baa9b7291cac56cf0d7b3c5ceeba649e34a6feb3f7c",
"specRevision": null,
"provenance": {
"sourceUrl": "https://raw.githubusercontent.com/runwayml/openapi/next/openapi.json",
"sourceHash": "569985a2515541ad2d2654301b82d21986a69eb7a2de2e54836ff67e0a275165",
"fetchedAt": 1787980873,
"extractorVersion": "1",
"derivation": "upstream-spec",
"verifiedAt": null
},
"createdAt": 1787980873,
"supersededAt": null,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"title": "gen4.5",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty string up to 1000 characters (measured in UTF-16 code units). This should describe in detail what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"ratio": {
"description": "The resolution of the output video.",
"type": "string",
"enum": [
"1280:720",
"720:1280"
]
},
"duration": {
"description": "The number of seconds of duration for the output video. Must be an integer from 2 to 10.",
"type": "integer",
"minimum": 2,
"maximum": 10
},
"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
},
"contentModeration": {
"description": "Settings that affect the behavior of the content moderation system.",
"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
},
"outputFormat": {
"description": "The container/encoding of the output. `mp4` (default) returns an H.264 .mp4. `prores` returns a ProRes .mov. `png_sequence` returns a .zip of PNG frames (plus a separate .wav artifact when the output has audio). `hdr10` (HEVC Main 10, BT.2020 + PQ) and `hlg` (HEVC Main 10, BT.2020 + HLG) return true-HDR 10-bit .mp4s; `sdr_rec709_10bit` returns a 10-bit Rec.709 HEVC .mp4 for SDR grading pipelines; `hdr_pq_12bit_master` returns a 12-bit 4:4:4 BT.2020 + PQ HEVC .mov with measured HDR10 content-light metadata for mastering; `hdr_prores` returns a BT.2020 + PQ ProRes .mov editorial mezzanine, whose tier is selectable with `proresProfile` (`422`, `422 HQ`, or `4444`; defaults to `422 HQ`); `hdr_png_sequence` returns a .zip of 16-bit PNG frames carrying the PQ signal losslessly (plus a colorimetry.json sidecar and a separate .wav when the output has audio); `hdr_exr_sequence` returns a .zip of half-float OpenEXR frames carrying the HDR signal as linear BT.2020 display light, 1.0 = 100 nits (plus a colorimetry.json sidecar and a separate .wav when the output has audio). Non-mp4 formats incur an additional per-second credit surcharge: 5 credits per second for `prores` and `png_sequence`, and 20 credits per second for every 10-bit and deeper profile (including the 12-bit, 16-bit, and EXR ones), rising to 40 credits per second when the output is larger than 4 megapixels (roughly 4K).",
"type": "string",
"enum": [
"mp4",
"prores",
"png_sequence",
"hdr10",
"hlg",
"sdr_rec709_10bit",
"hdr_pq_12bit_master",
"hdr_prores",
"hdr_png_sequence",
"hdr_exr_sequence"
]
},
"proresProfile": {
"description": "The ProRes profile to use. Only valid when `outputFormat` is `prores` or `hdr_prores`. For `prores`, any profile is accepted and the default is `4444`. For `hdr_prores`, only `422`, `422 HQ` and `4444` are available and the default is `422 HQ` — `422 Proxy` and `422 LT` quantize too heavily to hold the HDR gradients, and 12-bit output is served by `hdr_pq_12bit_master` instead of `4444 XQ`.",
"type": "string",
"enum": [
"422",
"4444",
"422 Proxy",
"422 LT",
"422 HQ",
"4444 XQ"
]
},
"model": {
"type": "string",
"const": "gen4.5"
}
},
"required": [
"promptText",
"ratio",
"duration",
"model"
]
},
{
"title": "veo3.1",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty string up to 1000 characters (measured in UTF-16 code units). This should describe in detail what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"ratio": {
"description": "The resolution of the output video.",
"type": "string",
"enum": [
"1280:720",
"720:1280",
"1080:1920",
"1920:1080"
]
},
"audio": {
"description": "Whether to generate audio for the video. Audio inclusion affects pricing.",
"default": true,
"type": "boolean"
},
"negativePrompt": {
"description": "Text describing what should not appear in the output video.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "number",
"enum": [
4,
6,
8
]
},
"model": {
"type": "string",
"const": "veo3.1"
}
},
"required": [
"promptText",
"ratio",
"model"
]
},
{
"title": "veo3.1_fast",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty string up to 1000 characters (measured in UTF-16 code units). This should describe in detail what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"ratio": {
"description": "The resolution of the output video.",
"type": "string",
"enum": [
"1280:720",
"720:1280",
"1080:1920",
"1920:1080"
]
},
"audio": {
"description": "Whether to generate audio for the video. Audio inclusion affects pricing.",
"default": true,
"type": "boolean"
},
"negativePrompt": {
"description": "Text describing what should not appear in the output video.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "number",
"enum": [
4,
6,
8
]
},
"model": {
"type": "string",
"const": "veo3.1_fast"
}
},
"required": [
"promptText",
"ratio",
"model"
]
},
{
"title": "hailuo3",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty text prompt describing what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 6000
},
"resolution": {
"description": "The output resolution. MiniMax H3 supports 768P and 2K.",
"type": "string",
"enum": [
"2K",
"768P"
]
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "integer",
"minimum": 5,
"maximum": 15
},
"ratio": {
"description": "The aspect ratio of the output video. Use adaptive only when image or video references are provided; text-only requests require a concrete ratio.",
"type": "string",
"enum": [
"adaptive",
"21:9",
"16:9",
"4:3",
"1:1",
"3:4",
"9:16"
]
},
"references": {
"description": "An optional array of image references (up to 9). See [our docs](/assets/inputs#images) on image inputs for more information.",
"maxItems": 9,
"type": "array",
"items": {
"title": "PromptImage",
"x-stainless-variantName": "PromptImage",
"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
}
},
"referenceVideos": {
"description": "An optional array of video references. The combined duration across all video references must not exceed 15 seconds. See [our docs](/assets/inputs#videos) on video inputs for more information.",
"maxItems": 3,
"type": "array",
"items": {
"title": "VideoReference",
"description": "A video reference allows the model to use the video as additional context for the output.",
"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"
],
"additionalProperties": false
}
},
"referenceAudio": {
"description": "An optional array of audio references. Audio references require a text prompt, and the total combined duration must not exceed 15 seconds.",
"maxItems": 3,
"type": "array",
"items": {
"title": "AudioReference",
"description": "An audio reference allows the model to use the audio as additional context for the output.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
},
"uri": {
"description": "A HTTPS URL, Runway or data URI containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"anyOf": [
{
"description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"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:audio\\/.*"
}
]
}
},
"required": [
"type",
"uri"
],
"additionalProperties": false
}
},
"model": {
"type": "string",
"const": "hailuo3"
}
},
"required": [
"promptText",
"model"
],
"additionalProperties": false
},
{
"title": "happyhorse_1_0",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty string up to 2500 characters (measured in UTF-16 code units). This should describe in detail what should appear in the output.",
"type": "string",
"minLength": 2,
"maxLength": 2500
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "integer",
"minimum": 3,
"maximum": 15
},
"ratio": {
"description": "The resolution of the output video.",
"type": "string",
"enum": [
"1280:720",
"720:1280",
"960:960",
"1108:832",
"832:1108",
"1920:1080",
"1080:1920",
"1440:1440",
"1662:1248",
"1248:1662"
]
},
"model": {
"type": "string",
"const": "happyhorse_1_0"
}
},
"required": [
"promptText",
"model"
],
"additionalProperties": false
},
{
"title": "seedance2",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty text prompt up to 3500 characters describing what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 3500
},
"audio": {
"description": "Whether to generate audio for the video.",
"default": true,
"type": "boolean"
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "integer",
"minimum": 4,
"maximum": 15
},
"ratio": {
"description": "The resolution of the output video.",
"type": "string",
"enum": [
"992:432",
"864:496",
"752:560",
"640:640",
"560:752",
"496:864",
"1470:630",
"1280:720",
"1112:834",
"960:960",
"834:1112",
"720:1280",
"2206:946",
"1920:1080",
"1664:1248",
"1440:1440",
"1248:1664",
"1080:1920",
"3840:1646",
"3840:2160",
"3840:2880",
"3840:3840",
"2880:3840",
"2160:3840"
]
},
"references": {
"description": "An optional array of image references (up to 9). See [our docs](/assets/inputs#images) on image inputs for more information.",
"maxItems": 9,
"type": "array",
"items": {
"title": "PromptImage",
"x-stainless-variantName": "PromptImage",
"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
}
},
"referenceVideos": {
"description": "An optional array of video references. The combined duration across all video references must not exceed 15 seconds. See [our docs](/assets/inputs#videos) on video inputs for more information.",
"maxItems": 3,
"type": "array",
"items": {
"title": "VideoReference",
"description": "A video reference allows the model to use the video as additional context for the output.",
"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"
]
}
},
"referenceAudio": {
"description": "An optional array of audio references. The total combined duration must not exceed 15 seconds.",
"maxItems": 3,
"type": "array",
"items": {
"title": "AudioReference",
"description": "An audio reference allows the model to use the audio as additional context for the output.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
},
"uri": {
"description": "A HTTPS URL, Runway or data URI containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"anyOf": [
{
"description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"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:audio\\/.*"
}
]
}
},
"required": [
"type",
"uri"
]
}
},
"model": {
"type": "string",
"const": "seedance2"
}
},
"required": [
"promptText",
"model"
],
"additionalProperties": false
},
{
"title": "seedance2_fast",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty text prompt up to 3500 characters describing what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 3500
},
"audio": {
"description": "Whether to generate audio for the video.",
"default": true,
"type": "boolean"
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "integer",
"minimum": 4,
"maximum": 15
},
"ratio": {
"description": "The resolution of the output video. Seedance 2.0 Fast supports 480p and 720p only.",
"type": "string",
"enum": [
"992:432",
"864:496",
"752:560",
"640:640",
"560:752",
"496:864",
"1470:630",
"1280:720",
"1112:834",
"960:960",
"834:1112",
"720:1280"
]
},
"references": {
"description": "An optional array of image references (up to 9). See [our docs](/assets/inputs#images) on image inputs for more information.",
"maxItems": 9,
"type": "array",
"items": {
"title": "PromptImage",
"x-stainless-variantName": "PromptImage",
"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
}
},
"referenceVideos": {
"description": "An optional array of video references. The combined duration across all video references must not exceed 15 seconds. See [our docs](/assets/inputs#videos) on video inputs for more information.",
"maxItems": 3,
"type": "array",
"items": {
"title": "VideoReference",
"description": "A video reference allows the model to use the video as additional context for the output.",
"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"
]
}
},
"referenceAudio": {
"description": "An optional array of audio references. The total combined duration must not exceed 15 seconds.",
"maxItems": 3,
"type": "array",
"items": {
"title": "AudioReference",
"description": "An audio reference allows the model to use the audio as additional context for the output.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
},
"uri": {
"description": "A HTTPS URL, Runway or data URI containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"anyOf": [
{
"description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"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:audio\\/.*"
}
]
}
},
"required": [
"type",
"uri"
]
}
},
"model": {
"type": "string",
"const": "seedance2_fast"
}
},
"required": [
"promptText",
"model"
],
"additionalProperties": false
},
{
"title": "seedance2_mini",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty text prompt up to 3500 characters describing what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 3500
},
"audio": {
"description": "Whether to generate audio for the video.",
"default": true,
"type": "boolean"
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "integer",
"minimum": 4,
"maximum": 15
},
"ratio": {
"description": "The resolution of the output video. Seedance 2.0 Mini supports 480p and 720p only.",
"type": "string",
"enum": [
"992:432",
"864:496",
"752:560",
"640:640",
"560:752",
"496:864",
"1470:630",
"1280:720",
"1112:834",
"960:960",
"834:1112",
"720:1280"
]
},
"references": {
"description": "An optional array of image references (up to 9). See [our docs](/assets/inputs#images) on image inputs for more information.",
"maxItems": 9,
"type": "array",
"items": {
"title": "PromptImage",
"x-stainless-variantName": "PromptImage",
"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
}
},
"referenceVideos": {
"description": "An optional array of video references. The combined duration across all video references must not exceed 15 seconds. See [our docs](/assets/inputs#videos) on video inputs for more information.",
"maxItems": 3,
"type": "array",
"items": {
"title": "VideoReference",
"description": "A video reference allows the model to use the video as additional context for the output.",
"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"
]
}
},
"referenceAudio": {
"description": "An optional array of audio references. The total combined duration must not exceed 15 seconds.",
"maxItems": 3,
"type": "array",
"items": {
"title": "AudioReference",
"description": "An audio reference allows the model to use the audio as additional context for the output.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
},
"uri": {
"description": "A HTTPS URL, Runway or data URI containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"anyOf": [
{
"description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"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:audio\\/.*"
}
]
}
},
"required": [
"type",
"uri"
]
}
},
"model": {
"type": "string",
"const": "seedance2_mini"
}
},
"required": [
"promptText",
"model"
],
"additionalProperties": false
},
{
"title": "gemini_omni_flash",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty text prompt describing the video to generate.",
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"ratio": {
"description": "The aspect ratio of the output video: `1280:720` (landscape) or `720:1280` (portrait).",
"type": "string",
"enum": [
"1280:720",
"720:1280"
]
},
"duration": {
"description": "The duration of the output video in seconds, as a whole number from 3 to 10.",
"type": "integer",
"minimum": 3,
"maximum": 10
},
"model": {
"type": "string",
"const": "gemini_omni_flash"
}
},
"required": [
"promptText",
"model"
]
},
{
"title": "seedance2_5",
"type": "object",
"properties": {
"promptText": {
"description": "An optional text prompt up to 15000 characters describing what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 15000
},
"audio": {
"description": "Whether to generate audio for the video.",
"default": true,
"type": "boolean"
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "integer",
"minimum": 4,
"maximum": 30
},
"ratio": {
"description": "The resolution of the output video. Seedance 2.5 supports 480p, 720p, and 1080p.",
"type": "string",
"enum": [
"992:432",
"854:480",
"752:560",
"640:640",
"560:752",
"480:854",
"1470:630",
"1280:720",
"1112:834",
"960:960",
"834:1112",
"720:1280",
"2206:946",
"1920:1080",
"1664:1248",
"1440:1440",
"1248:1664",
"1080:1920"
]
},
"references": {
"description": "An optional array of image references (up to 30). See [our docs](/assets/inputs#images) on image inputs for more information.",
"maxItems": 30,
"type": "array",
"items": {
"title": "PromptImage",
"x-stainless-variantName": "PromptImage",
"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
}
},
"referenceVideos": {
"description": "An optional array of video references. The combined duration across all video references must not exceed 30 seconds. See [our docs](/assets/inputs#videos) on video inputs for more information.",
"maxItems": 10,
"type": "array",
"items": {
"title": "VideoReference",
"description": "A video reference allows the model to use the video as additional context for the output.",
"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"
]
}
},
"referenceAudio": {
"description": "An optional array of audio references. The total combined duration must be less than 30 seconds.",
"maxItems": 10,
"type": "array",
"items": {
"title": "AudioReference",
"description": "An audio reference allows the model to use the audio as additional context for the output.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
},
"uri": {
"description": "A HTTPS URL, Runway or data URI containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"anyOf": [
{
"description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"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:audio\\/.*"
}
]
}
},
"required": [
"type",
"uri"
]
}
},
"model": {
"type": "string",
"const": "seedance2_5"
}
},
"required": [
"model"
],
"additionalProperties": false
},
{
"title": "grok_imagine_1_5",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty text prompt describing what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 2500
},
"resolution": {
"description": "The output resolution. Requests with image references are capped at 720p.",
"type": "string",
"enum": [
"480p",
"720p",
"1080p"
]
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "integer",
"minimum": 1,
"maximum": 15
},
"ratio": {
"description": "The aspect ratio of the output video.",
"type": "string",
"enum": [
"1:1",
"16:9",
"9:16",
"4:3",
"3:4",
"3:2",
"2:3"
]
},
"references": {
"description": "An optional array of image references. Referenced images can be addressed in the prompt as [Image 1], [Image 2], and so on. See [our docs](/assets/inputs#images) on image inputs for more information.",
"maxItems": 7,
"type": "array",
"items": {
"title": "PromptImage",
"x-stainless-variantName": "PromptImage",
"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
}
},
"referenceAudio": {
"description": "An optional array of audio references. Audio references require at least one image reference, and each clip must be between 3 and 15 seconds.",
"maxItems": 3,
"type": "array",
"items": {
"title": "AudioReference",
"description": "An audio reference allows the model to drive the output with the supplied audio.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
},
"uri": {
"description": "A HTTPS URL, Runway or data URI containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"anyOf": [
{
"description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"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:audio\\/.*"
}
]
}
},
"required": [
"type",
"uri"
],
"additionalProperties": false
}
},
"model": {
"type": "string",
"const": "grok_imagine_1_5"
}
},
"required": [
"promptText",
"model"
],
"additionalProperties": false
},
{
"title": "wan3",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty text prompt describing what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 20000
},
"audio": {
"description": "Whether to generate audio with the video.",
"type": "boolean"
},
"duration": {
"description": "The number of seconds of duration for the output video.",
"type": "integer",
"minimum": 2,
"maximum": 30
},
"ratio": {
"description": "The resolution of the output video, as `<width>:<height>`. Use `auto_480p`, `auto_720p`, or `auto_1080p` to let the model pick framing at that quality tier.",
"type": "string",
"enum": [
"832:480",
"640:480",
"480:480",
"480:640",
"480:832",
"1280:720",
"960:720",
"720:720",
"720:960",
"720:1280",
"1920:1080",
"1440:1080",
"1080:1080",
"1080:1440",
"1080:1920",
"auto_480p",
"auto_720p",
"auto_1080p"
]
},
"references": {
"description": "An optional array of image references (up to 10). See [our docs](/assets/inputs#images) on image inputs for more information.",
"maxItems": 10,
"type": "array",
"items": {
"title": "PromptImage",
"x-stainless-variantName": "PromptImage",
"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, up to 5MB.",
"example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"type": "string",
"minLength": 13,
"maxLength": 5242880,
"pattern": "^data:image\\/.*"
}
]
}
},
"required": [
"uri"
],
"additionalProperties": false
}
},
"referenceVideos": {
"description": "An optional array of video references. The combined duration across all video references must not exceed 15 seconds. See [our docs](/assets/inputs#videos) on video inputs for more information.",
"maxItems": 5,
"type": "array",
"items": {
"title": "VideoReference",
"description": "A video reference allows the model to use the video as additional context for the output.",
"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 5MB) 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, up to 5MB.",
"example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"type": "string",
"minLength": 13,
"maxLength": 5242880,
"pattern": "^data:video\\/.*"
}
]
}
},
"required": [
"type",
"uri"
],
"additionalProperties": false
}
},
"referenceAudio": {
"description": "An optional array of audio references. The total combined duration must not exceed 15 seconds.",
"maxItems": 5,
"type": "array",
"items": {
"title": "AudioReference",
"description": "An audio reference allows the model to use the audio as additional context for the output.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
},
"uri": {
"description": "A HTTPS URL, Runway or data URI containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"anyOf": [
{
"description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:audio/mp3;base64,...`, up to 5MB) containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"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, up to 5MB.",
"example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"type": "string",
"minLength": 13,
"maxLength": 5242880,
"pattern": "^data:audio\\/.*"
}
]
}
},
"required": [
"type",
"uri"
],
"additionalProperties": false
}
},
"model": {
"type": "string",
"const": "wan3"
}
},
"required": [
"promptText",
"model"
],
"additionalProperties": false
}
],
"discriminator": {
"propertyName": "model"
}
}
}Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"runway","endpointId":"v1/text_to_video","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}