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.
View JSON Schema on GitHub

JSON Schema

venice-ai-queue-video-request-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.