TokenLab

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érationEntrée requise ou typiqueCas d'utilisation
text-to-videopromptGénérer uniquement à partir de texte
image-to-videoimage_url ou image compatibleAnimer une image de départ
reference-to-videoreference_images et video_urls / audio_urls optionnels sur les modèles pris en chargeConserver l'identité, le style ou les références d'actifs
start-end-to-videostart_image, end_imageContrôler les premières et dernières images
video-to-videovideo_url ou task_id spécifique au modèleTransformer ou améliorer un clip existant
motion-controlimage_url plus video_urlAppliquer une référence de mouvement à un sujet
audio-to-videoaudio_urlFlux vidéo conditionnés par l'audio
video-extensiontask_id, extend_at, ou champs d'extension spécifiques au modèleContinuer 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.1 et veo3.1-fast génèrent toujours du son selon le contrat Gemini API. La génération vidéo de wan-2.6 et wan-2.7 ne permet pas non plus de désactiver le son. Omettez output_audio ou utilisez true si la fiche du modèle le permet.
  • hailuo-h3 et 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-turbo activent le son par défaut et permettent une sortie silencieuse. PixVerse C1/V5.6/V6 désactivent le son par défaut. Utilisez output_audio uniquement pour les opérations qui le déclarent ; Vidu accepte aussi son champ booléen déclaré audio.
  • audio_url / audio_urls fournissent 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, envoyez prompt et une URL HTTPS publique .mp4 dans video_url. Cette opération n’utilise pas les options duration, resolution ou aspect_ratio.

PixVerse et HappyHorse

ModèleOpérationsEntréesRésolutionDuréeSélecteur audio
pixverse-c1, pixverse-v6text-to-video, image-to-video, start-end-to-video, reference-to-videoprompt; image_url; start_image + end_image; reference_images360p, 540p, 720p, 1080pTout entier de 1 à 15 secondesoutput_audio, false par défaut
pixverse-v5.6text-to-video, image-to-video, start-end-to-video, reference-to-videoMêmes champs que C1 et V6360p, 540p, 720p, 1080p5, 8 ou 10 secondes ; 1080p prend en charge 5 ou 8 secondesoutput_audio, false par défaut
happyhorse-1.0text-to-video, image-to-video, reference-to-video, video-to-videoprompt; image_url; reference_images; video_url + reference_images720p, 1080p3 à 15 secondes pour les opérations de génération ; la sortie video-to-video est limitée à 15 secondesNe 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 duration dé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

SujetRéférence
Créer une VidéoCréer une Vidéo
Obtenir le Statut de la VidéoObtenir le Statut de la Vidéo
Obtenir le Statut de la TâcheObtenir le Statut de la Tâche
Annuler la TâcheAnnuler la Tâche
Facturation & TarificationFacturation & 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"
}

Sur cette page