Premiers pas
Démarrage rapide
Créez une clé API, ajoutez des crédits et générez votre première vidéo IA avec JavaScript, Python ou cURL en moins de deux minutes.
Ce guide vous accompagne de zéro jusqu’à votre première vidéo générée avec Seedance 2.0 Fast. Les mêmes étapes fonctionnent pour tous les modèles : seuls le point de terminaison et les champs d’entrée changent.
Vous utilisez un agent de programmation ?
Collez ceci dans Claude Code, Cursor, Codex ou tout autre agent de programmation. Il ajoute l’API à votre projet, conserve la clé dans CHEAPERGEN_API_KEY et teste le devis gratuit avant toute dépense.
Add Seedance 2.0 Fast (CheaperGen endpoint bytedance/ seedance-2.0-fast/ text-to-video) to this project by following https:/ / cheapergen.com/ agents/ integrate.mdCréer un compte et une clé API
Connectez-vous avec Google ou par e-mail, puis ouvrez Tableau de bord → Clés API et créez une clé. Elle ressemble à
cg_live_…et ne s’affiche qu’une seule fois : copiez-la et conservez-la en lieu sûr.Ajouter des crédits
CheaperGen fonctionne avec des crédits prépayés. Ajoutez des crédits dans Tableau de bord → Facturation. L’exemple ci-dessous coûte $0.45 — $0,605 à the official priceLes générations échouées sont automatiquement remboursées. Voir Facturation et crédits.
Définir votre clé API
Ne placez pas la clé dans votre code. Tous les exemples de cette documentation la lisent depuis une variable d’environnement :
export CHEAPERGEN_API_KEY="cg_live_..."Envoyer une génération
Envoyez les entrées du modèle à
POST /api/v1/run/bytedance/seedance-2.0-fast/text-to-video. Les scripts ci-dessous envoient la tâche, interrogent son état jusqu’à ce qu’elle se termine et affichent l’URL de la vidéo.const API = "https://cheapergen.com/api/v1"; const headers = { Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`, "Content-Type": "application/json", }; // 1. Submit the job let job = await fetch(`${API}/run/bytedance/seedance-2.0-fast/text-to-video`, { method: "POST", headers, body: JSON.stringify({ "prompt": "Travelling avant lent sur un céramiste qui façonne un vase à l’heure dorée, poussière dans la lumière, faible profondeur de champ", "aspect_ratio": "16:9", "resolution": "720p", "duration": 5 }), }).then((r) => r.json()); // 2. Poll until it finishes (or pass webhook_url and skip polling) while (job.status === "queued" || job.status === "running") { await new Promise((r) => setTimeout(r, 3000)); job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json()); } console.log(job.status === "succeeded" ? job.output.video.url : job.error);L’API répond immédiatement avec 202 Accepted et une génération à l’état
queued. Le prix indiqué danscost.amount_usdest réservé sur votre solde pendant l’exécution de la tâche.202 Accepted{ "id": "gen_8c2QmX1nq0k4Lw7Z", "object": "generation", "model": "bytedance/seedance-2.0-fast", "endpoint": "bytedance/seedance-2.0-fast/text-to-video", "mode": "text-to-video", "status": "queued", "input": { "prompt": "Travelling avant lent sur un céramiste qui façonne un vase à l’heure dorée, poussière dans la lumière, faible profondeur de champ", "aspect_ratio": "16:9", "resolution": "720p", "duration": 5, "generate_audio": true }, "output": null, "error": null, "cost": { "amount_usd": 0.4494, "currency": "usd", "estimated": true }, "source": "api", "created_at": "2026-10-15T09:21:04.512Z", "started_at": null, "completed_at": null, "retention": "1d", "expires_at": null, "purged_at": null, "urls": { "get": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4Lw7Z", "cancel": "https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4Lw7Z/cancel" } }Récupérer le résultat
Interrogez la génération jusqu’à ce que
statusatteigne l’étatsucceededoufailed. Les tâches vidéo prennent généralement une à quelques minutes ; les images, quelques secondes.curl https://cheapergen.com/api/v1/generations/gen_8c2QmX1nq0k4Lw7Z \ -H "Authorization: Bearer $CHEAPERGEN_API_KEY"200 OK{ "id": "gen_8c2QmX1nq0k4Lw7Z", "object": "generation", "model": "bytedance/seedance-2.0-fast", "endpoint": "bytedance/seedance-2.0-fast/text-to-video", "mode": "text-to-video", "status": "succeeded", "input": { "prompt": "Travelling avant lent sur un céramiste qui façonne un vase à l’heure dorée, poussière dans la lumière, faible profondeur de champ", "aspect_ratio": "16:9", "resolution": "720p", "duration": 5, "generate_audio": true }, "output": { "video": { "url": "https://cdn.cheapergen.com/outputs/gen_8c2QmX1nq0k4Lw7Z.mp4", "content_type": "video/mp4" } }, "error": null, "cost": { "amount_usd": 0.4494, "currency": "usd", "estimated": false }, "source": "api", "created_at": "2026-10-15T09:21:04.512Z", "started_at": "2026-10-15T09:21:09.031Z", "completed_at": "2026-10-15T09:22:31.870Z", "retention": "1d", "expires_at": "2026-10-16T09:22:31.870Z", "purged_at": null }Éviter les interrogations avec les webhooks
Ajoutez"webhook_url": "https://your-app.com/hooks/cheapergen"au corps de la requête et nous vous enverrons la génération terminée par POST. Voir Webhooks.
Étapes suivantes#
- Comprendre le cycle de vie d’une génération — états, délais d’interrogation, annulation et résultats.
- Choisir un modèle — tous les identifiants de points de terminaison et leur prix par seconde ou par image.
- Gérer les erreurs — quelles réponses réessayer et lesquelles corriger.
- Référence de l’API Seedance 2.0 Fast — chaque champ d’entrée, son type et sa valeur par défaut.
Quelque chose n’est pas clair ou manque ? Écrivez à support@cheapergen.com : nous lisons tous les messages.