Génération de vidéos
Générez des vidéos à partir de texte ou d'images de manière asynchrone, avec audio, résolution et format d'image optionnels.
/v1/videos/generationsLa génération de vidéos s'exécute de manière asynchrone : le point d'accès renvoie immédiatement un 202 avec un job.id, et la vidéo est rendue en arrière-plan. Interrogez GET /v1/jobs/:id (voir Tâches asynchrones) jusqu'à ce que status passe à completed ou failed. Le helper createAndWait(...) du SDK fait les deux en un seul appel.
La facturation se fait par seconde de sortie, selon la résolution : 480p = 260 cr/sec · 720p = 580 cr/sec. Un clip 480p typique de 10 secondes coûte 2 600 crédits. Si une tâche échoue après facturation (erreur en amont, dépassement de délai), les crédits débités sont automatiquement remboursés.
Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
model | string | Oui | seedance-2 (ByteDance Seedance 2.0) ou kling-v3 (Kuaishou Kling V3). |
prompt | string | Oui | Description textuelle de la scène et du mouvement. |
duration | integer | Non | Secondes, 1–15. Utilisez -1 pour automatique (facturé à 10 s). Par défaut 5. |
resolution | string | Non | "480p" ou "720p". Par défaut "480p". |
aspect_ratio | string | Non | 16:9, 9:16, 1:1, 4:3, 3:4, ou adaptive. Par défaut "16:9". |
generate_audio | boolean | Non | Synthétise une bande-son (dialogues, effets sonores, musique). Par défaut true. |
seed | integer | Non | Fixe la sortie pour la reproductibilité. |
image_url | string | Non | Référence de première image (URL HTTP). Active l'image-vers-vidéo. |
last_frame_image_url | string | Non | Image cible de fin. Requiert image_url. |
reference_images | string[] | Non | Jusqu'à 9 URL. Mutuellement exclusif avec image_url. Référencées dans le prompt comme [Image1], [Image2], … |
reference_videos | string[] | Non | Jusqu'à 3 URL (cumul ≤ 15 s). Référencées comme [Video1], … |
reference_audios | string[] | Non | Jusqu'à 3 URL. Requiert image_url ou reference_images. Référencées comme [Audio1], … |
Exemple
import Tchavi from '@tchavi/sdk';
const client = new Tchavi({ apiKey: 'YOUR_API_KEY' });
// En une ligne : soumettre + interroger jusqu'à completed/failed
const job = await client.videos.generations.createAndWait({
model: 'seedance-2',
prompt: 'Un plan cinématographique de la statue de l\'Amazone de Cotonou à l\'heure dorée',
duration: 5,
resolution: '480p',
aspect_ratio: '9:16',
generate_audio: true,
});
if (job.status === 'completed') {
console.log('URL de la vidéo :', job.output?.video_url);
console.log('Crédits utilisés :', job.tchavi?.credits_used);
} else {
console.error('Échec :', job.error?.message);
}