Exécutez 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. Chaque requête vidéo crée une tâche que vous interrogez ou recevez par webhook.
Définissez mode pour choisir un workflow. La valeur par défaut est text_to_video. Sélectionnez un mode pour mettre à jour l'exemple ci-dessous.
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"
}'| Champ | Type | Requis | Description |
|---|---|---|---|
model | string | Oui | Un ID de modèle issu du tableau ci-dessous. |
prompt | string | Oui | Indications de scène, sujet, mouvement, caméra, éclairage et son. |
mode | string | Non | text_to_video (par défaut), image_to_video, first_last_frame ou multi_ref. |
ratio | string | Non | 16:9, 9:16, 4:3, 3:4, 1:1, 21:9 ou adaptive si indiqué. Par défaut : adaptive. |
resolution | string | Non | 480p, 720p, 1080p ou 4K, selon les modèles. Par défaut : 720p. |
duration | integer | Non | Durée du clip en secondes, dans la plage du modèle. Par défaut : 5. Utilisez -1 pour laisser le modèle choisir. |
generate_audio | boolean | Non | Générer un audio synchronisé avec le clip. |
route_mode | string | Non | official ou official-cheap. Par défaut, utilise le route mode de la clé, puis official-cheap. |
image_url | string | Conditionnel | Requis pour image_to_video : la première image. |
first_frame_urllast_frame_url | string | Conditionnel | Requis pour first_last_frame. Vous pouvez également envoyer deux image_urls ordonnées. |
image_urls | string[] | Conditionnel | Images de référence pour multi_ref. |
video_urlsaudio_urls | string[] | Conditionnel | Vidéos et fichiers audio de référence pour multi_ref. |
multi_ref nécessite au moins une référence. Seedance 2.5 accepte jusqu'à 30 images, 10 vidéos et 10 fichiers audio (50 au total) ; les autres modèles acceptent jusqu'à 9 images, 3 vidéos et 3 fichiers audio (12 au total). Utilisez des URL https publiques, ou téléversez d'abord les fichiers avec POST /v1/uploads.
| Modèle | ID du modèle | Résolution | Format | Durée |
|---|---|---|---|---|
| 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 |
Ces ID se terminent par -max, donc ratio, resolution et duration sont facultatifs et utilisent les valeurs par défaut ci-dessus.
La création d'une vidéo renvoie toujours HTTP 202 avec une tâche. Enregistrez son id et interrogez poll_url. Lorsque status vaut succeeded, la réponse contient video, usage et 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
}Une tâche échouée a le status failed et la raison dans message. Les URL de sortie sont hébergées par MLMux ; téléchargez les fichiers que vous souhaitez conserver.
Plutôt que d'interroger l'API, abonnez-vous à request.succeeded et request.failed. Consultez Webhooks pour le payload et la vérification de signature.