Skip to main content

Seedance

Seedance is ByteDance / Doubao’s video generation family. On Crazyrouter, the public contract stays on the native /volc/v1/* surface. The old unified-video seedance-lite alias is no longer the primary customer-facing protocol.

Current Public Models

ModelCurrent public positioning
doubao-seedance-1-0-lite-t2v-250428text-to-video
doubao-seedance-1-0-lite-i2v-250428single-image image-to-video
doubao-seedance-1-0-pro-250528general higher-quality generation
doubao-seedance-1-0-pro-fast-251015general faster generation
doubao-seedance-1-5-pro-251215higher-end version with room for later official capability expansion
doubao-seedance-2-0-260128official Seedance 2.0 multimodal video generation
doubao-seedance-2-0-fast-260128official Seedance 2.0 Fast multimodal video generation

Submit a Video Task

POST /volc/v1/contents/generations/tasks

Current Public Request Parameters

ParameterTypeRequiredDescription
modelstringYesPublic model name. Use one of the canonical model names above
contentarrayYesInput content array
content[].typestringYesSupported values are text, image_url, video_url, audio_url, and draft_task
content[].textstringConditionallyRequired when type=text
content[].image_url.urlstringConditionallyRequired when type=image_url
content[].video_url.urlstringConditionallyRequired when type=video_url
content[].audio_url.urlstringConditionallyRequired when type=audio_url
content[].rolestringOptionalSeedance 2.0 supports first_frame, last_frame, reference_image, reference_video, and reference_audio
generate_audiobooleanOptionalWhether to generate audio on Seedance 2.0
ratiostringOptionalOutput aspect ratio such as 16:9
resolutionstringOptionalSeedance 2.0 / 2.0 fast currently supports only 480p and 720p
durationintegerOptionalSeedance 2.0 / 2.0 fast supports 4-15 or -1
watermarkbooleanOptionalWhether to add watermark
seedintegerOptionalRandom seed

Seedance 2.0 Official Capability Boundary

  • Supports four input modalities: text, image, video, and audio.
  • Supports multimodal references: up to 9 images, 3 videos, and 3 audios, with a mixed file limit of 12.
  • Image formats: jpeg, png, webp, bmp, tiff, gif; each image must stay under 30MB.
  • Video formats: mp4, mov; up to 3 video references, recommended combined duration in [2, 15]s, total file size under 50MB.
  • Audio formats: mp3, wav; up to 3 audio references, combined duration <= 15s, total file size under 15MB.
  • Audio cannot be provided alone. At least 1 image or video reference is required with it.
  • Output duration supports 4-15s, and -1 can be passed through to let the upstream use its default behavior.
  • Supports 480p and 720p; 1080p is currently unsupported on Seedance 2.0 / 2.0 fast.
  • frames is currently unsupported for Seedance 2.0 / 2.0 fast.
  • camera_fixed is currently unsupported for Seedance 2.0 / 2.0 fast.
  • In the product UI, Seedance 2.0 is currently exposed mainly as “first/last frame” and “omni reference” entry points; on the API side those semantics map to content[].role and content[].type.
  • Upstream compliance currently blocks clearly realistic human-face image or video uploads.

Official Seedance 2.0 Pricing Truth

ModelOfficial billing modeOfficial price
doubao-seedance-2-0-260128per output token28 CNY / 1M output tokens with video input; 46 CNY / 1M output tokens without video input
doubao-seedance-2-0-fast-260128per output token22 CNY / 1M output tokens with video input; 37 CNY / 1M output tokens without video input
MIME, duration, and file-size enforcement for remote URL assets is ultimately handled by the upstream. Crazyrouter currently pre-validates count limits, duration parameter boundaries, the no-audio-only rule, and explicit unsupported fields such as frames, camera_fixed, and non-480p/720p output requests.

Text-to-Video Example

curl -X POST https://crazyrouter.com/volc/v1/contents/generations/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "doubao-seedance-1-0-lite-t2v-250428",
    "content": [
      {
        "type": "text",
        "text": "A slow push-in shot of a white seagull skimming over the ocean with golden sunset reflections on the waves"
      }
    ]
  }'

Single-Image Image-to-Video Example

cURL
curl -X POST https://crazyrouter.com/volc/v1/contents/generations/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "doubao-seedance-1-0-lite-i2v-250428",
    "content": [
      {
        "type": "text",
        "text": "The subject turns naturally while wind lightly moves the hair"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://example.com/portrait.png"
        }
      }
    ]
  }'

Seedance 2.0 Multimodal Example

cURL
curl -X POST https://crazyrouter.com/volc/v1/contents/generations/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "content": [
      {
        "type": "text",
        "text": "A girl turns back on the beach at sunset, with more cinematic motion and natural ambient sound"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://example.com/first-frame.png"
        },
        "role": "reference_image"
      },
      {
        "type": "video_url",
        "video_url": {
          "url": "https://example.com/reference-video.mp4"
        },
        "role": "reference_video"
      },
      {
        "type": "audio_url",
        "audio_url": {
          "url": "https://example.com/reference-audio.mp3"
        },
        "role": "reference_audio"
      }
    ],
    "generate_audio": true,
    "ratio": "16:9",
    "duration": 11,
    "watermark": false
  }'

Successful Submit Response

{
  "id": "cgt_task_abc123",
  "task_id": "cgt_task_abc123"
}

Query Task

GET /volc/v1/contents/generations/tasks/{task_id}
cURL
curl https://crazyrouter.com/volc/v1/contents/generations/tasks/cgt_task_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

Completed Response Example

{
  "id": "cgt_task_abc123",
  "object": "video",
  "model": "doubao-seedance-1-0-lite-t2v-250428",
  "status": "completed",
  "progress": 100,
  "created_at": 1774580000,
  "completed_at": 1774580030,
  "seconds": "5",
  "metadata": {
    "url": "https://media.crazyrouter.com/task-artifacts/2026/03/28/seedance/cgt_task_abc123.mp4",
    "artifact_url": "https://media.crazyrouter.com/task-artifacts/2026/03/28/seedance/cgt_task_abc123.mp4",
    "resolution": "720p",
    "ratio": "16:9",
    "frames_per_second": 24
  }
}

Task Status

StatusDescription
queuedsubmitted or waiting in queue
in_progressgeneration in progress
completedcompleted and ready from metadata.url
failedterminal failure
The public docs now only commit to the native /volc/v1/* route family and canonical model names. The old seedance-lite label is retained only as historical context, not as the primary contract for new integrations.
The official Seedance pricing truth is currently tracked as per_output_token, not per-second. If the pricing page later shows a normalized platform billing unit, that should be treated as the platform sell-side view rather than the native official unit.