BETTERTOKEN · AI VIDEO API

API de génération vidéo

Une clé API. Quatre familles de modèles. Paiement à la seconde. Choisissez Seedance, Kling, MiniMax H3 ou WAN et créez avec la même API asynchrone.

Seedance 2.516:9
Kling 3.016:9
MiniMax H316:9
WAN 3.016:9
Une clé : 4 modèles vidéo + texte et images
Paiement à l’usage, sans abonnement
Les générations échouées ne sont pas facturées
Stripe + USDT
Premier rechargement : payez 3,00 $US, recevez 5,00 $US de solde

Choisissez le modèle vidéo de votre application

Comparez les dix SKU disponibles. Les prix correspondent au tarif de sortie le plus bas de chaque SKU, distinct des réglages des exemples.

Choisir par capacité
ModèleSecondes par vidéoRésolutionEntrées prises en chargeAudioIdéal pour
Seedance 2.5 seedance-2.5-cn0,176 $US / s480p4–30 s480p / 720p / 1080p1080pTexte · début/début+fin · ≤30 images · références vidéo/audioAudio natif · activé / désactivéRécits de 30 secondes
Entrées et audio
Modèle
seedance-2.5-cn
Entrées prises en charge
Texte · début/début+fin · ≤30 images · références vidéo/audio
Audio
Audio natif · activé / désactivé
Secondes par vidéo
4–30 s
Résolution
480p / 720p / 1080p
Seedance 2.0 seedance-2.0-cn0,097 $US / s480p4–15 s480p / 720p / 1080p / 4K4KTexte · début/début+fin · ≤9 images · références vidéo/audio ; l’audio exige une image ou vidéo.Audio natif · activé / désactivéSortie en 4K
Entrées et audio
Modèle
seedance-2.0-cn
Entrées prises en charge
Texte · début/début+fin · ≤9 images · références vidéo/audio ; l’audio exige une image ou vidéo.
Audio
Audio natif · activé / désactivé
Secondes par vidéo
4–15 s
Résolution
480p / 720p / 1080p / 4K
Seedance Fast seedance-2.0-fast-cn0,078 $US / s480p4–15 s480p / 720p720pTexte · début/début+fin · ≤9 images · références vidéo/audio ; l’audio exige une image ou vidéo.Audio natif · activé / désactivéBrouillons à résolution inférieure
Entrées et audio
Modèle
seedance-2.0-fast-cn
Entrées prises en charge
Texte · début/début+fin · ≤9 images · références vidéo/audio ; l’audio exige une image ou vidéo.
Audio
Audio natif · activé / désactivé
Secondes par vidéo
4–15 s
Résolution
480p / 720p
Seedance Mini seedance-2.0-mini-cn0,048 $US / s480p4–15 s480p / 720p720pTexte · début/début+fin · ≤9 images · références vidéo/audio ; l’audio exige une image ou vidéo.Audio natif · activé / désactivéBrouillons moins coûteux
Entrées et audio
Modèle
seedance-2.0-mini-cn
Entrées prises en charge
Texte · début/début+fin · ≤9 images · références vidéo/audio ; l’audio exige une image ou vidéo.
Audio
Audio natif · activé / désactivé
Secondes par vidéo
4–15 s
Résolution
480p / 720p
Kling 3.0 kling-3.00,099 $US / sStandard 720p · Audio désactivé3–15 sStandard 720p / Pro 1080p / 4K4KTexte · début/début+fin · ≤6 plans personnalisésAudio natif · activé / désactivéStoryboards structurés
Entrées et audio
Modèle
kling-3.0
Entrées prises en charge
Texte · début/début+fin · ≤6 plans personnalisés
Audio
Audio natif · activé / désactivé
Secondes par vidéo
3–15 s
Résolution
Standard 720p / Pro 1080p / 4K
MiniMax H3 minimax-h30,050 $US / s768p4–15 s768p / 2K2KTexte · début / fin / les deux · ≤9 images · références vidéo/audioInclus (toujours activé)2K · image de fin indépendante
Entrées et audio
Modèle
minimax-h3
Entrées prises en charge
Texte · début / fin / les deux · ≤9 images · références vidéo/audio
Audio
Inclus (toujours activé)
Secondes par vidéo
4–15 s
Résolution
768p / 2K
WAN 3.0 wan-3.00,047 $US / s480p2–30 s480p / 720p / 1080p1080pTexte · début/début+fin · ≤10 images · références vidéo/audioAudio natif · activé / désactivéClips de 30 secondes guidés par références
Entrées et audio
Modèle
wan-3.0
Entrées prises en charge
Texte · début/début+fin · ≤10 images · références vidéo/audio
Audio
Audio natif · activé / désactivé
Secondes par vidéo
2–30 s
Résolution
480p / 720p / 1080p
WAN 3.0 Prime wan-3.0-prime0,067 $US / s480p2–30 s480p / 720p / 1080p1080pTexte · début/début+fin · ≤10 images · références vidéo/audioAudio natif · activé / désactivéPositionnement haute vitesse du fournisseur
Entrées et audio
Modèle
wan-3.0-prime
Entrées prises en charge
Texte · début/début+fin · ≤10 images · références vidéo/audio
Audio
Audio natif · activé / désactivé
Secondes par vidéo
2–30 s
Résolution
480p / 720p / 1080p
WAN 2.7 T2V wan-2.7-t2v0,094 $US / s720p2–15 s720p / 1080p1080pTexte · audio de pilotage facultatif · cinq ratios fixesInclus (toujours activé)Flux fixe texte vers vidéo
Entrées et audio
Modèle
wan-2.7-t2v
Entrées prises en charge
Texte · audio de pilotage facultatif · cinq ratios fixes
Audio
Inclus (toujours activé)
Secondes par vidéo
2–15 s
Résolution
720p / 1080p
WAN 2.7 I2V wan-2.7-i2v0,098 $US / s720p2–15 s720p / 1080p1080pDébut/début+fin · audio de pilotage facultatif · ratio selon l’imageInclus (toujours activé)Flux fixe image vers vidéo
Entrées et audio
Modèle
wan-2.7-i2v
Entrées prises en charge
Début/début+fin · audio de pilotage facultatif · ratio selon l’image
Audio
Inclus (toujours activé)
Secondes par vidéo
2–15 s
Résolution
720p / 1080p

Les prix de départ utilisent la résolution la plus basse ; Kling commence sans audio.

Choisissez selon votre création

Associez les capacités de chaque modèle à votre usage.

DÉMARRAGE POUR LES DÉVELOPPEURS

Une API asynchrone pour tous les modèles vidéo

Devis → création → suivi → téléchargement.202 signifie accepté, pas terminé. Si l’acceptation est incertaine, gardez la même clé d’idempotence et le même corps. Téléchargez uniquement après completed.Ces exemples sont minimaux — en production, conservez l’Idempotency-Key et l’ID de la tâche pour reprendre après un redémarrage.

Afficher les instructions de l’agent IA
Intégrez l’API vidéo de BetterToken dans l’application de l’utilisateur.
Lisez BETTERTOKEN_API_KEY uniquement dans l’environnement ; ne l’intégrez jamais au code, aux journaux ou aux données analytiques.
Base : https://bettertoken.ai/v1
Modèle : wan-3.0.
Prompt : A rainy city street at night, slow forward camera move
Utilisez exactement le JSON de requête ci-dessous et respectez les champs et limites du modèle choisi.
POST /videos/quote avec la même requête fournit une estimation sans réservation de solde. L’authentification est obligatoire ; ce n’est pas le point d’accès public aux tarifs.
AVANT POST /videos, enregistrez hors du processus un nouvel Idempotency-Key et le corps exact. Après un redémarrage, rechargez cet état ou reprenez la tâche acceptée avec son ID enregistré. Réutilisez les deux si la réponse est incertaine ; un délai dépassé ne justifie pas une nouvelle tâche payante.
Après l’acceptation 202 sur /videos (200 sur la route de compatibilité), enregistrez id et interrogez GET /videos/{id} toutes les 5 secondes. Gérez queued, in_progress, completed, failed et canceled. Un envoi incertain reste in_progress avec stage=reconciliation ; ne créez pas de tâche de remplacement. En cas de 429, respectez Retry-After. Effectuez au maximum 360 interrogations espacées de 5 secondes ; les délais réseau et les attentes liées aux limites peuvent prolonger la durée totale. Conservez l’ID à l’arrêt ; arrêter les interrogations n’annule ni ne recrée la tâche.
Après completed, appelez GET /videos/{id}/content avec une clé API autorisée du propriétaire. Un fichier expiré renvoie 410 video_artifact_expired. Le contenu est privé ; traitez l’expiration et les problèmes de téléchargement séparément des échecs de génération.
Vérifiez le débit final dans la facturation. Un échec ou une annulation confirmé libère ou rembourse les fonds d’origine via le traitement financier ; le statut de la tâche seul ne prouve pas que le remboursement est terminé. Un envoi incertain et un problème de livraison après génération nécessitent un traitement distinct.
Les erreurs relay figurent dans error : 402 video_insufficient_balance, 409 video_idempotency_conflict/video_acceptance_pending, 422 pour les paramètres invalides et 503 pour une acceptation incertaine ou un service indisponible. Conservez la clé et le corps d’origine si la réponse est incertaine. N’ajoutez ni abonnement web ni génération dans la page.

{
  "model": "wan-3.0",
  "operation": "text_to_video",
  "prompt": "A rainy city street at night, slow forward camera move",
  "duration": {
    "mode": "fixed",
    "seconds": 5
  },
  "output": {
    "format": "mp4",
    "resolution": "480p",
    "aspect_ratio": "16:9"
  },
  "audio": {
    "mode": "on"
  }
}
# Minimal example: persist the Idempotency-Key and task ID in production.
# Requires curl, jq and BETTERTOKEN_API_KEY in your environment.
BASE=https://bettertoken.ai/v1
IDEM="$(uuidgen)"
cat > request.json <<'JSON'
{
  "model": "wan-3.0",
  "operation": "text_to_video",
  "prompt": "A rainy city street at night, slow forward camera move",
  "duration": {
    "mode": "fixed",
    "seconds": 5
  },
  "output": {
    "format": "mp4",
    "resolution": "480p",
    "aspect_ratio": "16:9"
  },
  "audio": {
    "mode": "on"
  }
}
JSON

curl --fail-with-body "$BASE/videos/quote" \
  -H "Authorization: Bearer $BETTERTOKEN_API_KEY" \
  -H 'Content-Type: application/json' --data-binary @request.json || exit 1

TASK=$(curl --fail-with-body "$BASE/videos" \
  -H "Authorization: Bearer $BETTERTOKEN_API_KEY" \
  -H "Idempotency-Key: $IDEM" \
  -H 'Content-Type: application/json' --data-binary @request.json) || exit 1
ID=$(printf '%s' "$TASK" | jq -er '.id') || exit 1
# Poll up to 360 times, waiting 5 seconds between requests.
# Network delays can extend the total time.
for attempt in $(seq 1 360); do
  TASK=$(curl --fail-with-body "$BASE/videos/$ID" \
    -H "Authorization: Bearer $BETTERTOKEN_API_KEY") || exit 1
  STATUS=$(printf '%s' "$TASK" | jq -r '.status')
  case "$STATUS" in
    completed) break ;;
    failed|canceled) printf '%s\n' "$TASK"; exit 1 ;;
  esac
  sleep 5
done
[ "$STATUS" = completed ] || { echo "Resume polling task: $ID"; exit 1; }
curl --fail-with-body "$BASE/videos/$ID/content" \
  -H "Authorization: Bearer $BETTERTOKEN_API_KEY" -o video.mp4

Qu’est-ce qui change en passant d’un modèle à l’autre ?

Le flux reste identique. Chaque modèle accepte ses propres champs JSON. Le code suit votre sélection dans le calculateur ci-dessous.

ParamètreValeur et limites
Routes communesPOST /v1/videos/quote → POST /v1/videos → GET /v1/videos/{id} → GET /v1/videos/{id}/content. Clé Bearer, corps JSON ; conservez Idempotency-Key à la création.
Seedance 2.5 / 2.0 / Fast / Mini4–30 / 4–15 / 4–15 / 4–15 s. Résolution (output.resolution) : jusqu’à 1080p / 4K / 720p / 720p. Audio : activé/désactivé (audio). Max. 30 / 9 / 9 / 9 images de référence. Pour 2.0 / Fast / Mini uniquement : les références audio exigent une image ou une vidéo.
Kling 3.03–15 s. Mode de sortie (provider_options.kling.mode) : Standard 720p / Pro 1080p / 4K (std / pro / 4k) ; sans output.resolution. Audio : activé/désactivé (audio). Ratios texte : 16:9 / 9:16 / 1:1 ; images selon l’entrée. Max. 6 plans (shots) ; pas d’image de fin avec shots.
MiniMax H34–15 s · 768p / 2K. Audio natif par défaut, sans interrupteur. Omettez audio ou utilisez {mode:"provider_default"}. Texte : ratio fixe ; image : adaptive (output.aspect_ratio). Image de fin indépendante. Max. 9 images, 3 vidéos (limite du contrat ; combinaisons complètes non encore vérifiées) et 3 audios ; 2–15 s chacun, max. 15 s par type, 12 fichiers en tout.
WAN 3.0 / Prime2–30 s · 480p / 720p / 1080p. Audio : activé/désactivé (audio). Max. 10 images, 5 vidéos (limite du contrat ; combinaisons complètes non encore vérifiées) et 5 audios ; 1–15 s chacun, max. 15 s par type, 20 fichiers en tout. Vidéo d’entrée + sortie : max. 30 s. Images de début/fin et références ont des modes distincts.
WAN 2.7 T2V2–15 s · 720p / 1080p. Texte vers vidéo (text_to_video). Ratios : 16:9 / 9:16 / 1:1 / 4:3 / 3:4. Audio natif par défaut, sans interrupteur. Omettez audio ou utilisez {mode:"provider_default"}. Audio de pilotage facultatif (driving_audio) : 1 clip.
WAN 2.7 I2V2–15 s · 720p / 1080p. Image vers vidéo (image_to_video). Image de début requise, fin facultative (media : chaque élément avec id unique, type, role et source). Ratio selon l’image (sans output.aspect_ratio). Audio natif par défaut, sans interrupteur. Omettez audio ou utilisez {mode:"provider_default"}. Audio de pilotage facultatif (driving_audio) : 1 clip.

TARIFS

Tarifs et calculateur de l’API de génération vidéo

Choisissez un modèle et les réglages adaptés à votre budget.

Facturation selon les secondes de sortie réelles ; les références vidéo utilisent le tarif de la résolution choisie.

Dix SKU disponibles · une clé et un solde

Prix à la date indiquée · 2026-11-09

Estimez le coût de l’API de génération vidéo

Choisissez le modèle, la résolution, la durée et le nombre de clips.

Modèle
Résolution
Audio natif

Coût mensuel estimé23,50 $US
Par vidéo
0,235 $US
Secondes générées par mois
500
Obtenir une clé API →

Estimation de sortie seule ; les références peuvent ajouter des frais

Montants et offres de rechargement

WAN 3.0 · 480p · Estimation selon les paramètres sélectionnés

Solde créditéVous payezRemiseSecondes de vidéo · estimationRecharger
5,00 $USPremière recharge3,00 $US2,00 $US≈ 106 sRecharger →
50,00 $US48,00 $US2,00 $US≈ 1 063 sRecharger →
100,00 $US95,00 $US5,00 $US≈ 2 127 sRecharger →
200,00 $US185,00 $US15,00 $US≈ 4 255 sRecharger →
500,00 $US450,00 $US50,00 $US≈ 10 638 sRecharger →

L’offre de premier rechargement et les remises par montant sont distinctes. L’offre applicable est confirmée au paiement. Les moyens disponibles sont confirmés lors du paiement.

MODÈLES VIDÉO

Même prompt, quatre modèles

Comparez les exemples issus du même prompt et découvrez chaque modèle.

Prompt commun

Original anglais · prompt de génération

Night city street after rain, seen from a slow forward dolly shot at low height: wet asphalt reflecting colorful lights, light trails from passing cars, soft steam rising from a street grate, light drizzle. Generic modern architecture. No people, no readable text, signs, logos, license plates, flags or recognizable landmarks. Cinematic, realistic.

Questions fréquentes

Questions sur l’API de génération vidéo

Utilisez Seedance 2.5 ou WAN 3.0 pour les clips de 30 secondes, Kling pour six plans structurés maximum, Seedance 2.0 ou Kling pour la 4K, Mini ou WAN 480p pour réduire les coûts, et H3 pour une image de fin indépendante ou la 2K avec son natif par défaut.

Voir les exemples API

BETTERTOKEN · VIDEO GENERATION API

Une clé. Votre premier appel à l’API vidéo.

Premier rechargement : payez 3,00 $US, recevez 5,00 $US de solde