Skip to content
Guides · Génération vidéo

Génération vidéo

Générez des clips vidéo cinématiques avec Seedance 2.5 — texte-vers-vidéo, image-vers-vidéo et vidéo-vers-vidéo.


Utiliser Portrait en entrée

Référencez des portraits virtuels ou de personnes réelles dans la génération vidéo en transmettant asset://<asset-id> comme entrée multimodale. asset:// n'est pris en charge que par seedance-2.0 / seedance-2.0-fast — pas seedance-2.5. Voir le guide Portrait pour le flux d'intégration de bout en bout.

Vue d’ensemble

Générez de courts clips vidéo cinématiques à partir d'un prompt textuel, d'images de référence ou d'une vidéo de référence à l'aide des modèles Seedance. seedance-2.5 est le produit phare actuel et couvre le texte-vers-vidéo, l'image-vers-vidéo et la vidéo-vers-vidéo (pilotez un nouveau clip à partir d'une vidéo de référence via un reference_video).

Créer une vidéo

Submit a video generation task using the Videos API:

cURL
1curl https://api.alltoken.ai/v1/videos/generations -H "Authorization: Bearer $ALLTOKEN_API_KEY" -H "Content-Type: application/json" -d '{
2 "model": "seedance-2.5",
3 "prompt": "A serene mountain lake at sunrise, cinematic 4K",
4 "ratio": "16:9",
5 "duration": 5,
6 "resolution": "720p"
7 }'

Matériaux de référence

Au-delà d'un simple prompt textuel, Seedance peut recevoir des images, des vidéos et de l'audio de référence via le tableau content[]. Chaque élément possède un type et un role :

Matériautyperole disponibles
Imageimage_urlreference_image, first_frame, last_frame
Vidéovideo_urlreference_video
Audioaudio_urlreference_audio

Deux façons de fournir chaque matériau, et elles peuvent être combinées au sein d'une même requête :

  • Déjà sur un hôte public — transmettez l'URL http(s) dans l'objet de type, par exemple { "type": "image_url", "image_url": { "url": "https://..." }, "role": "reference_image" }. Elle doit être accessible publiquement en amont (pas de liens privés ni signés uniquement).
  • Fichier localpré-signez et téléversez le fichier, puis référencez l'upload_id retourné : { "type": "image_url", "upload_id": "upl_...", "role": "reference_image" }.

Avertissement

La méthode base64 data: intégrée a été supprimée le 2026-08-06. Une requête vidéo transportant un média data: retourne désormais 400 inline_media_removed. Migrez en remplaçant l'URL intégrée par un upload_id — tous les autres champs restent identiques. Les URL http(s) et upload_id ne sont pas affectées.

Migrating an inline reference to an upload
1- { "type": "image_url", "image_url": { "url": "data:image/png;base64,iVBOR..." }, "role": "reference_image" }
2+ { "type": "image_url", "upload_id": "upl_9f3c...", "role": "reference_image" }

Rôles, valeurs par défaut et règles des trames

Vous pouvez écrire type sous la forme courte image / video / audio (la passerelle la normalise), mais omettre role applique une valeur par défaut — et pour les images, cette valeur par défaut n'est pas celle à laquelle vous pourriez vous attendre :

type courtNormalisé enrole par défaut si omis
imageimage_urlfirst_frame — et non reference_image !
videovideo_urlreference_video
audioaudio_urlreference_audio

Ainsi, { "type": "image", "upload_id": "upl_..." } est traité comme une première trame, et non comme une image de référence. Préférez la forme longue avec un role explicite et ne comptez pas sur les valeurs par défaut. La réponse de tâche GET renvoie le input_type détecté, ce qui vous permet de vérifier comment la passerelle a lu votre content[].

Avertissement

Les trames et les références visuelles ne peuvent pas être combinées. En amont, elles sont traitées comme des paradigmes mutuellement exclusifs : first_frame / last_frame (définissent l'image de début/de fin) face à reference_image / reference_video (fournissent une référence de style ou de sujet). Combiner les deux types de matériau visuel dans une même requête retourne 400 invalid_request. reference_audio fait exception — « une image comme première trame + un audio comme référence » est une combinaison prise en charge.

Contraintes sur les entrées

ContrainteValeurOrigine de la limite
Nombre de pixels de la vidéo de référence≥ 409,600 (soit 640×640 et au-delà)Modèle en amont — transmise telle quelle
Taille de téléversement par fichierVoir les plafonds par purpose de Téléversement de médiasAllToken
Nombre d'images de référenceLa documentation en amont indique 9 ; nous n'imposons pas de limiteEn amont

Lorsqu'une vidéo de référence est trop petite, l'erreur en amont est transmise sans modification (par exemple InvalidParameter: ... video pixel count ... must be greater than or equal to 409600 ...). Notez que frames et camera_fixed ne sont pas pris en charge par la série 2.0 et sont ignorés silencieusement plutôt que rejetés.

Modèles pris en charge

Appelez GET /videos/models pour la liste à jour. seedance-2.5 est le produit phare actuel (texte-vers-vidéo, image-vers-vidéo et vidéo-vers-vidéo) ; les références de portrait asset:// restent sur la gamme 2.0.

ModèleIdéal pourRéférence de portrait asset://
seedance-2.5Produit phare — texte / image / vidéo-vers-vidéo❌ Non pris en charge (le portrait est réservé à la 2.0)
seedance-2.0 / seedance-2.0-fastWorkflows Portrait (asset://)✅ Pris en charge
seedance-1.5-proGénération précédente❌ Non pris en charge (utilisez des URL d'image simples)

Voir le guide Portrait pour savoir comment obtenir un asset_id.

Paramètres

  • model"seedance-2.5" (produit phare), "seedance-2.0", "seedance-2.0-fast" ou "seedance-1.5-pro" ; appelez GET /videos/models pour la liste à jour
  • prompt — text description of the desired video
  • ratio"16:9", "9:16", "4:3", "3:4", "21:9", "1:1", or "adaptive"
  • duration — length in seconds; -1 lets the model choose automatically
  • resolution"480p", "720p", or "1080p"
  • content — multimodal input array for image-to-video or references, for example { "type": "image_url", "image_url": { "url": "..." }, "role": "first_frame" }. Images containing real human faces must go through Portrait first — pass asset://<asset_id> after onboarding (see Portrait guide); public URLs of real-person images may be rejected upstream for deepfake / consent compliance.

Vérifier le statut

Video generation is asynchronous. Poll for status:

cURL
$curl https://api.alltoken.ai/v1/videos/generations/{task_id} -H "Authorization: Bearer $ALLTOKEN_API_KEY"

The response includes status (queued, processing, completed, failed, expired, or cancelled) and a download URL when complete.

Annuler une tâche

Cancel a queued or processing task:

cURL
$curl -X POST https://api.alltoken.ai/v1/videos/generations/{task_id}/cancel   -H "Authorization: Bearer $ALLTOKEN_API_KEY"

Tasks already completed, failed, or cancelled cannot be cancelled.