Skip to content
API Reference · API Génération vidéo

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 disponibles
  • POST https://api.alltoken.ai/v1/videos/generations — créer une tâche de génération
  • GET https://api.alltoken.ai/v1/videos/generations/{id} — sonder l'état de la tâche
  • GET https://api.alltoken.ai/v1/videos/generations — lister les tâches
  • POST https://api.alltoken.ai/v1/videos/generations/{id}/cancel — annuler une tâche

Lister les modèles vidéo

GET
$GET https://api.alltoken.ai/v1/videos/models

Retourne tous les modèles de génération vidéo disponibles au format compatible OpenAI.

Réponse JSON
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
$POST https://api.alltoken.ai/v1/videos/generations

Texte→vidéo :

Corps de requête JSON
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) :

Corps de requête JSON
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) :

Réponse JSON
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ée
  • content — Tableau d'entrée multimodale (image→vidéo, référence vidéo). Chaque élément contient type (image_url / video_url / audio_url / draft_task) et role (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 / adaptive
  • duration — Durée en secondes ; -1 pour décision automatique
  • resolution480p / 720p / 1080p
  • frames — Nombre d'images (priorité sur duration)
  • generate_audio — Générer une piste audio synchronisée
  • input_has_video - Set when the input content includes a video reference
  • seed — Graine aléatoire pour la reproductibilité
  • camera_fixed — Verrouiller la caméra
  • watermark — Ajouter un filigrane (par défaut false)
  • callback_url — URL appelée à la fin de la tâche
  • return_last_frame — Retourner l'URL de la dernière image (pour continuation)
  • service_tierdefault / flex
  • execution_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 charge
  • tools — Configuration d'outils optionnelle, par exemple web_search
  • safety_identifier — Identifiant de sécurité stable optionnel, jusqu'à 64 caractères

Obtenir l'état de la tâche

GET
$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.

Réponse JSON
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 GPU
  • processing — Modèle en cours de génération
  • completed — Terminée, video_url disponible
  • failed — Échec de génération ; détails dans error
  • expiredvideo_url expirée et non rafraîchie
  • cancelled — 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
$GET https://api.alltoken.ai/v1/videos/generations?limit=20&status=completed

Liste 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
$POST https://api.alltoken.ai/v1/videos/generations/{id}/cancel

Annule 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 manquante
  • 402 — Solde insuffisant
  • 404 — ID de tâche introuvable
  • 409 — É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