Venice.ai · Schema
QueueVideoRequest
Request body for video generation. Available fields and valid values vary by model.
CompanyArtificial IntelligenceLLMImage GenerationVideo GenerationText-to-SpeechEmbeddingsPrivacyOpenAI-Compatiblex402
Properties
| Name | Type | Description |
|---|---|---|
| model | string | The model to use for video generation. |
| consents | object | Optional provider-specific consent attestations. Required only for models that return a needs_consent response. |
| prompt | string | The prompt to use for video generation. Required for most models; optional for H3 Max Multi-Angle. The maximum length varies by model (default 2500 characters, up to 20000 for some models). |
| negative_prompt | string | Optional negative prompt. The maximum length varies by model (default 2500 characters, up to 20000 for some models). |
| duration | string | The duration of the video to generate. Available options vary by model. For Seedance 2.5 reference-to-video edit jobs, `-1` or `auto` matches output length to the source clip (requires reference_video |
| aspect_ratio | string | The aspect ratio of the video. Available options vary by model. Some models do not support aspect_ratio. For Seedance 2.x reference-to-video edit/extend, `adaptive` or `auto` matches output aspect rat |
| omni_reference_task_type | string | Optional Seedance 2.5 reference-to-video task-type hint forwarded to BytePlus (`auto` | `reference` | `edit` | `extend`). Aliases `editing`→`edit` and `extension`→`extend` are accepted on the queue AP |
| resolution | string | The resolution of the video. Available options vary by model. Some models do not support resolution. Use upscale_factor for upscale models. |
| upscale_factor | integer | For upscale models only. 1 = quality enhancement, 2 = double resolution (default), 4 = quadruple. |
| enhancement_model | string | For enhancement models only. The provider-side enhancement model. Available values are listed per model in GET /models constraints.topaz.models. |
| target_fps | integer | For enhancement models only. Target FPS for frame interpolation (16-120). Doubles the price on upscaling endpoints when ≥48; scales linearly on interpolation. Omit to keep the source frame rate. |
| softness | number | For enhancement models only. Softness level (1-5, sharpest to softest). |
| creativity | number | For enhancement models only. How much new detail the model invents (0.0-1.0). |
| realism | number | For enhancement models only. Bias generated detail toward photorealism (0.0-1.0). |
| sharp | number | For enhancement models only. Output sharpness (0.0 softens, 0.5 neutral, 1.0 strong). |
| compression | number | For enhancement models only. Compression artifact removal level (0.0-1.0). |
| noise | number | For enhancement models only. Noise reduction level (0.0-1.0). |
| halo | number | For enhancement models only. Halo reduction level (0.0-1.0). |
| grain | number | For enhancement models only. Film grain amount (0.0-0.1). |
| recover_detail | number | For enhancement models only. Recover original detail level (0.0-1.0). |
| h264_output | boolean | For enhancement models only. Output H.264 instead of the default H.265. |
| output_format | string | For enhancement models only (SDR-to-HDR). Output container: mp4 (10-bit H265 HDR10) or prores (10-bit ProRes). |
| slowdown_factor | integer | For enhancement models only (frame interpolation). Slow-motion factor: 2 makes the output twice as long at the target FPS, up to 8x. Multiplies the billed duration. |
| audio | boolean | For models which support audio generation and configuration. Defaults to true. |
| camera_trajectory | array | For H3 Max Multi-Angle only. 2–12 camera keyframes with strictly increasing normalized time (0–1), azimuth in degrees (signed; total absolute travel at most 32 turns), elevation in degrees (−90 to 90) |
| image_url | string | For image-to-video models, the reference image. Must be a URL (http/https) or a data URL (data:image/...). |
| end_image_url | string | For models that support end images or transitions, the end frame image. Must be a URL or data URL. |
| image_strength | number | How strongly the input image guides an image-to-video generation, from 0 to 1. Supported on models that declare image strength. Omitted values use the provider default (1). Does not change the quoted |
| audio_url | string | For models that support audio input, background music. Must be a URL or data URL. Supported: WAV, MP3. Max: 30s, 15MB. |
| video_url | string | For models that support video input (video-to-video, upscale). Must be a URL or data URL. Supported: MP4, MOV, WebM. |
| reference_image_urls | array | For models with reference image support, up to 30 images for character/style consistency. Each must be a URL or data URL. |
| reference_video_urls | array | For models with reference video support (e.g. Seedance 2.0 R2V), up to 10 reference video URLs (`role: "reference_video"`) used to inherit subject motion, camera movement, and overall style. Per-clip |
| reference_audio_urls | array | For models with reference audio support (e.g. Seedance 2.0 R2V), up to 10 reference audio URLs (`role: "reference_audio"`) used as donors for vocal timbre, narration, or sound effects. Per-clip 2–15 s |
| reference_document_urls | array | For models with document / webpage Omni-Reference (Wan 3.0), up to 1 URL. Document files and public webpage URLs are fetched by Venice and forwarded as `type: "file"` (≤100 MB). Each must be a URL or |
| elements | array | For models with advanced element support (e.g., Kling O3 R2V). Up to 4 elements defining characters/objects. Reference in prompt as @Element1, @Element2, etc. |
| scene_image_urls | array | For models with advanced element support. Up to 4 scene reference images. Reference in prompt as @Image1, @Image2, etc. |
| keyframes | array | For keyframe-driven models. Up to 10 keyframe images pinned to frame positions in the generated 24 fps video. Each frame_index must be unique and no greater than duration × 24. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/venice-ai/main/json-schema/venice-ai-queue-video-request-schema.json",
"title": "QueueVideoRequest",
"description": "Request body for video generation. Available fields and valid values vary by model.",
"x-generated": "2026-10-13",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/venice-ai-openapi.yml#/components/schemas/QueueVideoRequest",
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "The model to use for video generation."
},
"consents": {
"type": "object",
"properties": {
"seedance": {
"type": "object",
"properties": {
"confirmed_terms_and_privacy": {
"type": "boolean",
"enum": [
true
],
"description": "Confirms acceptance of the current provider policy text returned in the needs_consent response."
},
"confirmed_legal_right": {
"type": "boolean",
"enum": [
true
],
"description": "Confirms the API user has the legal right to use the submitted media."
},
"confirmed_screening_acknowledged": {
"type": "boolean",
"enum": [
true
],
"description": "Acknowledges that submitted media may be screened before processing."
}
},
"required": [
"confirmed_terms_and_privacy",
"confirmed_legal_right",
"confirmed_screening_acknowledged"
]
}
},
"description": "Optional provider-specific consent attestations. Required only for models that return a needs_consent response."
},
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"description": "The prompt to use for video generation. Required for most models; optional for H3 Max Multi-Angle. The maximum length varies by model (default 2500 characters, up to 20000 for some models)."
},
"negative_prompt": {
"type": "string",
"maxLength": 20000,
"description": "Optional negative prompt. The maximum length varies by model (default 2500 characters, up to 20000 for some models)."
},
"duration": {
"type": "string",
"enum": [
"1s",
"2s",
"3s",
"4s",
"5s",
"6s",
"7s",
"8s",
"9s",
"10s",
"11s",
"12s",
"13s",
"14s",
"15s",
"16s",
"17s",
"18s",
"19s",
"20s",
"21s",
"22s",
"23s",
"24s",
"25s",
"26s",
"27s",
"28s",
"29s",
"30s",
"-1",
"1 gen",
"auto",
"Auto"
],
"description": "The duration of the video to generate. Available options vary by model. For Seedance 2.5 reference-to-video edit jobs, `-1` or `auto` matches output length to the source clip (requires reference_video_urls on queue, or reference_video_total_duration on quote; source must be 4–30s)."
},
"aspect_ratio": {
"type": "string",
"enum": [
61,
123,
182,
184,
243,
245,
304,
556,
561,
969,
1269,
"adaptive",
"auto"
],
"description": "The aspect ratio of the video. Available options vary by model. Some models do not support aspect_ratio. For Seedance 2.x reference-to-video edit/extend, `adaptive` or `auto` matches output aspect ratio to the source clip (requires reference_video_urls on queue, or reference_video_total_duration on quote)."
},
"omni_reference_task_type": {
"type": "string",
"enum": [
"auto",
"reference",
"edit",
"extend"
],
"description": "Optional Seedance 2.5 reference-to-video task-type hint forwarded to BytePlus (`auto` | `reference` | `edit` | `extend`). Aliases `editing`→`edit` and `extension`→`extend` are accepted on the queue API. Pre-guides classification to reduce async TaskTypeConstraint errors. The prompt must still match the chosen type. When omitted, Venice infers from the prompt if reference_video_urls are present. Not supported on other models."
},
"resolution": {
"type": "string",
"enum": [
"256p",
"360p",
"480p",
"540p",
"580p",
"720p",
"1080p",
"1440p",
"2160p",
"2k",
"4k",
"1x",
"2x",
"4x",
"2K",
"480P",
"768P",
"1080P",
"true_1080p"
],
"description": "The resolution of the video. Available options vary by model. Some models do not support resolution. Use upscale_factor for upscale models."
},
"upscale_factor": {
"type": "integer",
"description": "For upscale models only. 1 = quality enhancement, 2 = double resolution (default), 4 = quadruple.",
"enum": [
1,
2,
4
],
"default": 2
},
"enhancement_model": {
"type": "string",
"description": "For enhancement models only. The provider-side enhancement model. Available values are listed per model in GET /models constraints.topaz.models."
},
"target_fps": {
"type": "integer",
"description": "For enhancement models only. Target FPS for frame interpolation (16-120). Doubles the price on upscaling endpoints when ≥48; scales linearly on interpolation. Omit to keep the source frame rate."
},
"softness": {
"type": "number",
"minimum": 1,
"maximum": 5,
"description": "For enhancement models only. Softness level (1-5, sharpest to softest)."
},
"creativity": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "For enhancement models only. How much new detail the model invents (0.0-1.0)."
},
"realism": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "For enhancement models only. Bias generated detail toward photorealism (0.0-1.0)."
},
"sharp": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "For enhancement models only. Output sharpness (0.0 softens, 0.5 neutral, 1.0 strong)."
},
"compression": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "For enhancement models only. Compression artifact removal level (0.0-1.0)."
},
"noise": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "For enhancement models only. Noise reduction level (0.0-1.0)."
},
"halo": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "For enhancement models only. Halo reduction level (0.0-1.0)."
},
"grain": {
"type": "number",
"minimum": 0,
"maximum": 0.1,
"description": "For enhancement models only. Film grain amount (0.0-0.1)."
},
"recover_detail": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "For enhancement models only. Recover original detail level (0.0-1.0)."
},
"h264_output": {
"type": "boolean",
"description": "For enhancement models only. Output H.264 instead of the default H.265."
},
"output_format": {
"type": "string",
"enum": [
"mp4",
"prores"
],
"description": "For enhancement models only (SDR-to-HDR). Output container: mp4 (10-bit H265 HDR10) or prores (10-bit ProRes)."
},
"slowdown_factor": {
"type": "integer",
"description": "For enhancement models only (frame interpolation). Slow-motion factor: 2 makes the output twice as long at the target FPS, up to 8x. Multiplies the billed duration.",
"enum": [
1,
2,
4,
8
]
},
"audio": {
"type": "boolean",
"default": true,
"description": "For models which support audio generation and configuration. Defaults to true."
},
"camera_trajectory": {
"type": "array",
"items": {
"type": "object",
"properties": {
"time": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"azimuth": {
"type": "number"
},
"elevation": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"distance": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true
}
},
"required": [
"time",
"azimuth",
"elevation",
"distance"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 12,
"description": "For H3 Max Multi-Angle only. 2–12 camera keyframes with strictly increasing normalized time (0–1), azimuth in degrees (signed; total absolute travel at most 32 turns), elevation in degrees (−90 to 90), and positive distance relative to the initial camera (1 = unchanged). Omit to leave the camera path to the model. Requires image_url; aspect ratio follows that image."
},
"image_url": {
"type": "string",
"description": "For image-to-video models, the reference image. Must be a URL (http/https) or a data URL (data:image/...)."
},
"end_image_url": {
"type": "string",
"description": "For models that support end images or transitions, the end frame image. Must be a URL or data URL."
},
"image_strength": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "How strongly the input image guides an image-to-video generation, from 0 to 1. Supported on models that declare image strength. Omitted values use the provider default (1). Does not change the quoted price."
},
"audio_url": {
"type": "string",
"description": "For models that support audio input, background music. Must be a URL or data URL. Supported: WAV, MP3. Max: 30s, 15MB."
},
"video_url": {
"type": "string",
"description": "For models that support video input (video-to-video, upscale). Must be a URL or data URL. Supported: MP4, MOV, WebM."
},
"reference_image_urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 30,
"description": "For models with reference image support, up to 30 images for character/style consistency. Each must be a URL or data URL."
},
"reference_video_urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "For models with reference video support (e.g. Seedance 2.0 R2V), up to 10 reference video URLs (`role: \"reference_video\"`) used to inherit subject motion, camera movement, and overall style. Per-clip 2–15 s, .mp4 or .mov, ≤50 MB; aggregate duration ≤15 s. Each must be a URL or data URL."
},
"reference_audio_urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "For models with reference audio support (e.g. Seedance 2.0 R2V), up to 10 reference audio URLs (`role: \"reference_audio\"`) used as donors for vocal timbre, narration, or sound effects. Per-clip 2–15 s, .wav or .mp3; aggregate duration ≤15 s. Must be paired with at least one reference image or reference video — audio-only Reference workflows are rejected at validation. Each must be a URL or data URL."
},
"reference_document_urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1,
"description": "For models with document / webpage Omni-Reference (Wan 3.0), up to 1 URL. Document files and public webpage URLs are fetched by Venice and forwarded as `type: \"file\"` (≤100 MB). Each must be a URL or data URL."
},
"elements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"frontal_image_url": {
"type": "string"
},
"reference_image_urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 3
},
"video_url": {
"type": "string"
}
}
},
"maxItems": 4,
"description": "For models with advanced element support (e.g., Kling O3 R2V). Up to 4 elements defining characters/objects. Reference in prompt as @Element1, @Element2, etc."
},
"scene_image_urls": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 4,
"description": "For models with advanced element support. Up to 4 scene reference images. Reference in prompt as @Image1, @Image2, etc."
},
"keyframes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"image_url": {
"type": "string"
},
"frame_index": {
"type": "integer",
"minimum": 0
}
},
"required": [
"image_url",
"frame_index"
]
},
"maxItems": 10,
"description": "For keyframe-driven models. Up to 10 keyframe images pinned to frame positions in the generated 24 fps video. Each frame_index must be unique and no greater than duration × 24."
}
},
"required": [
"model",
"duration"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/venice-ai-queue-video-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.