Skip to main content
POST
/
video
/
queue
/api/v1/video/queue
curl --request POST \
  --url https://api.venice.ai/api/v1/video/queue \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "wan-2-7-text-to-video",
  "prompt": "Commerce being conducted in the city of Venice, Italy.",
  "duration": "5s",
  "negative_prompt": "low resolution, error, worst quality, low quality, defects",
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "upscale_factor": 2,
  "audio": true,
  "image_url": "data:image/png;base64,iVBORw0K...",
  "end_image_url": "data:image/png;base64,iVBORw0K...",
  "audio_url": "data:audio/mpeg;base64,SUQzBAA...",
  "video_url": "data:video/mp4;base64,AAAAFGZ0eXA...",
  "reference_image_urls": [
    "data:image/png;base64,iVBORw0K..."
  ],
  "elements": [
    {
      "frontal_image_url": "data:image/png;base64,iVBORw0K...",
      "reference_image_urls": [
        "data:image/png;base64,iVBORw0K..."
      ]
    }
  ],
  "scene_image_urls": [
    "data:image/png;base64,iVBORw0K..."
  ]
}
'
{
  "model": "video-model-123",
  "queue_id": "123e4567-e89b-12d3-a456-426614174000"
}
Call /video/quote to get a price estimate, then poll /video/retrieve with the returned queue_id until complete.

Video upscaling

For the topaz-video-upscale model, use upscale_factor (1, 2, or 4) instead of resolution, and provide a video_url. Duration and FPS are detected automatically from the video file. See the Video Upscaling Guide for full details and examples.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request body for video generation. Available fields and valid values vary by model.

model
string
required

The model to use for video generation.

Example:

"wan-2-7-text-to-video"

prompt
string
required

The prompt to use for video generation. Required for most models. The maximum length varies by model (default 2500 characters, up to 3500 for some models such as Seedance 2.0).

Required string length: 1 - 3500
Example:

"Commerce being conducted in the city of Venice, Italy."

duration
enum<string>
required

The duration of the video to generate. Available options vary by model.

Available options:
2s,
3s,
4s,
5s,
6s,
7s,
8s,
9s,
10s,
11s,
12s,
13s,
14s,
15s,
16s,
18s,
20s,
25s,
30s,
Auto
Example:

"5s"

negative_prompt
string

Optional negative prompt. The maximum length varies by model (default 2500 characters, up to 3500 for some models).

Maximum string length: 3500
Example:

"low resolution, error, worst quality, low quality, defects"

aspect_ratio
enum<string>

The aspect ratio of the video. Available options vary by model. Some models do not support aspect_ratio.

Available options:
1:1,
2:3,
3:2,
3:4,
4:3,
9:16,
16:9,
21:9
Example:

"16:9"

resolution
enum<string>

The resolution of the video. Available options vary by model. Some models do not support resolution. Use upscale_factor for upscale models.

Available options:
256p,
360p,
480p,
540p,
580p,
720p,
1080p,
1440p,
2160p,
4k,
2x,
4x
Example:

"720p"

upscale_factor
enum<integer>
default:2

For upscale models only. 1 = quality enhancement, 2 = double resolution (default), 4 = quadruple.

Available options:
1,
2,
4
Example:

2

audio
boolean
default:true

For models which support audio generation and configuration. Defaults to true.

Example:

true

image_url
string

For image-to-video models, the reference image. Must be a URL (http/https) or a data URL (data:image/...).

Example:

"data:image/png;base64,iVBORw0K..."

end_image_url
string

For models that support end images or transitions, the end frame image. Must be a URL or data URL.

Example:

"data:image/png;base64,iVBORw0K..."

audio_url
string

For models that support audio input, background music. Must be a URL or data URL. Supported: WAV, MP3. Max: 30s, 15MB.

Example:

"data:audio/mpeg;base64,SUQzBAA..."

video_url
string

For models that support video input (video-to-video, upscale). Must be a URL or data URL. Supported: MP4, MOV, WebM.

Example:

"data:video/mp4;base64,AAAAFGZ0eXA..."

reference_image_urls
string[]

For models with reference image support, up to 9 images for character/style consistency. Each must be a URL or data URL.

Maximum array length: 9
Example:
["data:image/png;base64,iVBORw0K..."]
elements
object[]

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.

Maximum array length: 4
Example:
[
{
"frontal_image_url": "data:image/png;base64,iVBORw0K...",
"reference_image_urls": ["data:image/png;base64,iVBORw0K..."]
}
]
scene_image_urls
string[]

For models with advanced element support. Up to 4 scene reference images. Reference in prompt as @Image1, @Image2, etc.

Maximum array length: 4
Example:
["data:image/png;base64,iVBORw0K..."]

Response

Video generation request queued successfully

model
string
required

The ID of the model used for video generation.

Example:

"video-model-123"

queue_id
string
required

The ID of the video generation request.

Example:

"123e4567-e89b-12d3-a456-426614174000"