Guides médias
Génération de Vidéo
Générez des vidéos avec des opérations publiques explicites, un polling asynchrone et des entrées multimédias spécifiques au modèle.
La génération de vidéo est asynchrone. POST /v1/videos/generations renvoie une identité de tâche publique et généralement un poll_url ; la vidéo finale apparaît dans les réponses de statut ultérieures.
Envoyez des URL HTTP(S) publiques ou des data URL prises en charge dans les champs image du modèle choisi. Ces entrées suivent le traitement média habituel et ne créent pas automatiquement d’ID de ressource réutilisable.
Si une ressource explicitement indiquée est encore en préparation, POST /v1/videos/generations renvoie 409 seedance_material_preparing avec inactive_asset_ids. Consultez ces ressources jusqu’à ACTIVE, puis réessayez avec les mêmes ID. En cas de FAILED, consultez error_message et corrigez ou réimportez la ressource avant de réessayer.
Opérations prises en charge
Utilisez une operation explicite en production. TokenLab peut inférer certaines opérations à partir des entrées, mais des valeurs d'opération explicites rendent la validation, le support et les réessais plus clairs.
| Opération | Entrée requise ou typique | Cas d'utilisation |
|---|---|---|
text-to-video | prompt | Générer uniquement à partir de texte |
image-to-video | image_url ou image compatible | Animer une image de départ |
reference-to-video | reference_images et video_urls / audio_urls optionnels sur les modèles pris en charge | Conserver l'identité, le style ou les références d'actifs |
start-end-to-video | start_image, end_image | Contrôler les premières et dernières images |
video-to-video | video_url ou task_id spécifique au modèle | Transformer ou améliorer un clip existant |
motion-control | image_url plus video_url | Appliquer une référence de mouvement à un sujet |
audio-to-video | audio_url | Flux vidéo conditionnés par l'audio |
video-extension | task_id, extend_at, ou champs d'extension spécifiques au modèle | Continuer une vidéo générée |
Découverte de Modèle
curl "https://api.tokenlab.sh/v1/models?recommended_for=video" \
-H "Authorization: Bearer sk-your-api-key"Utilisez les IDs de modèle affichés par TokenLab dans model, puis choisissez les variantes de fonctionnalité avec operation et les entrées média correspondantes. Exemples : wan-2.7, happyhorse-1.0, viduq3, viduq3-mix, pixverse-v6, veo3.1 et seedance-2.0; n’utilisez pas de suffixes propres à une opération comme noms de modèles TokenLab.
Lisez les détails du modèle sélectionné avant de vous fier à des champs spécialisés tels que reference_images, kling_elements, output_audio, duration, resolution, ou aspect_ratio.
Créer une Demande
curl https://api.tokenlab.sh/v1/videos/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "veo3.1",
"operation": "text-to-video",
"prompt": "Une prise de vue cinématographique calme d’un chat marchant dans un jardin ensoleillé",
"duration": 4,
"aspect_ratio": "16:9"
}'Pour les entrées multimédias en production, préférez les URL publiques https aux URL data: en ligne. Si vous utilisez des URL temporaires, gardez-les valides jusqu’à ce que TokenLab ait terminé la création de la tâche.
Entrées et Champs Spécifiques au Modèle
Le comportement audio dépend du modèle et de l’opération. Une vidéo peut contenir du son sans sélecteur audio. Omettre un champ n’équivaut pas à envoyer false.
veo3.1etveo3.1-fastgénèrent toujours du son selon le contrat Gemini API. La génération vidéo dewan-2.6etwan-2.7ne permet pas non plus de désactiver le son. Omettezoutput_audioou utiliseztruesi la fiche du modèle le permet.hailuo-h3et les modèles vidéo Grok génèrent du son natif. N’ajoutez pas de sélecteur absent de la fiche du modèle.- Seedance 1.5/2.x et
viduq3-pro/viduq3-turboactivent le son par défaut et permettent une sortie silencieuse. PixVerse C1/V5.6/V6 désactivent le son par défaut. Utilisezoutput_audiouniquement pour les opérations qui le déclarent ; Vidu accepte aussi son champ booléen déclaréaudio. audio_url/audio_urlsfournissent une entrée ou une référence audio, pas un interrupteur de sortie. Le montage, le transfert de mouvement et de style peuvent conserver la piste d’origine. Conserver le son d’origine ne signifie pas le couper.
Consultez la fiche du modèle pour les valeurs autorisées et les tarifs audio. Les alias pris en charge outputAudio, generate_audio et le booléen audio doivent correspondre à output_audio lorsqu’ils sont combinés. Les contrôles varient selon la version et l’opération.
- Pour la famille Seedance 2.0, lisez le guide des modèles vidéo Seedance 2.0 avant d’utiliser la sortie 4K, les limites Fast/Mini ou les entrées de référence multimodales.
- Pour video-to-video avec
grok-imagine-video, envoyezpromptet une URL HTTPS publique.mp4dansvideo_url. Cette opération n’utilise pas les optionsduration,resolutionouaspect_ratio.
PixVerse et HappyHorse
| Modèle | Opérations | Entrées | Résolution | Durée | Sélecteur audio |
|---|---|---|---|---|---|
pixverse-c1, pixverse-v6 | text-to-video, image-to-video, start-end-to-video, reference-to-video | prompt; image_url; start_image + end_image; reference_images | 360p, 540p, 720p, 1080p | Tout entier de 1 à 15 secondes | output_audio, false par défaut |
pixverse-v5.6 | text-to-video, image-to-video, start-end-to-video, reference-to-video | Mêmes champs que C1 et V6 | 360p, 540p, 720p, 1080p | 5, 8 ou 10 secondes ; 1080p prend en charge 5 ou 8 secondes | output_audio, false par défaut |
happyhorse-1.0 | text-to-video, image-to-video, reference-to-video, video-to-video | prompt; image_url; reference_images; video_url + reference_images | 720p, 1080p | 3 à 15 secondes pour les opérations de génération ; la sortie video-to-video est limitée à 15 secondes | Ne pas envoyer output_audio |
Sur TokenLab, les modèles PixVerse ci-dessus n'acceptent pas operation=video-extension.
curl https://api.tokenlab.sh/v1/videos/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "pixverse-v6",
"operation": "image-to-video",
"prompt": "A slow camera move through a neon-lit street",
"image_url": "https://example.com/start.jpg",
"resolution": "1080p",
"duration": 5,
"output_audio": true
}'Polling des Résultats
Utilisez d'abord le poll_url renvoyé. Si vous avez besoin d'un point de terminaison fixe, utilisez GET /v1/tasks/{id} avec le même id / task_id de la réponse de création.
Les tâches vidéo terminées peuvent renvoyer video_url, video ou videos selon le modèle et le nombre de sorties. Traitez billing_transaction_id comme un identifiant de facturation, et non comme un identifiant de tâche.
Pièges Courants
- Ne pas coder en dur les anciens chemins de statut vidéo ; préférez
poll_url. - Ne pas combiner les champs de première image avec des flux d'images de référence dédiés à moins que le détail du modèle ne le permette.
- Ne pas supposer que
durationdécrit la longueur de la vidéo de référence d'entrée ; il contrôle généralement la longueur de la sortie générée. - Ne pas réessayer les demandes de création après un délai d'attente sans vérifier si une tâche a déjà été créée.
Référence API
| Sujet | Référence |
|---|---|
| Créer une Vidéo | Créer une Vidéo |
| Obtenir le Statut de la Vidéo | Obtenir le Statut de la Vidéo |
| Obtenir le Statut de la Tâche | Obtenir le Statut de la Tâche |
| Annuler la Tâche | Annuler la Tâche |
| Facturation & Tarification | Facturation & Tarification |
APIs vidéo style OpenAI et compatibles Volc
Utilisez /v1/videos/generations pour l’API vidéo unifiée de TokenLab sur plusieurs modèles. Si vous migrez une intégration Seedance 2.0 qui utilise déjà content[] ou des requêtes Action de style Volc, utilisez les endpoints de compatibilité Seedance sous /api/v3. Les deux styles utilisent les clés TokenLab Bearer et le polling asynchrone, mais leurs formes de requête et de réponse diffèrent.
Hailuo H3-Max génère des vidéos de 5 à 15 secondes en 480p ou 768p à partir de texte, d’une première image ou d’une première et d’une dernière image. Son fonctionnement axé sur la rapidité permet de transformer rapidement une idée de plan en un court clip.
{
"model": "hailuo-h3-max",
"operation": "text-to-video",
"prompt": "A slow camera move through a quiet garden",
"resolution": "768p",
"duration": 5,
"aspect_ratio": "16:9"
}