Seedance 2.0 sur SpicyAPI (spicyapi.ai) propose trois tâches vidéo, et chacune demande un prompt différent. En texte vers vidéo, le prompt porte tout le plan. En image vers vidéo, l'image d'ouverture porte le look, donc le prompt ne dit que ce qui se passe ensuite. En référence vers vidéo, vous transmettez des images, des clips ou de l'audio, et le prompt dit à quoi sert chaque fichier. Écrivez le mauvais type de prompt pour la tâche, et aucun nombre d'adjectifs ne sauvera le clip.
Les prix et limites ci-dessous proviennent des pages publiques des modèles, octobre 2026. Les trois tâches renvoient 4 à 15 secondes de vidéo avec son, de 480p à 4K.
Choisissez la tâche selon ce qui doit rester fixe
| Ce que vous avez déjà | Tâche | Rôle du prompt | Prix à partir de |
|---|---|---|---|
| Une idée, pas d'image | Texte vers vidéo | Décrivez la scène, puis ce qui change | $0.07/s |
| L'image d'ouverture exacte (un plan produit, une image fixe validée) | Image vers vidéo | Décrivez uniquement ce qui se passe après l'image | $0.07/s |
| Des sources séparées : un visage, un lieu, un mouvement de caméra, un son | Référence vers vidéo | Dites ce que chaque fichier apporte, puis dirigez un nouveau plan | $0.07/s ($0.043 avec une vidéo de référence) |
Le texte vers vidéo invente la composition d'ouverture, utilisez-le donc pour des scènes fictives ou flexibles. Si l'étiquette et les proportions d'un vrai produit comptent, une description texte ne les reproduira pas ; partez d'une photo. La référence vers vidéo n'a pas de contrôle de la première image ; si l'image d'ouverture doit correspondre, utilisez l'image vers vidéo. L'image vers vidéo conserve la tenue, la forme des objets et l'éclairage de l'image. Elle ne garantit pas qu'ils survivent à un mouvement ou à une occlusion, regardez donc le clip en entier.
La référence vers vidéo accepte jusqu'à 9 images, 3 clips vidéo et 3 fichiers audio. Chaque clip ou fichier audio dure de 2 à 15 secondes, et chaque type est plafonné à 15 secondes au total. Au moins une image ou une vidéo est requise ; l'audio seul est refusé. Utilisez le plus petit ensemble qui fait le travail. Des fichiers supplémentaires ajoutent des contradictions, comme un visage sous trois éclairages ou un mouvement de caméra qui se bat avec le cadrage des références, et le modèle ne peut pas savoir quel fichier l'emporte si le prompt ne le dit pas.
Rédigez le brief du plan
Le même ordre fonctionne pour les trois tâches : sujet, action, caméra, lumière, son, une idée par phrase. Le reste de ce guide suit un exemple, un mécanicien qui tourne une pédale d'un vélo de ville rouge.
- Une action visible, une instruction de caméra. « Le mécanicien tourne la pédale une fois, puis pose sa main à côté » donne au modèle quelque chose à rendre ; « émotionnel, cinématographique » non. Décrivez comment le sujet bouge (« relève lentement l'obturateur ») plutôt que d'ajouter des mots de qualité.
- Dites où se trouve la caméra par rapport au sujet. « La caméra reste à hauteur de taille, à distance moyenne » est une instruction utilisable. Ne combinez pas « caméra fixe », « orbite » et « zoom rapide » dans un même plan ; choisissez un comportement ou aucun.
- Adaptez la durée à l'action. Cinq secondes suffisent pour une rotation, une portée de main ou un regard. Entrer dans une pièce, ramasser un outil et dire une phrase demande 10 secondes ou plus, ou des plans séparés.
duration_secondsprend des secondes entières de 4 à 15, ou-1pour laisser le modèle choisir. - Utilisez l'ordre des plans, pas les horodatages. Seedance 2.0 suit « Shot 1, Shot 2, Shot 3 » plus sûrement que des plages de seconde en seconde. Si une action disparaît, réduisez le nombre d'événements ou donnez plus de temps à la séquence.
- Mettez le style en dernier et gardez-le court. « Lumière douce du matin, texture documentaire » soutient le plan. Une pile d'étiquettes sans rapport pousse le résultat vers un fini générique et cache l'action. Pour une scène stylisée, commencez par « Photorealistic live action, not animation », sinon elle peut dériver vers l'illustration.
Un brief multi-plans pour 10 secondes, avec la coupe explicite :
A mechanic in a dark blue work shirt repairs a red commuter bicycle in a tidy daylight workshop. Naturalistic photography, soft morning light.
Shot 1: Fixed medium shot. The mechanic turns the right pedal once by hand and the rear wheel spins.
Shot 2: Cut to a close side view of the rear wheel slowing while his gloved hand steadies the frame.
Shot 3: Back to the medium shot. He steps back and wipes his hands on a rag.
Sound: ratchet clicks, the spinning wheel, quiet workshop. No music, no captions.Essayez d'abord dans le Playground
Exécutez le brief dans le Playground avant d'écrire le moindre code ; un prompt qui échoue ici échoue aussi depuis l'API.
- Ouvrez la page texte vers vidéo et restez dans l'onglet Playground, en vue Form. Connectez-vous avec un compte approvisionné pour lancer.
- Collez le brief dans Prompt.
- Réglez Aspect ratio (16:9), Resolution et Duration. Choisissez 480p et 5 secondes pour un brouillon ; ces deux réglages sont marqués « affects price », tout comme Generate audio et Web search (laissez Web search désactivé).
- Lisez l'estimation de prix, puis lancez. Sous Advanced parameters, Seed aide à comparer une modification du prompt avec la dernière exécution.
Image vers vidéo a le même onglet avec un téléversement Input image (et un Closing frame facultatif). Sur référence vers vidéo, ajoutez des fichiers sous Reference images, Reference videos et Reference audio ; ils sont numérotés image 1, video 1, audio 1 au fur et à mesure que vous les ajoutez, et Insert reference place l'étiquette correspondante dans le prompt.
Puis appelez-la depuis le code
Installez le SDK Python (pip install spicyapi), définissez SPICY_API_KEY dans l'environnement de votre serveur et exécutez :
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
request = {
"model": "bytedance/seedance-2.0/text-to-video",
"input_data": {
"prompt": "One adult mechanic in a dark blue work shirt stands beside one red commuter bicycle on a repair stand. Medium shot in a tidy daylight workshop. The mechanic turns the right pedal once by hand, watches the rear wheel rotate, then pauses with the hand resting beside the pedal. The camera stays fixed at waist height; the bicycle remains fully visible. Soft morning light from the left. A quiet workshop ambience and one short mechanical click, with no speech. One continuous shot.",
"duration_seconds": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": True,
},
}
quote = client.quote_task(**request) # free; nothing is reserved
print(quote["estimatedCost"], quote["maxCharge"])
task = client.create_task(
**request,
idempotency_key=str(uuid.uuid4()),
quote_id=quote["quoteId"],
expected_cost=quote["estimatedCost"],
)
print("Resume task:", task["taskId"], flush=True)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
assets = output_assets(final)
if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before a new run")
print(assets[0]["url"]) # copy it to your own storage nowLes deux autres tâches utilisent le même appel avec un autre model et un autre input_data : image_url (plus last_image_url facultatif) pour image vers vidéo, et reference_image_urls avec des listes facultatives de vidéos et d'audios de référence pour référence vers vidéo. La vue JSON du Playground montre le corps exact pour la tâche sur laquelle vous êtes. Les téléversements, l'attente, les reprises, les erreurs et les clés d'idempotence qui économisent sont dans la référence du SDK Python et le guide des tâches asynchrones.
Ou laissez un agent l'exécuter
Si un assistant doit exécuter les clips pour vous, donnez-lui la CLI, le serveur MCP ou la Skill. La CLI et le serveur MCP affichent le prix et vous demandent avant un appel payant.
- CLI. Mettez le même objet
inputdansinput.json, puis exécutez ce qui suit (npx @spicyapi/clifonctionne sans installation ; voir la documentation de la CLI) :
``bash spicyapi tasks create --model bytedance/seedance-2.0/text-to-video --input-file input.json --wait ``
- Serveur MCP. Ajoutez le serveur MCP à votre assistant, puis demandez : « Run Seedance 2.0 text to video with this brief, 5 seconds at 480p. » Il appelle
spicyapi_task_create, qui s'arrête pour votre confirmation de prix, puisspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstalle l'Agent Skill, qui fait lire à un assistant de code le schéma réel du modèle au lieu de deviner les champs.
Texte vers vidéo : établir toute la scène
Sans image, indiquez d'abord la distribution et les objets clés, puis la composition de départ, puis un petit changement. « Le mécanicien tient la pédale » est un état ; « tourne la pédale une fois » est une action, et c'est la seconde qu'il faut au modèle. Si le vélo doit être rouge et rester sur un pied d'atelier, mettez-le dans la description de la scène, pas à la fin.
One adult mechanic in a dark blue work shirt stands beside one red commuter bicycle on a repair stand. Medium shot in a tidy daylight workshop. The mechanic turns the right pedal once by hand, watches the rear wheel rotate, then pauses with the hand resting beside the pedal. The camera stays fixed at waist height; the bicycle remains fully visible. Soft morning light from the left. A quiet workshop ambience and one short mechanical click, with no speech. One continuous shot.enable_web_search n'existe qu'en texte vers vidéo et augmente le tarif (720p passe de $0.152 à $0.246 par seconde). Laissez-le désactivé sauf si le plan dépend de quelque chose que le modèle devrait aller chercher, et vérifiez vous-même tout élément factuel.
Quand un clip rate, changez la seule partie du brief qui en est responsable :
| Ce que vous voyez | Changez ceci |
|---|---|
| Des personnes en trop ou un second vélo | Indiquez le compte (« un mécanicien, un vélo ») et supprimez les mots de groupe |
| L'action ne se termine jamais | Supprimez un événement ou augmentez la durée |
| La caméra bouge malgré « fixe » | Donnez à la caméra une phrase directe et retirez les autres mots de caméra |
| Une coupe non voulue | Dites « one continuous shot » et retirez les changements de scène du brief |
| Sous-titres ou musique que vous n'avez pas demandés | Ajoutez « no captions, no music » ; cela réduit le risque sans le garantir |
| Un look de dessin animé ou d'illustration | Commencez par « Photorealistic live action, not animation » |
Image vers vidéo : laissez l'image faire le travail visuel
Choisissez l'image pour le mouvement que vous voulez. Un gros plan serré ne donne rien à travailler à un prompt de marche, et un vélo cadré sur la roue arrière ne peut pas montrer cette roue qui tourne. Vérifiez l'image avant de l'envoyer : anatomie, nombre d'objets, texte errant et éclairage. Chaque défaut de l'image fixe persiste sur tout le clip, et l'animer ne le répare pas.

Écrivez ensuite uniquement ce qui change. Redécrire les vêtements du mécanicien et l'atelier donne au modèle deux descriptions concurrentes du même sujet, ce qui invite à la dérive. Nommez le sujet en mouvement, l'action, la caméra et le son :
The mechanic turns the visible pedal once by hand. The rear wheel rotates naturally, then slows while the mechanic watches it. The camera remains fixed at the original medium distance. One continuous shot, quiet workshop ambience.image_url doit être un lien public et directement téléchargeable (300 à 6000 px par côté, moins de 10 Mo ; une photo d'une personne réelle identifiable peut être refusée) ; pour un fichier sur votre ordinateur, téléversez-le d'abord et transmettez l'URI spicy:// renvoyé. Le prompt est facultatif et, sans lui, le modèle choisit le mouvement lui-même. aspect_ratio: "adaptive" suit la forme propre de l'image.
last_image_url fixe l'image de fin et ne fonctionne qu'avec image_url. Utilisez des images compatibles : même sujet, angle similaire et géométrie des objets proche. Deux compositions sans rapport transforment le clip en problème de transformation pour lequel le modèle doit inventer un chemin.
Pour dépasser 15 secondes, mettez return_last_frame à true, enregistrez l'image finale renvoyée et transmettez-la comme image_url de l'appel suivant. Il n'y a pas de champ de continuation, donc chaque segment part d'une image enregistrée.
Référence vers vidéo : donnez un rôle à chaque fichier
Attribuez les rôles dans le prompt et faites-les correspondre à l'ordre de téléversement : image 1, image 2, video 1, audio 1. Donnez au sujet un nom court, définissez-le une fois et réutilisez-le. Dites au modèle quoi prendre d'un clip et quoi laisser derrière.
Define the mechanic in image 1 as the Mechanic. Use image 2 for the workshop and the red bicycle. The Mechanic turns the pedal once while the wheel rotates, then pauses. Medium shot, camera fixed at waist height. One continuous shot. Quiet ambience, no speech.
Ce qui aide :
- Un rôle par fichier. Si l'apparence dérive, séparez la référence du visage de la référence de la tenue ou du corps entier, et dites laquelle fournit quoi. Deux ou trois angles d'un même personnage fonctionnent mieux qu'une pile d'images presque identiques, et un collage de plusieurs vues peut se lire comme plusieurs personnes.
- Utilisez des visages générés ou totalement libérés. La vérification d'entrée de Seedance peut refuser une photo d'une personne réelle identifiable, avant tout frais. Les images doivent faire 300 à 6000 px par côté et moins de 10 Mo.
- Gardez un style cohérent. Mélanger photos, dessins et anime dans un même jeu de références a tendance à aplatir le résultat.
- Référencer n'est pas éditer. « Borrow the slow sideways track from video 1, not its people or location » demande une nouvelle scène. « Edit video 1 » demande de changer ce footage. Ne les mélangez pas dans un même prompt.
- Dites ce qu'un fichier audio apporte : la voix, l'ambiance ou le caractère musical. Il a besoin d'une image ou d'une vidéo à côté de lui, et avec
generate_audiodésactivé aucune bande-son n'est rendue même si de l'audio est fourni. - Ajoutez la vidéo en dernier. Faites d'abord fonctionner la scène avec des images, puis ajoutez un clip pour une raison nommée. Une vidéo change aussi le prix (voir ci-dessous).
- L'ordre compte. Si un outil réordonne vos fichiers,
image 1devient une autre image. Quand vous remplacez un fichier, relisez les attributions du prompt.
Ne téléversez que du matériel que vous avez le droit d'utiliser, et seulement des personnes qui ont consenti à apparaître.
Diriger le son
generate_audio est activé par défaut et coûte le même prix que désactivé. Désactivez-le quand vous mixerez ou doublerez le clip plus tard. Traitez le son comme sa propre partie du brief :
- Nommez les sources. « Ratchet clicks, spinning wheel, quiet workshop » vaut mieux que « ambient sound ». Écrivez « no music » quand vous le pensez, sinon une scène peut revenir avec une musique.
- Dialogue : nommez le locuteur, mettez la réplique entre guillemets, gardez-la assez courte pour la durée et restez dans une seule langue. Écoutez les mots exacts ; une réplique qui sonne plausible peut quand même changer un nom ou une offre.
- Corrigez-le au montage. Si l'image est bonne et le son mauvais, remplacez le son localement plutôt que de régénérer l'image.
Itérez avec un seul changement à la fois
Changez une chose par tentative : la phrase de caméra contre un zoom non désiré, le jeu de références contre une dérive d'identité. Sinon, un meilleur clip ne vous dit pas quelle modification a compté. Fixez seed et gardez tout le reste constant pour juger une modification du prompt. Une seed est un outil de comparaison, pas une promesse de répétitions identiques image par image.
Faites vos brouillons en 480p et montez la résolution une fois que l'action se lit correctement ; 720p est le réglage par défaut. La résolution et la durée fixent le prix, pas le rapport d'aspect, le débit binaire ni le filigrane. La vérification propre à Seedance refuse certaines formulations avant le rendu, et les formulations de baiser sont le déclencheur fiable ; une tâche refusée est normalement libérée sans frais.

Gardez un journal par tentative : le prompt, la tâche, les fichiers dans l'ordre de téléversement, la durée, la résolution et la seed. Quand un prompt fonctionne sur une scène, ce journal vous dit quoi réutiliser la prochaine fois.

Ce que cela coûte
Le texte vers vidéo et l'image vers vidéo sont facturés à la seconde de sortie, avec le son activé ou désactivé au même tarif :
| Résolution | Par seconde | Clip de 5 secondes |
|---|---|---|
| 480p | $0.07 | $0.35 |
| 720p | $0.152 | $0.76 |
| 1080p | $0.374 | $1.87 |
| 4K | $0.778 | $3.89 |
Trois brouillons en 480p plus un final en 720p font $1.81. Avec -1 (le modèle choisit la durée), l'estimation suppose le maximum de 15 secondes, $2.28 en 720p, et la facturation finale suit la durée livrée. Seedance 2.0 Fast et Mini sont moins chers (Mini commence à $0.025 par seconde en 480p, Fast à $0.045) et s'arrêtent à 720p ; traitez un brouillon venant d'eux comme un indice sur votre brief, pas comme un aperçu du résultat du modèle de base.
La vidéo de référence est la seule entrée qui change la facture. La référence vers vidéo applique un tarif par seconde plus bas quand la requête contient une vidéo (720p : $0.0928 au lieu de $0.152), mais vous le payez sur vos secondes de sortie plus les secondes du clip de référence. Un clip de 5 secondes en 720p avec un clip de référence de 10 secondes fait 15 × $0.0928 = $1.39, contre $0.76 sans le clip. En 4K, le tarif est le même avec ou sans vidéo, donc le clip n'ajoute que des secondes. SpicyAPI retient les fonds pour le maximum en amont et libère la partie inutilisée quand la tâche est réglée. Rognez les clips de référence aux quelques secondes qui portent le mouvement.
Quand un autre modèle est la réponse
Vérifiez d'abord le choix de tâche, la qualité de l'image, les rôles de référence et les instructions de caméra, car ces problèmes vous suivent sur n'importe quel modèle. Passez à un autre modèle quand l'exigence dépasse le contrat 2.0 : Seedance 2.5 tourne de 4 à 30 secondes et accepte jusqu'à 30 images, 10 clips et 10 fichiers audio en référence vers vidéo, avec ses propres prix et un plafond de 1080p. Lisez son guide des prompts avant de porter un prompt 2.0. BytePlus publie aussi son propre guide des prompts.
FAQ
Puis-je coller des prompts qui utilisent @Image1 venant d'autres guides ?
Réécrivez-les. Sur SpicyAPI les étiquettes sont image 1, video 1 et audio 1, appariées à l'ordre des tableaux d'entrée.






