Skip to Content
ModèlesSeedance

Famille Seedance

Les modèles de génération vidéo de ByteDance, au nombre de quatre, s’appellent via l’endpoint vidéo d’OfoxAI POST /v1/videos. Les tâches s’exécutent de façon asynchrone : la création d’une tâche renvoie un ID de tâche, qui sert ensuite à récupérer le résultat.

Quel modèle choisir

L'essentielPour une sortie 4K, choisissez 2.0 ; pour 30 secondes de durée ou le format 21:9, choisissez 2.5 ; pour générer en masse des vidéos en 480p ou 720p, choisissez Mini ou Fast.
ModèleRésolutions (par défaut)DuréeFormats d’image
Seedance 2.5480p 720p 1080p (720p)4–30 s21:9 16:9 4:3 1:1 3:4 9:16 adaptive
Seedance 2.0480p 720p 1080p 4k (1080p)4–15 s16:9 9:16 1:1 adaptive
Seedance 2.0 Fast480p 720p (720p)4–15 sComme 2.0
Seedance 2.0 Mini480p 720p (720p)4–15 sComme 2.0

Les quatre modèles prennent en charge le texte-vers-vidéo, l’image-vers-vidéo et la vidéo de référence, et peuvent générer une piste audio synchronisée (generate_audio vaut true par défaut). adaptive reprend le format de l’image d’entrée.

ID de modèle (à copier tel quel)
Seedance 2.5bytedance/seedance-2.530 s, 21:9
Seedance 2.0bytedance/seedance-2.04K
Seedance 2.0 Fastbytedance/seedance-2.0-fast480p, 720p
Seedance 2.0 Minibytedance/seedance-2.0-mini480p, 720p

Le tableau ci-dessus correspond aux video_attributes renvoyés par la Models API ; en cas d’évolution des capacités d’un modèle, la réponse de l’API fait foi. La facturation se fait à la seconde, le coût réel étant donné par usage.video_cost dans le résultat de la tâche ; les prix figurent sur la page du modèle .

Passez explicitement resolution et duration. Sans ces champs, 2.0 utilise 1080p par défaut, et le coût, calculé selon le niveau de résolution, est plus élevé qu’en 720p.

Exemples d’appel

L'essentielLes cinq modes de génération partagent le même endpoint : le mode est déterminé par les champs de média envoyés, sans paramètre de mode à préciser.

Les exemples ci-dessous ne montrent que la requête de création de tâche. Le déroulement complet (interrogation du statut puis téléchargement du résultat) est décrit dans Video API · Démarrage rapide.

Seul prompt est envoyé.

Terminal
curl -X POST https://api.ofox.ai/v1/videos \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "bytedance/seedance-2.0-mini", "prompt": "Un renard qui court dans la neige, caméra en suivi", "duration": 5, "resolution": "720p", "aspect_ratio": "16:9" }'
  • frame_images et input_references ne peuvent pas être envoyés ensemble ; les envoyer ensemble renvoie 400 references_conflict.
  • Les images peuvent être fournies par URL publique ou par une chaîne commençant par data:image/...;base64,.
  • Si vous n’avez pas besoin de piste audio, passez "generate_audio": false.
  • La description complète des champs figure dans Créer une tâche vidéo.

Images de référence de personnes réelles

L'essentielVia OfoxAI, la vérification de la bibliothèque d’assets de Seedance n’est pas nécessaire : il suffit d’ajouter real_person: true au premier niveau de la requête.

L’API Seedance officielle de ByteDance n’accepte pas l’envoi direct d’images ou de vidéos de référence contenant un visage réel. La documentation officielle de Seedance 2.0 sur BytePlus  exige un asset de personne réelle autorisé, et le guide de la bibliothèque de portraits réels de Volcano Engine Ark  énumère les étapes : envoi d’une invitation, vérification et autorisation par la personne, téléversement de l’asset, réception de l’autorisation et obtention de l’ID d’asset.

ÉtapeAPI Seedance officielle en directVia OfoxAI
Avant la première requêteCréer un groupe d’assets, effectuer la vérification et l’autorisation de la personne, téléverser et valider l’asset, obtenir l’ID d’assetAucun enregistrement préalable sur la plateforme du fournisseur
Transmission de l’image de référenceUtiliser l’asset autorisé actif asset://<asset_id>Passer une URL d’image ou une URI data: dans frame_images ou input_references
Option de requêteUtiliser l’URI de l’asset approuvéAjouter "real_person": true au premier niveau de la requête
{ "model": "bytedance/seedance-2.0", "prompt": "La personne de l'image traverse un marché de nuit à l'ambiance cinématographique", "duration": 5, "resolution": "720p", "real_person": true, "input_references": [ { "type": "image_url", "image_url": { "url": "https://example.com/person.jpg" } } ] }
  • OfoxAI applique un prétraitement de confidentialité aux images de référence avant l’envoi, ce qui peut réduire les faux rejets de la modération anti-deepfake en amont, sans garantir l’acceptation ; une tâche rejetée en amont n’est pas facturée.
  • real_person est une instruction de traitement, pas une preuve d’autorisation. N’envoyez que des images que vous avez légalement le droit et l’autorisation d’utiliser.
  • Les ajustements à faire si l’image est encore rejetée et les codes d’erreur de prétraitement figurent dans Images de référence de personnes réelles.

Choisir un fournisseur

L'essentielSeedance est servi par deux fournisseurs dont la modération diffère ; sans précision, la passerelle répartit les requêtes selon une pondération.
FournisseurDescriptionModération du contenu
volcengineVolcano Engine Ark, plateforme de ByteDance pour la Chine continentaleModération standard
byteplusBytePlus, plateforme internationale de ByteDanceAutorise le contenu ne convenant pas à tous les publics (NSFW)

Pour fixer le fournisseur, ajoutez au premier niveau de la requête :

"provider": { "type": "byteplus" }

Pour générer du contenu ne convenant pas à tous les publics, vous devez indiquer explicitement byteplus. Sans cela, la requête peut être acheminée vers volcengine et rejetée par la modération. Une fois le fournisseur fixé, la requête ne bascule pas automatiquement vers un autre s’il est indisponible.

Une valeur incorrecte pour provider.type renvoie 400 invalid_provider_type ; un fournisseur désigné qui ne sert pas ce modèle renvoie 400 provider_type_unavailable. Les explications générales figurent dans Routage des fournisseurs vidéo.

Erreurs courantes

L'essentielLes erreurs de validation des paramètres sont renvoyées dès la création : aucune tâche n’est créée et rien n’est facturé. Le message d’erreur liste les valeurs autorisées.
HTTP · codeMessage d’erreurCauseSolution
400 unsupported_parameterduration 3 out of range [4, 15]Durée hors de la plage du modèle4–15 s pour la série 2.0, 4–30 s pour 2.5
400 unsupported_parameterresolution "1080p" not supported; allowed: [480p 720p]Fast et Mini ne prennent pas en charge le 1080pUtilisez 720p, ou passez à 2.0 / 2.5
400 unsupported_parameterresolution "4k" not supported; allowed: [480p 720p 1080p]Seul 2.0 prend en charge la 4KUtilisez bytedance/seedance-2.0
400 unsupported_parameteraspect_ratio "21:9" not supported; allowed: [16:9 9:16 1:1 adaptive]La série 2.0 ne prend pas en charge le 21:9Passez à 2.5, ou utilisez un format pris en charge
400 references_conflictframe_images and input_references are mutually exclusiveLes deux champs de média ont été envoyés ensembleChoisissez l’un des deux, voir Exemples d’appel
400 invalid_requestframe_images: last_frame requires a first_frameSeule la dernière image a été envoyéeAjoutez first_frame
400 too_many_referencesinput_references over limit: images 10/9, audios 0/3, videos 0/1Trop de médias de référence9 images, 3 extraits audio et 1 vidéo au maximum
400 invalid_requestreal_person requires at least one image referencereal_person activé sans aucune imageAjoutez une image, ou retirez real_person
400 invalid_requestcannot unmarshal string into Go struct field CreateVideoRequest.duration of type intduration passé sous forme de chaîne, par exemple "5s"Utilisez un entier, par exemple 5
400 invalid_callback_urlcallback_url must be a public HTTPS URLL’adresse de rappel n’est pas en HTTPS, ou pointe vers un réseau interneUtilisez une adresse HTTPS publique
404 model_not_foundmodel not foundID de modèle mal orthographié, par exemple bytedance/seedance-2Copiez l’ID de modèle depuis cette page
402 insufficient_credits—Solde insuffisant pour couvrir le coût estimé (la tâche n’est pas créée)Rechargez votre solde puis réessayez

Si une tâche créée avec succès échoue pendant la génération, la requête de statut renvoie status: "failed" et la cause figure dans le champ error ; un dépassement de délai correspond à error.code: "expired". Les codes d’erreur complets figurent dans Codes d’erreur de la Video API.

Documentation officielle

FAQ

Comment générer une vidéo à partir de la première et de la dernière image avec Seedance ?

Passez deux images dans frame_images, l'une avec frame_type first_frame, l'autre avec last_frame. Envoyer last_frame seul renvoie 400 last_frame requires a first_frame. frame_images ne peut pas être envoyé en même temps que input_references.

Seedance 2.0 prend-il en charge la 4K ?

Seul bytedance/seedance-2.0 prend en charge 4k. 2.5 monte jusqu'au 1080p, Fast et Mini jusqu'au 720p ; une résolution non prise en charge renvoie 400, et le message d'erreur liste les valeurs autorisées.

Quelle durée maximale Seedance peut-il générer ?

Seedance 2.5 génère de 4 à 30 secondes par tâche ; 2.0, 2.0 Fast et 2.0 Mini de 4 à 15 secondes. Au-delà, l'API renvoie 400 duration out of range.

Seedance prend-il en charge le 21:9 ?

Seul Seedance 2.5 prend en charge le 21:9. La série 2.0 ne prend en charge que 16:9, 9:16, 1:1 et adaptive.

Que faire si une image de référence Seedance contenant une personne réelle provoque une erreur ?

En appel direct à l'API officielle, la personne doit d'abord être vérifiée dans la bibliothèque d'assets. Via OfoxAI, ajoutez real_person: true au premier niveau de la requête pour envoyer l'image directement ; OfoxAI applique d'abord un prétraitement de confidentialité. Si l'amont rejette encore la tâche, elle n'est pas facturée ; ajustez l'image selon les conseils de la page Images de référence de personnes réelles puis réessayez.

Combien d'images de référence Seedance accepte-t-il au maximum ?

input_references accepte au maximum 9 images, 3 extraits audio (15 secondes chacun au plus) et 1 vidéo. Au-delà, l'API renvoie 400 too_many_references.

Combien de temps l'adresse d'une vidéo Seedance générée reste-t-elle valide ?

Privilégiez mirror_urls. Lorsque seul unsigned_urls est renvoyé, il s'agit d'une adresse temporaire en amont qui peut expirer au bout de 24 heures ; téléchargez et conservez la vidéo rapidement.

Dernière mise à jour le