Genera el vídeo final
desde tu propio código
Un POST encola un renderizado en nuestros workers y un webhook firmado te entrega el mp4. Sin instalar ffmpeg, sin alquilar GPU, sin vigilar ninguna cola.
POSThttps://autostud.ai/api/v1/actions/renders.createTres llamadas, de la línea de tiempo al mp4
Crea el vídeo una vez y renderízalo tantas veces como necesites.
- 1
Crea el vídeo
Un vídeo contiene la línea de tiempo: capas, audio, subtítulos, formato. Créalo en una llamada o reutiliza el que tu equipo montó en el editor.
export AUTOSTUD_API_KEY="sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # A video is the timeline. Create one, or skip this step and reuse # a video your team already built in the editor. curl -X POST https://autostud.ai/api/v1/actions/videos.create \ -H "Authorization: Bearer $AUTOSTUD_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "video_name": "Launch teaser", "video_format": "portrait", "video_lang": "en" }' - 2
Encola el renderizado
Apunta renders.create al id del vídeo, ajusta lo que este trabajo necesite y sale a un worker de inmediato. La respuesta es el trabajo, no el archivo.
# The Idempotency-Key makes this call safe to retry: send it twice # and you get the same render back, never a second job. curl -X POST https://autostud.ai/api/v1/actions/renders.create \ -H "Authorization: Bearer $AUTOSTUD_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: launch-teaser-v3" \ -d '{ "video_id": "0f4c8b71-2d95-47a3-9e6c-15b8ad7f3c20", "render_settings": { "quality": "high" } }' - 3
Recoge el mp4
render.completed llega con la URL de salida. Si tu stack prefiere polling, vuelve a leer los renderizados filtrados por el id del vídeo.
# Register once. Every render reports itself from then on. curl -X POST https://autostud.ai/api/v1/webhooks \ -H "Authorization: Bearer $AUTOSTUD_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-app.com/hooks/autostud", "events": ["render.started", "render.completed", "render.failed"], "description": "Rendering" }' # The signing secret comes back once, in this response. Store it.
Qué acepta un renderizado
Dos campos para lanzarlo, una cabecera para reintentar sin riesgo, un id para seguirlo.
video_idEl vídeo a renderizar. Toda la composición ya vive en él.
render_settingsAjustes opcionales para este trabajo: formato, calidad, el rango de fotogramas que quieras.
Idempotency-KeyUna cabecera. Envía la misma clave dos veces y recibes el primer renderizado, nunca un duplicado.
render_idLo devuelve la llamada y lo lleva cada webhook, así que un mp4 terminado siempre apunta al trabajo que lo pidió.
Qué sale
Los renderizados son mp4 H.264 en el formato configurado en el vídeo. Vertical para TikTok y Reels, cuadrado para el feed, horizontal para YouTube: la misma línea de tiempo, otra salida.
Deja el polling
Un renderizado tarda minutos, no milisegundos. Registra un webhook y tres eventos te dicen cuándo un worker cogió el trabajo, cuándo está listo el archivo y cuándo algo falló.
render.startedrender.completedrender.failedLo que preguntan primero los desarrolladores
¿Cuánto tarda un renderizado?
Minutos, en proporción a la duración del vídeo y al número de capas. La llamada responde en cuanto el trabajo entra en cola, así que nada se bloquea en tu aplicación.
¿Cuánto cuesta un renderizado?
Los renderizados se facturan en créditos y el registro se lee por la API. Una clave puede limitarse solo a renders:read, para que un panel siga el gasto sin poder lanzar trabajos.
¿Puedo reintentar una llamada fallida?
Sí. Envía la cabecera Idempotency-Key y una llamada repetida devuelve el renderizado original en lugar de encolar otro, la misma garantía que da cada acción de ejecución de la API.
¿Dónde se aloja el archivo?
En nuestro CDN, y la URL está en el registro del renderizado y en el payload de render.completed. Descárgalo y guárdalo tú si lo necesitas para siempre.
¿Listo para crear?
Comienza a generar videos virales en minutos. No se requiere tarjeta de crédito para la prueba gratuita.