Primeros pasos
Inicio rápido
Crea una clave de API, añade créditos y genera tu primer video con IA en menos de dos minutos, usando JavaScript, Python o cURL.
Esta guía te lleva desde cero hasta un video terminado con Seedance 2.0 Fast. Los mismos pasos sirven para todos los modelos; solo cambian el endpoint y los campos de entrada.
¿Usas un agente de programación?
Pega esto en Claude Code, Cursor, Codex o cualquier agente de programación. Añade la API a tu proyecto, guarda la clave en CHEAPERGEN_API_KEY y prueba con una cotización gratuita antes de gastar nada.
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.mdCrea una cuenta y una clave de API
Inicia sesión con Google o correo electrónico; luego abre Panel → Claves de API y crea una clave. Tiene el formato
cg_live_…y solo se muestra una vez, así que guárdala en un lugar seguro.Añade saldo
CheaperGen es un servicio prepagado. Añade saldo en Panel → Facturación. El ejemplo de abajo cuesta $0.45 — $0,605 a the official price. Las generaciones fallidas se reembolsan automáticamente. Consulta Facturación y créditos.
Configura tu clave de API
No incluyas la clave en tu código. Todos los ejemplos de esta documentación la leen de una variable de entorno:
export CHEAPERGEN_API_KEY="cg_live_..."Enviar una generación
Envía los datos de entrada del modelo a
POST /api/v1/run/bytedance/seedance-2.0-fast/text-to-video. Los scripts siguientes envían la tarea, consultan el estado hasta que termina e imprimen la URL del video.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 lento hacia un ceramista que da forma a un jarrón a la hora dorada; polvo en la luz y poca profundidad de campo", "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);La API responde de inmediato con 202 Accepted y una generación en estado
queued. El precio que aparece encost.amount_usdse reserva de tu saldo mientras se ejecuta la tarea.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 lento hacia un ceramista que da forma a un jarrón a la hora dorada; polvo en la luz y poca profundidad de campo", "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" } }Obtén el resultado
Consulta la generación hasta que
statusestésucceededofailed. Las tareas de video suelen tardar entre uno y varios minutos; las imágenes, solo unos segundos.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 lento hacia un ceramista que da forma a un jarrón a la hora dorada; polvo en la luz y poca profundidad de campo", "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 }Omite las consultas con webhooks
Añade"webhook_url": "https://your-app.com/hooks/cheapergen"al cuerpo de la solicitud y te enviaremos la generación terminada mediante una solicitud POST. Consulta Webhooks.
Próximos pasos#
- Entiende el ciclo de vida de una generación: estados, intervalos de consulta, cancelaciones y resultados.
- Elige un modelo: todos los ID de endpoint y sus precios por segundo o por imagen.
- Gestiona los errores: qué respuestas reintentar y cuáles corregir.
- Referencia de la API Seedance 2.0 Fast: todos los campos de entrada, sus tipos y valores predeterminados.
¿Algo no está claro o falta información? Escribe a support@cheapergen.com; leemos todos los mensajes.