Vue d’ensemble
La génération vidéo est asynchrone. Une fois la requête envoyée, vous recevez untask_id et un poll_url, puis vous interrogez ce task jusqu’au résultat final.
Comportement de polling
Pour un polling fiable, utilisez exactement lepoll_url renvoyé par la requête de création.
Si une réponse de création renvoie poll_url, appelez exactement cette URL. Lorsqu’elle pointe vers /v1/tasks/{id}, traitez-la comme l’endpoint fixe canonique de statut.
Comportement des modèles et des médias
La sortie audio dépend du modèle. Dans TokenLab, les requêtes Veo 3 et Seedance activent l’audio par défaut lorsqueoutput_audio est omis. Lorsqu’un modèle prend en charge le contrôle audio, utilisez output_audio pour l’activer ou le désactiver explicitement. Les alias outputAudio et generate_audio sont acceptés pour compatibilité et doivent correspondre à output_audio si plusieurs champs sont fournis.
En production, privilégiez des URLs https publiques pour les images, vidéos et fichiers audio. Les modèles compatibles acceptent toujours les data: URLs, mais les gros payloads base64 compliquent les retries, l’observabilité et le débogage.
Corps de la requête
ID du modele video. Utilisez les IDs de modèle affichés par TokenLab comme
veo3.1, wan-2.7, happyhorse-1.0, viduq3, pixverse-v6 ou kling-3.0-video; choisissez text-to-video, image-to-video, reference-to-video ou d autres variantes avec operation. Voir le guide video et Models API.PixVerse
- Modèle:
pixverse-c1,pixverse-v6,pixverse-v5.6 - Opérations:
text-to-video,image-to-video,start-end-to-video,reference-to-video - Sélecteur audio:
output_audio,falsepar défaut
operation=video-extension.HappyHorse- Modèle:
happyhorse-1.0 - Opérations:
text-to-video,image-to-video,reference-to-video,video-to-video - Sélecteur audio: Ne pas envoyer
output_audio
Description textuelle de la vidéo à générer. Ce champ est requis pour la plupart des modèles publics.
Opération vidéo à exécuter. Les valeurs acceptées sont
text-to-video, image-to-video, reference-to-video, start-end-to-video, video-to-video, video-extension, audio-to-video et motion-control. TokenLab peut déduire l’opération à partir des entrées, mais une valeur explicite est recommandée en production.URL de l’image de départ pour les flux image-vers-vidéo. Pour la compatibilité la plus large, privilégiez
image_url.Image inline au format
data: (par exemple data:image/jpeg;base64,...). Les modèles compatibles la prennent en charge, mais image_url reste l’option la plus robuste.Images de référence pour les flux avec conditionnement dédié. Le nombre autorisé dépend du modèle. Pour
seedance-2.0 et seedance-2.0-fast, TokenLab prend actuellement en charge jusqu’à 9 images de référence, ainsi que jusqu’à 3 vidéos de référence et 3 audios de référence. Pour le choix du modèle, les limites 4K et les notes Mini, consultez le guide des modèles vidéo Seedance 2.0. Les URL publiques https sont recommandées ; les modèles compatibles acceptent aussi les URL data:. Pour grok-imagine-video, reference-to-video accepte jusqu’à 7 références image et duration est limitée à 10 secondes. grok-imagine-video-1.5-preview est limité à image-to-video et n’accepte pas les références image.ID de matériau Seedance TokenLab renvoyé par Créer un matériau ou par la préparation automatique d’image. Utilisez-le après le statut
ACTIVE avec les modèles Seedance qui peuvent utiliser la bibliothèque de matériaux TokenLab.Plusieurs ID de matériaux Seedance TokenLab. Ils partagent la limite de références image Seedance avec
reference_images; le modèle sélectionné doit pouvoir utiliser la bibliothèque de matériaux TokenLab.Lorsque le modèle Seedance sélectionné peut utiliser la bibliothèque de matériaux TokenLab, TokenLab prépare les champs image (
image, image_url, image_urls, reference_images, start_image, end_image) comme matériaux réutilisables avant la génération. Si la préparation n’est pas terminée en 60 secondes, l’API renvoie 409 seedance_material_preparing avec auto_material_asset_ids; réessayez lorsque ces matériaux sont ACTIVE. Si le modèle sélectionné ne peut pas utiliser la bibliothèque, les images ordinaires continuent sur le chemin image habituel et les ID de matériaux explicites échouent de façon sûre avec une erreur de disponibilité des matériaux.Champ facultatif pour les modèles qui distinguent les références
asset et style.Définitions de références d’éléments Kling 3.0. Pris en charge uniquement avec
kling-3.0-video pour les requêtes conditionnées par image. Définissez 1 à 3 éléments ; chaque élément contient name, un description optionnel et element_input_urls avec 2 à 4 URL d’images. Référencez un élément dans prompt avec @name. Ne combinez pas kling_elements avec output_audio=true ; omettez output_audio ou définissez-le sur false pour les requêtes avec références d’éléments.URL publique de la vidéo source. Requise pour les flux
video-to-video basés sur une URL vidéo et pour motion-control ; certains flux dérivés utilisent plutôt task_id.Entrées vidéo de référence supplémentaires pour les modèles qui prennent en charge un conditionnement multimodal. Le nombre autorisé dépend du modèle. Pour
seedance-2.0 et seedance-2.0-fast, TokenLab prend actuellement en charge jusqu’à 3 vidéos de référence.URL publique du fichier audio pour les modèles
audio-to-video.Entrées audio de référence supplémentaires pour les modèles qui prennent en charge un conditionnement multimodal. Le nombre autorisé dépend du modèle. Pour
seedance-2.0 et seedance-2.0-fast, TokenLab prend actuellement en charge jusqu’à 3 audios de référence.Identifiant de tâche utilisé par certains flux de continuation, d’extension ou dérivés.
Offset de départ spécifique au modèle pour certains flux
video-extension.Multiplicateur ou nombre de répétitions spécifique au modèle pour certains flux
video-extension.Durée de la vidéo générée en secondes. Pour les modèles Seedance 1.5/2.0, l’omission de ce champ utilise
5; envoyer -1 laisse le modèle choisir dans sa plage prise en charge, et la facturation est estimée de façon conservatrice jusqu’à la fin de la tâche.Alias compatible de
duration. Si seconds et duration sont envoyés ensemble, ils doivent être identiques. Pour Seedance, seconds=-1 a le même sens de durée automatique que duration=-1.Format d’image canonique, par exemple
adaptive, 16:9, 9:16, 1:1, 4:3, 3:4 ou 21:9. Seedance utilise adaptive par défaut lorsque ce champ est omis.Résolution de sortie dépendante du modèle. Seedance utilise
720p par défaut ; seedance-2.0 prend en charge 480p, 720p, 1080p et 4k, tandis que seedance-2.0-fast et seedance-2.0-mini sont limités à 480p et 720p.Sélecteur canonique de sortie audio dépendant du modèle. Veo 3 et Seedance utilisent
true par défaut lorsque le champ est omis. kling-3.0-video accepte ce sélecteur pour les requêtes sans référence d’élément et produit une sortie silencieuse par défaut lorsqu’il est omis. Ne combinez pas output_audio=true avec kling_elements.Sélecteur du workflow Draft de Seedance 1.5 Pro. Utilisez
draft=true avec les modèles Seedance compatibles avec les tâches draft. Ne l’envoyez pas avec draft_task_id.ID de tâche draft Seedance 1.5 Pro à promouvoir. Envoyez l’ID d’une tâche draft précédente pour créer la vidéo finale ; ce n’est pas un champ vidéo générique.
Alias compatible de
aspect_ratio. Si ratio et aspect_ratio sont envoyés ensemble, ils doivent être identiques.Alias compatible de
output_audio. Si generate_audio, output_audio et outputAudio apparaissent ensemble, toutes les valeurs doivent correspondre.Fenêtre optionnelle d’expiration d’exécution en secondes pour les modèles vidéo compatibles. Seedance utilise
172800 secondes par défaut lorsque le champ est omis.Priorité optionnelle de tâche de
0 à 9 pour les modèles vidéo compatibles. Ne combinez pas priority avec service_tier=flex.Identifiant optionnel de sécurité de l’utilisateur final pour les modèles vidéo compatibles. S’il est omis pour Seedance, TokenLab utilise
user lorsqu’il est fourni.default est accepté comme no-op compatible pour les modèles Seedance 2.0. flex n’est autorisé que lorsque le modèle sélectionné le prend en charge.Nombre optionnel d’images pour les modèles vidéo compatibles. Les modèles Seedance 2.0 et Seedance 1.5 Pro ne prennent pas ce champ en charge.
Sélecteur optionnel de caméra fixe pour les modèles vidéo compatibles. Les modèles Seedance 2.0 ne prennent pas ce champ en charge.
Fréquence d’images (1–120). N’a d’effet que sur les modèles qui l’exposent publiquement.
Éléments à éviter dans la génération.
Graine aléatoire pour une génération reproductible. Seedance utilise
-1 comme graine aléatoire lorsque le champ est omis.Intensité de suivi du prompt (0–20), effective uniquement sur les modèles qui la prennent en charge.
Intensité du mouvement (0–1), effective uniquement sur les modèles compatibles.
URL de l’image de premier frame, ou entrée image compatible, pour
start-end-to-video.URL de l’image de dernier frame, ou entrée image compatible, pour
start-end-to-video.Niveau de taille propre au modèle pour les modèles vidéo compatibles.
Option de filigrane pour les modèles qui l’exposent. Seedance utilise
false par défaut lorsque le champ est omis.Sélecteur d’effet spécifique au modèle pour certains flux d’édition ou d’effets.
Identifiant unique de l’utilisateur final. Pour Seedance, TokenLab utilise aussi cette valeur comme
safety_identifier lorsque ce champ est omis.Notes de compatibilité
- Les champs publics canoniques utilisent le snake_case :
reference_images,reference_image_typeetoutput_audio. - Les champs publics canoniques restent en snake_case :
aspect_ratio,output_audio,reference_imagesetreference_image_type. - Pour compatibilité, TokenLab accepte aussi
ratio,generate_audio,outputAudio,seconds,referenceImagesetreferenceImageType. - Si des champs canoniques et des alias sont envoyés ensemble, leurs valeurs doivent correspondre ; les alias en conflit sont rejetés avant la création de la tâche.
Bonnes pratiques d’entrée
- Pour
image_url,reference_images,video_urletaudio_url, privilégiez des URLshttpspubliques. - Évitez, si possible, de mélanger base64 inline et URLs distantes dans une même requête.
- Assurez-vous que les URLs média distantes restent valides pendant la fenêtre de retry et la création asynchrone.
Paramètres Seedance
Pour les modèles Seedance 1.5/2.0, l’endpoint unifié suit les noms de champs TokenLab tout en acceptant les alias compatiblesseconds, ratio et generate_audio. Lorsque les sélecteurs Seedance sont omis, ces valeurs par défaut sont utilisées : duration=5, resolution=720p, aspect_ratio=adaptive, output_audio=true, watermark=false, return_last_frame=false, execution_expires_after=172800, priority=0 et seed=-1.
duration=-1 ou seconds=-1 laisse Seedance choisir la durée de sortie dans la plage prise en charge par le modèle. TokenLab estime le coût de façon conservatrice avant la fin de la tâche, puis règle selon l’usage de la tâche terminée lorsque disponible. service_tier=default est accepté comme no-op compatible pour Seedance 2.0 ; service_tier=flex, frames et camera_fixed sont rejetés lorsque le modèle sélectionné ne les prend pas en charge.
Exemple Seedance
cURL
Réponse
Identifiant canonique de tâche asynchrone. Lorsque
id et task_id sont tous les deux présents, considérez-les comme la même tâche.Identifiant unique du task pour le polling.
URL de polling recommandée pour ce task. Utilisez ce chemin tel quel lors des vérifications d’état.
ID de transaction de facturation TokenLab lorsque le règlement est déjà terminé. Il s’agit de l’identifiant utilisé pour le dashboard / le rapprochement, distinct de l’
id / task_id asynchrone.Statut initial :
pending.Timestamp Unix de création de la tâche.
Modèle utilisé.
Image vers vidéo
Kling 3.0 Elements
Utilisezkling_elements avec kling-3.0-video lorsque vous avez besoin de références d’éléments. Fournissez une requête conditionnée par image (image_url, image_urls, start_image ou end_image) et référencez chaque élément dans le prompt avec @name. Ne combinez pas kling_elements avec output_audio=true ; omettez output_audio ou définissez-le sur false pour les requêtes avec références d’éléments.
Référence vers vidéo
Utilisezoperation=reference-to-video lorsque le modèle prend en charge un conditionnement de référence dédié. Dans le détails du modèle de TokenLab, les références d’image utilisent reference_images, tandis que les vidéos et audios de référence multimodaux utilisent video_urls et audio_urls. Pour seedance-2.0 et seedance-2.0-fast, TokenLab prend actuellement en charge jusqu’à 9 images de référence, ainsi que jusqu’à 3 vidéos de référence et 3 audios de référence. Pour le choix du modèle, les limites 4K et les notes Mini, consultez le guide des modèles vidéo Seedance 2.0. duration contrôle uniquement la durée de sortie générée ; il ne fixe pas de limite distincte pour la durée de la vidéo de référence en entrée. Pour grok-imagine-video, reference-to-video accepte jusqu’à 7 références image (reference_images ou image_urls) et duration est limitée à 10 secondes. Ne combinez pas les références image avec des entrées de première frame image_url / image. grok-imagine-video-1.5-preview est limité à image-to-video.
Contrôle début / fin
Utilisezstart_image et end_image pour contrôler la première et la dernière image.
Vidéo vers vidéo
Pour le video-to-video degrok-imagine-video, envoyez une URL .mp4 HTTPS publique dans video_url. TokenLab la traduit vers le corps REST xAI video.url. Vous pouvez définir resolution sur 480p ou 720p; duration et aspect_ratio ne sont pas acceptés pour ce flux d’édition.
Si un modèle accepte une vidéo existante comme entrée principale, utilisez operation=video-to-video.
Contrôle de mouvement
Quand un modèle exige à la fois une image de sujet et une vidéo de mouvement de référence, utilisezoperation=motion-control. TokenLab normalise la forme publique image_url + video_url vers le format motion-control de ce modèle.
Découverte des modèles
L’inventaire vidéo public et les opérations prises en charge évoluent dans le temps. Utilisez la Models API comme référence actuelle avant d’implémenter un flux propre à un modèle :audio-to-video et video-extension sont propres à certains modèles ; confirmez leur disponibilité actuelle à cet endroit plutôt que de vous appuyer sur les exemples statiques de cette page.