Passer au contenu principal
Cet article présentera une méthode d’intégration de l’API SeeDance Videos Generation, qui permet de générer des vidéos officielles SeeDance en saisissant des paramètres personnalisés.

Processus de demande

Pour utiliser l’API SeeDance Videos Generation, obtenez d’abord votre API Token dans la console Ace Data Cloud et conservez-le pour une utilisation ultérieure. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter ; une fois cela terminé, vous reviendrez automatiquement à la page actuelle. Un seul API Token permet d’appeler tous les services de la plateforme, sans avoir besoin d’en demander un séparément pour chaque service. Lors de votre première demande, vous recevrez un quota gratuit pour essayer le service sans frais ; lorsque le quota est insuffisant, vous pouvez recharger votre solde universel dans la console.
📘 Documentation complète : SeeDance Videos Generation API →

Utilisation de base

Commençons par comprendre le mode d’utilisation de base : il suffit de saisir le prompt content.text, le type content.type=text ainsi que le modèle model pour obtenir le résultat traité ; le contenu spécifique est le suivant :

Vous pouvez voir que nous avons configuré ici les Request Headers, notamment :
  • accept : le format de résultat de réponse que vous souhaitez recevoir ; renseignez ici application/json, c’est-à-dire le format JSON.
  • authorization : la clé pour appeler l’API ; après l’avoir demandée, vous pouvez directement la sélectionner dans la liste déroulante.
Nous avons également configuré le Request Body, notamment :
  • model : le modèle pour générer la vidéo.
    • Série Seedance 1.x : doubao-seedance-1-0-pro-250528, doubao-seedance-1-0-pro-fast-251015, doubao-seedance-1-5-pro-251215, doubao-seedance-1-0-lite-t2v-250428, doubao-seedance-1-0-lite-i2v-250428.
    • Série Seedance 2.0 (prend en charge les références multimodales de personnages et d’audio-vidéo) : doubao-seedance-2-0-260128 (standard), doubao-seedance-2-0-fast-260128 (rapide), doubao-seedance-2-0-mini-260615 (léger).
    • Seedance 2.5 : doubao-seedance-2-5-260628, prend en charge jusqu’à 30 secondes, les références audio seules, davantage de matériaux, l’édition et l’extension vidéo.
  • content : tableau de contenus d’entrée, type peut être text (prompt), image_url (image de référence), audio_url (audio de référence), video_url (vidéo de référence). L’utilisation d’une image peut être indiquée via role : first_frame (première image) / last_frame (dernière image) / reference_image (référence de personnage / sujet).
  • resolution : résolution de sortie, au choix 480p / 720p / 1080p / 4k. La version 2.5 prend en charge 480p, 720p, 1080p ; les versions 2.0 Fast/Mini prennent en charge 480p, 720p ; la version 2.0 Standard prend en charge jusqu’à 4k.
  • ratio : rapport largeur-hauteur, au choix 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive.
  • duration : durée de la vidéo (secondes, entier). Série 1.0 : 2–12 ; 1.5 Pro : 4–12 ; série 2.0 : 4–15 ; 2.5 : 4–30. Les versions 1.5/2.x prennent en charge -1 (durée automatique).
  • seed : graine aléatoire, entier, de -1 à 4294967295.
  • camerafixed : indique si la caméra est fixe, true / false.
  • watermark : indique s’il faut ajouter un filigrane, true / false.
  • generate_audio : indique s’il faut générer une vidéo avec audio, true / false, pris en charge par Seedance 1.5 Pro et la série 2.x.
  • return_last_frame : indique s’il faut retourner l’URL de la dernière image de la vidéo dans le résultat.
  • omni_reference_task_type : uniquement pour 2.5 ; auto / reference / edit / extend.
  • output_format : uniquement pour 2.5 ; mp4 / mov, mp4 par défaut.
  • tools : uniquement pour 2.5 ; prend actuellement en charge l’outil de recherche en ligne web_search, qui permet de limiter le nombre de résultats, le nombre de mots-clés et les sources de recherche.
  • priority : priorité de tâche facultative pour 2.5, entier 0–9, 0 par défaut.
  • safety_identifier : identifiant stable et anonyme de l’utilisateur final, d’une longueur maximale de 64 caractères ; veuillez utiliser un hachage ou un ID anonyme interne, et ne transmettez pas de nom, d’e-mail ou de numéro de téléphone.
  • execution_expires_after : délai d’expiration de la tâche (secondes), plage de 3600–259200.
  • callback_url : adresse de rappel asynchrone ; après l’avoir définie, l’API retourne immédiatement task_id et envoie le résultat par POST à cette adresse lorsque la tâche est terminée.
  • async : facultatif ; lorsqu’il est défini sur true, l’interface retourne immédiatement task_id, sans nécessiter de fournir callback_url, puis récupère le résultat via interrogation de l’interface de consultation de tâche correspondante.
Après la sélection, vous pouvez constater que le code correspondant est également généré à droite, comme illustré ci-dessous :

Cliquez sur le bouton « Try » pour effectuer un test. Comme montré ci-dessus, nous obtenons ici le résultat suivant :
Le résultat retourné comporte plusieurs champs, présentés ci-dessous :
  • success, l’état actuel de la tâche de génération vidéo.
  • task_id, l’ID actuel de la tâche de génération vidéo.
  • trace_id, l’ID de suivi actuel de la génération vidéo.
  • data, la liste des résultats de la tâche actuelle de génération vidéo.
    • task_id, l’ID côté serveur de la tâche actuelle de génération vidéo.
    • video_url, le lien vidéo de la tâche actuelle de génération vidéo.
    • status, l’état de la tâche actuelle de génération vidéo.
      • model, le modèle utilisé pour générer la vidéo.
Vous pouvez constater que nous avons obtenu des informations vidéo satisfaisantes ; il nous suffit de récupérer la vidéo SeeDance générée via l’adresse du lien vidéo dans data du résultat. De plus, si vous souhaitez générer le code d’intégration correspondant, vous pouvez le copier directement ; par exemple, le code CURL est le suivant :

Description des paramètres en ligne

À la fin du prompt content[].text, vous pouvez transmettre des paramètres de génération en ajoutant --parameter value (ancienne méthode, validation faible, les valeurs par défaut sont automatiquement utilisées en cas d’erreur de saisie). La liste complète des paramètres est la suivante :
Pratique recommandée : utilisez directement les champs de niveau supérieur correspondants dans le Request Body (tels que resolution, ratio, etc.). Il s’agit du mode de validation stricte ; une erreur explicite sera renvoyée si les paramètres sont mal renseignés, ce qui facilite le dépannage.

Générer des vidéos avec audio

Seedance 1.5 Pro et la série 2.x prennent en charge la génération de vidéos avec audio via le paramètre generate_audio :
La série 1.0 ne prend pas en charge ce paramètre.

Génération, édition et extension multimodales complètes de Seedance 2.5

doubao-seedance-2-5-260628 prend en charge 480p / 720p / 1080p, 4 à 30 secondes ou une durée automatique, et augmente les limites de ressources à 30 images de référence, 10 vidéos de référence et 10 audios de référence (jusqu’à 50 au total). La version 2.5 prend également en charge la transmission d’audio de référence uniquement, sans plus exiger de fournir simultanément une image ou une vidéo. Pour la génération multimodale ordinaire, omni_reference_task_type peut être omis, défini sur auto, ou explicitement défini sur reference. L’édition et l’extension de vidéo doivent inclure reference_video :
  • reference : transmettez au moins un reference_image, reference_video ou reference_audio ; la version 2.5 prend en charge la transmission d’audio de référence uniquement.
  • edit : doit utiliser ratio: adaptive et duration: -1 ; la durée de sortie est facturée selon le résultat réel.
  • extend : doit utiliser ratio: adaptive ; duration peut être de 4 à 30 ou -1.
  • auto : le modèle sélectionne automatiquement la génération, l’édition ou l’extension en fonction du prompt et des ressources.
  • Lorsque le type de tâche ne correspond pas aux ressources ou au prompt, la tâche échoue et renvoie une erreur de paramètre identifiable ; veuillez ajuster selon les contraintes ci-dessus puis soumettre à nouveau.

Première image de la vidéo générée à partir d’une image

Si vous souhaitez une tâche de génération vidéo à partir d’une image, le paramètre content doit d’abord contenir un élément dont le type est image_url, et le champ image_url doit être au format objet : {"url": "https://..."} ou au format Base64 {"url": "data:image/png;base64,..."}.
Attention : image_url ne prend pas en charge la transmission directe au format chaîne de caractères (par exemple, "image_url": "https://cdn.acedata.cloud/e724d7f13d.png"). Vous devez utiliser le format objet "image_url": {"url": "https://..."}, sinon une erreur 400 sera renvoyée.
Le code correspondant :
Cliquez sur Exécuter, vous constaterez qu’un résultat est immédiatement obtenu, comme suit :
Vous pouvez constater que l’effet généré est une vidéo créée à partir d’une image, et le résultat est similaire à celui ci-dessus.

Première et dernière images de la vidéo générée à partir d’une image

Si vous souhaitez générer une vidéo à partir d’une image avec première et dernière images, le paramètre content doit d’abord transmettre le type image_url, et définir respectivement role sur first_frame et last_frame, afin de pouvoir spécifier le contenu suivant :
  • role : spécifie la première ou la dernière image.
  • image_url
    • url Lien de l’image En même temps, content doit également inclure le type text comme prompt.
Le code correspondant :
Cliquez sur Exécuter, vous constaterez qu’un résultat sera immédiatement obtenu, comme suit :
On peut voir que l’effet généré est une vidéo de personnage, et le résultat est similaire à celui ci-dessus.

Référence multimodale de personnages et audio-vidéo (Seedance 2.0)

La série Seedance 2.0 (doubao-seedance-2-0-260128, doubao-seedance-2-0-fast-260128, doubao-seedance-2-0-mini-260615) prend en charge reference_image, reference_audio et reference_video. Vous pouvez utiliser vos propres ressources ou des ressources autorisées pour maintenir la cohérence des personnages, sujets, mouvements, mouvements de caméra, sons et rythmes.
Veuillez uniquement téléverser des ressources de personnes réelles et de personnages qui vous appartiennent ou pour lesquelles vous avez obtenu une autorisation. Les différents modèles prennent en charge les ressources de personnes réelles de différentes manières ; le format de la requête reste inchangé, et une erreur explicite sera renvoyée si la ressource ne répond pas aux exigences.
Points essentiels d’utilisation :
  • Seuls les modèles de la série Seedance 2.0 prennent en charge reference_image ; pour les modèles 1.x, veuillez utiliser first_frame / last_frame (première et dernière image de la vidéo générée à partir d’images).
  • La première image de la vidéo générée à partir d’images, les première et dernière images de la vidéo générée à partir d’images, et la référence toutes modalités sont trois scénarios mutuellement exclusifs : first_frame / last_frame ne peuvent pas être utilisés avec reference_image / reference_video / reference_audio.
  • Si vous souhaitez spécifier les première et dernière images dans une référence toutes modalités, veuillez marquer les images comme reference_image, et indiquer dans le prompt « l’image 1 comme première image » ou « l’image 2 comme dernière image » ; si vous devez verrouiller strictement les première et dernière images, utilisez uniquement first_frame / last_frame.
  • Limite du nombre de références multimodales : jusqu’à 9 image_url ; la version 2.0 prend également en charge audio_url (role étant reference_audio, jusqu’à 3 éléments) et video_url (role étant reference_video, jusqu’à 3 éléments).
  • Exigences pour les ressources audio de référence (audio_url) : formats wav / mp3 ; durée de chaque élément de 2 à 15 secondes, jusqu’à 3 éléments et une durée totale ne dépassant pas 15 secondes ; chaque élément ne doit pas dépasser 15 Mo. Un dépassement de la plage de durée entraînera un échec lors de l’étape de traitement de la ressource.
  • Exigences pour les ressources vidéo de référence (video_url) : formats mp4 / mov ; durée de chaque élément de 2 à 15 secondes, jusqu’à 3 éléments et une durée totale ne dépassant pas 15 secondes.
  • Pour les images de référence, il est recommandé d’utiliser des photos d’une seule personne, de face, nettes et sans obstruction ; plus le visage est net, plus la similarité est élevée.

Exemple 1 : gros plan conservant l’apparence du personnage

Transmettez une photo de visage et faites sourire et saluer cette personne face à la caméra. Le code correspondant :
Le résultat renvoyé est le suivant ; la personne dans la vidéo générée reste cohérente avec la photo de référence :

Exemple 2 : placer la même personne dans une toute nouvelle scène

La force de reference_image réside dans le fait que seule l’identité de la personne est conservée, tandis que la scène, les vêtements et les actions sont entièrement déterminés par le prompt. Ci-dessous, la même photo de visage est utilisée pour faire marcher cette personne dans un parc automnal, vêtue d’un manteau beige :
Le résultat renvoyé est le suivant : l’apparence de la personne est conservée, tandis que la scène a été remplacée par un parc automnal :
💡 Si vous souhaitez que le personnage reproduise précisément la composition de la photo (plutôt que « la même personne dans une scène différente »), vous pouvez utiliser first_frame (première image de vidéo générée à partir d’une image), afin que la vidéo commence à s’animer depuis cette photo.

Rappel asynchrone

Étant donné que l’API SeeDance Videos Generation nécessite un temps de génération relativement long (environ 1 à 2 minutes), vous pouvez utiliser le mode asynchrone via le champ callback_url afin d’éviter de maintenir la connexion HTTP occupée pendant une longue durée. Flux global : le client spécifie callback_url lors de l’envoi de la requête, l’API renvoie immédiatement une réponse contenant task_id ; une fois la tâche terminée, la plateforme envoie le résultat généré à callback_url sous la forme d’un JSON POST, et le résultat contient également task_id afin de permettre l’association.
Lorsque la tâche est terminée, le contenu envoyé par la plateforme à callback_url est le suivant :
Le champ task_id dans le résultat est identique à celui renvoyé lors de la requête, et ce champ permet d’associer les tâches.

Gestion des erreurs

Lors de l’appel de l’API, si une erreur se produit, l’API renvoie le code d’erreur et le message correspondants. Par exemple :
  • 400 token_mismatched : Requête incorrecte, probablement en raison de paramètres manquants ou non valides.
  • 400 api_not_implemented : Requête incorrecte, probablement en raison de paramètres manquants ou non valides.
  • 401 invalid_token : Non autorisé, jeton d’autorisation non valide ou manquant.
  • 429 too_many_requests : Trop de requêtes, vous avez dépassé la limite de débit.
  • 500 api_error : Erreur interne du serveur, un problème est survenu sur le serveur.

Exemple de réponse d’erreur

Conclusion

Grâce à ce document, vous avez appris à utiliser l’API Seedance Videos Generation pour générer des vidéos à partir de texte, générer à partir de première et dernière images ainsi que de références multimodales, et utiliser Seedance 2.5 pour modifier ou prolonger des vidéos. Nous espérons que ce document vous aidera à réaliser l’intégration de l’API ; en cas de problème, veuillez contacter le support technique.