Execute Seedance 2.5, Seedance 2.5 CN, Seedance 2.0, Seedance 2.0 CN, Seedance 2.0 Fast, Seedance 2.0 Fast CN, Seedance 2.0 Mini, Seedance 2.0 Mini CN. Cada requisição de vídeo cria uma tarefa que você pode consultar via polling ou receber por webhook.
Defina mode para escolher um fluxo de trabalho. O padrão é text_to_video. Selecione um modo para atualizar o exemplo abaixo.
https://api.mlmux.com/v1/videos/generationscurl https://api.mlmux.com/v1/videos/generations \
-H "Authorization: Bearer $MLMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "model/seedance-2.5-max",
"prompt": "A cinematic tracking shot along a coastal road at sunrise, warm backlight, gentle camera drift",
"mode": "text_to_video",
"ratio": "16:9",
"resolution": "720p",
"duration": 8,
"generate_audio": true,
"route_mode": "official-cheap"
}'| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
model | string | Sim | Um ID de modelo da tabela abaixo. |
prompt | string | Sim | Direção de cena, assunto, movimento, câmera, iluminação e som. |
mode | string | Não | text_to_video (padrão), image_to_video, first_last_frame ou multi_ref. |
ratio | string | Não | 16:9, 9:16, 4:3, 3:4, 1:1, 21:9 ou adaptive onde listado. O padrão é adaptive. |
resolution | string | Não | 480p, 720p, 1080p ou 4K, conforme listado para o modelo. O padrão é 720p. |
duration | integer | Não | Duração do clipe em segundos, dentro do intervalo do modelo. O padrão é 5. Use -1 para deixar o modelo escolher. |
generate_audio | boolean | Não | Gera áudio sincronizado com o clipe. |
route_mode | string | Não | official ou official-cheap. Usa como padrão o modo de rota da chave e, em seguida, official-cheap. |
image_url | string | Condicional | Obrigatório para image_to_video: o quadro inicial. |
first_frame_urllast_frame_url | string | Condicional | Obrigatório para first_last_frame. Você também pode enviar dois image_urls ordenados. |
image_urls | string[] | Condicional | Imagens de referência para multi_ref. |
video_urlsaudio_urls | string[] | Condicional | Vídeos e áudios de referência para multi_ref. |
multi_ref requer pelo menos uma referência. Seedance 2.5 aceita até 30 imagens, 10 vídeos e 10 arquivos de áudio (50 no total); os outros modelos aceitam até 9 imagens, 3 vídeos e 3 arquivos de áudio (12 no total). Use URLs públicas https ou faça o upload prévio dos arquivos com POST /v1/uploads.
| Modelo | ID do modelo | Resolução | Proporção | Duração |
|---|---|---|---|---|
| Seedance 2.5 | model/seedance-2.5-max | 480p · 720p · 1080p | adaptive · 16:9 · 21:9 · 4:3 · 1:1 · 3:4 · 9:16 | 4–30 s |
| Seedance 2.5 CN | model/seedance-2.5-cn-max | 480p · 720p · 1080p | adaptive · 16:9 · 21:9 · 4:3 · 1:1 · 3:4 · 9:16 | 4–30 s |
| Seedance 2.0 | model/seedance-2.0-max | 480p · 720p · 1080p · 4K | adaptive · 16:9 · 21:9 · 4:3 · 1:1 · 3:4 · 9:16 | 4–15 s |
| Seedance 2.0 CN | model/seedance-2.0-cn-max | 480p · 720p · 1080p · 4K | adaptive · 16:9 · 21:9 · 4:3 · 1:1 · 3:4 · 9:16 | 4–15 s |
| Seedance 2.0 Fast | model/seedance-2.0-fast-max | 480p · 720p | adaptive · 16:9 · 21:9 · 4:3 · 1:1 · 3:4 · 9:16 | 4–15 s |
| Seedance 2.0 Fast CN | model/seedance-2.0-fast-cn-max | 480p · 720p | adaptive · 16:9 · 21:9 · 4:3 · 1:1 · 3:4 · 9:16 | 4–15 s |
| Seedance 2.0 Mini | model/seedance-2.0-mini-max | 480p · 720p | adaptive · 16:9 · 21:9 · 4:3 · 1:1 · 3:4 · 9:16 | 4–15 s |
| Seedance 2.0 Mini CN | model/seedance-2.0-mini-cn-max | 480p · 720p | adaptive · 16:9 · 21:9 · 4:3 · 1:1 · 3:4 · 9:16 | 4–15 s |
Esses IDs terminam em -max, portanto ratio, resolution e duration são opcionais e assumem os padrões acima.
A criação de um vídeo sempre retorna HTTP 202 com uma tarefa. Salve o id retornado e faça polling em poll_url. Quando o status for succeeded, a resposta incluirá video, usage e actual_charge_credits.
https://api.mlmux.com/v1/videos/generations/{task_id}{
"id": "task_01a9...",
"object": "video.generation.task",
"status": "queued",
"created": 1767225600,
"model": "model/seedance-2.5-max",
"api_method": "videos.generations.create",
"poll_url": "/v1/videos/generations/task_01a9...",
"progress": 0,
"message": "queued",
"estimated_charge_credits": 1.84
}{
"id": "task_01a9...",
"object": "video.generation.task",
"status": "succeeded",
"progress": 100,
"message": "completed",
"video": "https://.../generated/01a9....mp4",
"last_frame_image": "https://.../generated/01a9....jpg",
"usage": {
"output_tokens": 172800,
"video_seconds": 8,
"video_resolution": "720p"
},
"estimated_charge_credits": 1.84,
"actual_charge_credits": 1.79
}Uma tarefa com falha terá status failed e o motivo em message. As URLs de saída são hospedadas pelo MLMux; faça o download dos arquivos que deseja manter.
Em vez de fazer polling, assine request.succeeded e request.failed. Consulte Webhooks para obter informações sobre payload e verificação de assinatura.