Skip to main content
POST
/api/v1/video/queue
Call /video/quote to get a price estimate, then poll /video/retrieve with the returned queue_id until complete. Private models also return a download_url for the finished video. It is a short-lived delivery URL (a few retries are fine if a download drops); see the Video Generation guide for details and optional DELETE for privacy.

Seedance 2.0 & 2.5

For seedance-2-0-*-basic and seedance-2-5-*-basic models (text-to-video, image-to-video, reference-to-video, plus the Seedance 2.0 -fast-* variants), see the Seedance 2.0 & 2.5 Guide for the four-workflow model (Reference / Edit / Extend / Stitch), source-matched aspect_ratio / duration values, user-settable bitrate_mode, family-specific multimodal limits, public API media policy, and pricing details.

Public Seedance media policy

Public Seedance models do not use consent attestation (consents.seedance / needs_consent). Media with detectable persons may be rejected upstream. Use the Venice app or Studio for the full Seedance feature set. See the Seedance guide for details.

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:

"seedance-2-0-text-to-video-basic"

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 20000 for some models).

Required string length: 1 - 20000
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. 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).

Available options:
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
Example:

"10s"

consents
object

Optional provider-specific consent attestations. Required only for models that return a needs_consent response.

negative_prompt
string

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

Maximum string length: 20000
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. 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).

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

"16:9"

omni_reference_task_type
enum<string>

Optional Seedance 2.5 reference-to-video task-type hint forwarded to BytePlus (auto | reference | edit | extend). Aliases editingedit and extensionextend 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.

Available options:
auto,
reference,
edit,
extend
Example:

"edit"

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,
1x,
2x,
4x,
2K,
768P,
true_1080p
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

enhancement_model
string

For enhancement models only. The provider-side enhancement model. Available values are listed per model in GET /models constraints.topaz.models.

Example:

"Proteus"

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.

Example:

60

softness
number

For enhancement models only. Softness level (1-5, sharpest to softest).

Required range: 1 <= x <= 5
Example:

3

creativity
number

For enhancement models only. How much new detail the model invents (0.0-1.0).

Required range: 0 <= x <= 1
Example:

0.5

realism
number

For enhancement models only. Bias generated detail toward photorealism (0.0-1.0).

Required range: 0 <= x <= 1
Example:

0.5

sharp
number

For enhancement models only. Output sharpness (0.0 softens, 0.5 neutral, 1.0 strong).

Required range: 0 <= x <= 1
Example:

0.5

compression
number

For enhancement models only. Compression artifact removal level (0.0-1.0).

Required range: 0 <= x <= 1
Example:

0.5

noise
number

For enhancement models only. Noise reduction level (0.0-1.0).

Required range: 0 <= x <= 1
Example:

0.5

halo
number

For enhancement models only. Halo reduction level (0.0-1.0).

Required range: 0 <= x <= 1
Example:

0.5

grain
number

For enhancement models only. Film grain amount (0.0-0.1).

Required range: 0 <= x <= 0.1
Example:

0

recover_detail
number

For enhancement models only. Recover original detail level (0.0-1.0).

Required range: 0 <= x <= 1
Example:

0.5

h264_output
boolean

For enhancement models only. Output H.264 instead of the default H.265.

Example:

false

output_format
enum<string>

For enhancement models only (SDR-to-HDR). Output container: mp4 (10-bit H265 HDR10) or prores (10-bit ProRes).

Available options:
mp4,
prores
Example:

"mp4"

slowdown_factor
enum<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.

Available options:
1,
2,
4,
8
Example:

1

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 30 images for character/style consistency. Each must be a URL or data URL.

Maximum array length: 30
Example:
reference_video_urls
string[]

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.

Maximum array length: 10
Example:
reference_audio_urls
string[]

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.

Maximum array length: 10
Example:
reference_document_urls
string[]

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.

Maximum array length: 1
Example:
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:
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:
keyframes
object[]

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.

Maximum array length: 10
Example:

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"

download_url
string

Pre-signed URL to download the completed video. Only present for VPS-backed models. When provided, the retrieve endpoint returns JSON status only (no video stream). Fetch this URL after status is COMPLETED to get the video/mp4 file. Valid for 24 hours.