POST /video/v1/generations uses a unified request structure. See each driver page for supported parameters.

Unified request parameters

ParameterTypeRequiredDescription
modelstringYesModel name, e.g. doubao-seedance-1-0-pro-250528, wan2.1-t2v-turbo
promptstringYesText prompt
imagestring | string[] | VideoURL | VideoURL[]NoReference image(s); string = image URL
videostring | string[] | VideoURL | VideoURL[]NoReference video(s); Seedance billing checks this field to determine the modality_tokens price tier
audiostring | string[] | VideoURL | VideoURL[]NoReference audio
ratiostringNoAspect ratio: 16:9, 9:16, 1:1
resolutionstringNoOutput resolution: 480p, 720p, 1080p, 4k
upstream_optionsobjectNoProvider-specific parameters
headersobjectNoCustom HTTP headers

VideoURL structure

{
  "type": "reference_video",
  "url": "https://example.com/reference.mp4"
}
FieldTypeRequiredDescription
typestringYesMedia type or role. Semantics vary by driver (see driver pages)
urlstringYesMedia URL

headers structure

{
  "headers": {
    "x-trace-id": "trace-9c1ab",
    "x-user-id": "u_42",
    "x-agent-name": "video-agent"
  }
}

These fields are recorded in task and usage logs for diagnostics and attribution.

Body size limit

The request body is capped at 50 MB.

Multi-modal input

When you pass an array for image, video, or audio, each entry is expanded into the upstream format individually. When you pass a string, it is treated as a URL. When you pass a VideoURL object, the type field determines the media role (e.g. first_frame, reference_video, reference_audio).

See the Seedance and Bailian pages for driver-specific media mappings.