Models Hub
API ReferenceSeedance 2.x

Generic Video Format

Call Seedance 2.0 via /v1/video/generations and let modelsok convert it to the official content format.

Edit this page

/v1/video/generations is modelsok's generic video task endpoint. When using Seedance 2.0 models, you can express the text, image, video, and audio assets of the official content[] with prompt, image, images, metadata.video_url, and metadata.audio_url; the system converts the request into the official Seedance 2.0 /api/v3/contents/generations/tasks format.

Endpoints

OperationEndpoint
Create taskPOST /v1/video/generations
Query taskGET /v1/video/generations/{task_id}
Upload assetPOST /api/assets/upload

Field mapping

Generic fieldSeedance 2.0 official field
promptcontent[] with type: "text"
image or images[]content[] with type: "image_url", role: "reference_image"
metadata.video_urlcontent[] with type: "video_url", role: "reference_video"
metadata.audio_urlcontent[] with type: "audio_url", role: "reference_audio"
sizeresolution, e.g. 480p, 720p, 1080p
duration or secondsduration in seconds, supports 4 to 15
metadata.ratioratio, e.g. 16:9, 9:16, 3:4, 1:1, 4:3
metadata.generate_audiogenerate_audio
metadata.watermarkwatermark

Seven generic call modes

Text to video

curl -X POST "$MODELSOK_BASE_URL/v1/video/generations" \
  -H "Authorization: Bearer $MODELSOK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "A golden Shiba Inu running under cherry blossoms, camera slowly rising",
    "duration": 5,
    "size": "480p",
    "metadata": {
      "ratio": "16:9",
      "generate_audio": true,
      "watermark": false
    }
  }'

Image to video

{
  "model": "doubao-seedance-2-0-fast-260128",
  "prompt": "Have the person in the frame slowly turn around and smile",
  "image": "https://example.com/photo.jpg",
  "duration": 5,
  "size": "720p",
  "metadata": {
    "ratio": "16:9",
    "generate_audio": true,
    "watermark": false
  }
}

Video to video

{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "Turn the person in the video into a cartoon style",
  "duration": 5,
  "size": "480p",
  "metadata": {
    "ratio": "16:9",
    "video_url": "https://example.com/reference-video.mp4",
    "generate_audio": true,
    "watermark": false
  }
}

Audio-visual sync

{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "Make the character speak according to the audio",
  "image": "https://example.com/reference-image.jpg",
  "duration": 5,
  "size": "480p",
  "metadata": {
    "ratio": "16:9",
    "audio_url": "https://example.com/reference-audio.mp3",
    "watermark": false
  }
}

Multiple references

{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "Restyle this video to match the image's style",
  "image": "https://example.com/reference-image.jpg",
  "duration": 5,
  "size": "480p",
  "metadata": {
    "ratio": "16:9",
    "video_url": "https://example.com/reference-video.mp4",
    "watermark": false
  }
}

Dynamic sound effects

{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "Add sound effects to the video that match the audio",
  "duration": 5,
  "size": "480p",
  "metadata": {
    "ratio": "16:9",
    "video_url": "https://example.com/reference-video.mp4",
    "audio_url": "https://example.com/reference-audio.mp3",
    "watermark": false
  }
}

Full multimodal generation

{
  "model": "doubao-seedance-2-0-fast-260128",
  "prompt": "Apply the image's style and this voice to the scene where the lead speaks, and edit the video",
  "image": "https://example.com/reference-image.jpg",
  "duration": 5,
  "size": "720p",
  "metadata": {
    "ratio": "16:9",
    "video_url": "https://example.com/reference-video.mp4",
    "audio_url": "https://example.com/reference-audio.mp3",
    "generate_audio": true,
    "watermark": false
  }
}

Query the task

After the task is created, save the returned id or task_id and poll at a fixed interval:

curl "$MODELSOK_BASE_URL/v1/video/generations/task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6" \
  -H "Authorization: Bearer $MODELSOK_API_KEY"

On success, the generic response returns the task status and video URL:

{
  "id": "task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6",
  "task_id": "task_UPUfjg0S3UXekH2OgTZBXyqgGhsxgkp6",
  "object": "video.generation",
  "status": "succeeded",
  "model": "doubao-seedance-2-0-260128",
  "metadata": {
    "url": "https://example.com/doubao-seedance-2-0/result.mp4"
  }
}

Video generation is an asynchronous task; poll every 10 seconds. Reference videos must be publicly accessible URLs (no Base64); images support public URLs, and smaller images may use a Base64 Data URL. Video URLs are usually time-limited, so download or re-store them to your own object storage promptly.

If reference images, videos, or audio need to be reused, upload them via /api/assets/upload first, then place the returned asset://<asset_id> into image, metadata.video_url, or metadata.audio_url — see Asset upload & management.

On this page