Generic Video Format
Call Seedance 2.0 via /v1/video/generations and let modelsok convert it to the official content format.
/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
| Operation | Endpoint |
|---|---|
| Create task | POST /v1/video/generations |
| Query task | GET /v1/video/generations/{task_id} |
| Upload asset | POST /api/assets/upload |
Field mapping
| Generic field | Seedance 2.0 official field |
|---|---|
prompt | content[] with type: "text" |
image or images[] | content[] with type: "image_url", role: "reference_image" |
metadata.video_url | content[] with type: "video_url", role: "reference_video" |
metadata.audio_url | content[] with type: "audio_url", role: "reference_audio" |
size | resolution, e.g. 480p, 720p, 1080p |
duration or seconds | duration in seconds, supports 4 to 15 |
metadata.ratio | ratio, e.g. 16:9, 9:16, 3:4, 1:1, 4:3 |
metadata.generate_audio | generate_audio |
metadata.watermark | watermark |
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.