API Génération vidéo
Génération vidéo asynchrone — créer, sonder, lister, annuler. Texte→vidéo et image→vidéo.
Vue d'ensemble
La génération vidéo est une tâche asynchrone : POST /videos/generations retourne immédiatement un ID de tâche, puis sondez GET /videos/generations/{id} jusqu'à ce que status devienne completed, et lisez video_url pour télécharger le résultat.
Modèles pris en charge : seedance-1.5-pro, seedance-2.0, etc. Utilisez GET /videos/models pour la liste à jour. Schéma complet et contraintes dans l'explorateur d'API interactif.
GET https://api.alltoken.ai/v1/videos/models— lister les modèles vidéo disponiblesPOST https://api.alltoken.ai/v1/videos/generations— créer une tâche de générationGET https://api.alltoken.ai/v1/videos/generations/{id}— sonder l'état de la tâcheGET https://api.alltoken.ai/v1/videos/generations— lister les tâchesPOST https://api.alltoken.ai/v1/videos/generations/{id}/cancel— annuler une tâche
Lister les modèles vidéo
$GET https://api.alltoken.ai/v1/videos/modelsRetourne tous les modèles de génération vidéo disponibles au format compatible OpenAI.
| 1 | { |
| 2 | "object": "list", |
| 3 | "data": [ |
| 4 | { "id": "seedance-1.5-pro", "object": "model", "owned_by": "chat" }, |
| 5 | { "id": "seedance-2.0", "object": "model", "owned_by": "chat" } |
| 6 | ] |
| 7 | } |
Créer une tâche de génération vidéo
$POST https://api.alltoken.ai/v1/videos/generationsTexte→vidéo :
| 1 | { |
| 2 | "model": "seedance-1.5-pro", |
| 3 | "prompt": "A cat surfing on a rainbow", |
| 4 | "duration": 5, |
| 5 | "ratio": "16:9", |
| 6 | "resolution": "720p" |
| 7 | } |
Image→vidéo (guidage par première image) :
| 1 | { |
| 2 | "model": "seedance-1.5-pro", |
| 3 | "prompt": "The cat jumps forward", |
| 4 | "content": [ |
| 5 | { |
| 6 | "type": "image_url", |
| 7 | "image_url": { "url": "https://example.com/cat.png" }, |
| 8 | "role": "first_frame" |
| 9 | } |
| 10 | ], |
| 11 | "duration": 5 |
| 12 | } |
Réponse (tâche créée, statut queued) :
| 1 | { |
| 2 | "id": "vgen_01abc", |
| 3 | "status": "queued", |
| 4 | "model": "seedance-1.5-pro", |
| 5 | "input_type": "text", |
| 6 | "ratio": "16:9", |
| 7 | "resolution": "720p", |
| 8 | "duration": 5, |
| 9 | "created_at": "2026-04-27T10:00:00Z" |
| 10 | } |
Paramètres de la requête
model(requis) — ID du modèle vidéo (ex."seedance-1.5-pro")prompt(requis) — Description textuelle de la vidéo souhaitéecontent— Tableau d'entrée multimodale (image→vidéo, référence vidéo). Chaque élément contienttype(image_url/video_url/audio_url/draft_task) etrole(first_frame/last_frame/reference_image/reference_video/reference_audio)ratio— Rapport d'image :16:9/9:16/4:3/3:4/21:9/1:1/adaptiveduration— Durée en secondes ;-1pour décision automatiqueresolution—480p/720p/1080pframes— Nombre d'images (priorité surduration)generate_audio— Générer une piste audio synchroniséeinput_has_video- Set when the input content includes a video referenceseed— Graine aléatoire pour la reproductibilitécamera_fixed— Verrouiller la camérawatermark— Ajouter un filigrane (par défautfalse)callback_url— URL appelée à la fin de la tâchereturn_last_frame— Retourner l'URL de la dernière image (pour continuation)service_tier—default/flexexecution_expires_after— Fenêtre d'expiration de l'exécution en secondes (3600-259200)draft— Créer ou utiliser une tâche brouillon lorsque le modèle le prend en chargetools— Configuration d'outils optionnelle, par exempleweb_searchsafety_identifier— Identifiant de sécurité stable optionnel, jusqu'à 64 caractères
Obtenir l'état de la tâche
$GET https://api.alltoken.ai/v1/videos/generations/{id}Retourne les détails de la tâche. Quand status est completed, video_url est l'URL de téléchargement.
| 1 | { |
| 2 | "id": "vgen_01abc", |
| 3 | "status": "completed", |
| 4 | "model": "seedance-1.5-pro", |
| 5 | "video_url": "https://cdn.example.com/videos/vgen_01abc.mp4", |
| 6 | "video_url_expires_at": "2026-04-27T11:00:00Z", |
| 7 | "video_url_ttl": 3600, |
| 8 | "duration": 5, |
| 9 | "fps": 24, |
| 10 | "resolution": "720p", |
| 11 | "ratio": "16:9", |
| 12 | "usage": { |
| 13 | "completion_tokens": 256, |
| 14 | "total_tokens": 256 |
| 15 | }, |
| 16 | "created_at": "2026-04-27T10:00:00Z", |
| 17 | "completed_at": "2026-04-27T10:01:32Z" |
| 18 | } |
video_url est une URL pré-signée qui expire après video_url_ttl secondes. Rappelez ce point de terminaison après expiration pour obtenir une nouvelle URL.
Valeurs de statut
queued— En file d'attente, en attente de GPUprocessing— Modèle en cours de générationcompleted— Terminée,video_urldisponiblefailed— Échec de génération ; détails danserrorexpired—video_urlexpirée et non rafraîchiecancelled— Annulée par l'utilisateur
Intervalle de sondage recommandé : 2-5 secondes. La plupart des tâches se terminent en 30-120 s ; les rendus haute résolution peuvent prendre 3-5 minutes.
Lister les tâches
$GET https://api.alltoken.ai/v1/videos/generations?limit=20&status=completedListe paginée des tâches de génération vidéo de l'utilisateur courant. Paramètres de requête :
limit— Taille de page (par défaut 20, max 100)status— Filtrer par statut (queued/processing/completed/failed/expired/cancelled)
Annuler une tâche
$POST https://api.alltoken.ai/v1/videos/generations/{id}/cancelAnnule une tâche non encore terminée (queued ou processing uniquement). Les tâches déjà completed / cancelled retournent 409 Conflict.
Réponses d'erreur
400— Mauvaise requête (ex. prompt vide, ratio invalide)401— API Key invalide ou manquante402— Solde insuffisant404— ID de tâche introuvable409— État de la tâche n'autorise pas cette action (ex. annuler une tâche terminée)429— Limite de débit dépassée