Produci il video finito
direttamente dal tuo codice
Un POST mette un rendering in coda sui nostri worker e un webhook firmato ti consegna il mp4. Nessun ffmpeg da installare, nessuna GPU da affittare, nessuna coda da sorvegliare.
POSThttps://autostud.ai/api/v1/actions/renders.createTre chiamate, dalla timeline al mp4
Crea il video una volta, poi rendilo tutte le volte che serve.
- 1
Crea il video
Un video contiene la timeline: livelli, audio, sottotitoli, formato. Crealo in una chiamata, o riusa quello che il tuo team ha montato nell'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
Metti il rendering in coda
Punta renders.create sull'id del video, sovrascrivi ciò che serve a questo job e parte subito su un worker. La risposta è il job, non il file.
# 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
Prendi il mp4
render.completed arriva con l'URL di output. Se il tuo stack preferisce il polling, rileggi i rendering filtrati sull'id del video.
# 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.
Cosa accetta un rendering
Due campi per avviarlo, un header per riprovare in sicurezza, un id per seguirlo.
video_idIl video da renderizzare. Tutta la composizione vive già lì dentro.
render_settingsOverride opzionali per questo job: formato, qualità, intervallo di frame desiderato.
Idempotency-KeyUn header. Manda la stessa chiave due volte e riottieni il primo rendering, mai un duplicato.
render_idRestituito dalla chiamata e portato da ogni webhook, così un mp4 finito punta sempre al job che lo ha chiesto.
Cosa esce
I rendering sono mp4 H.264 nel formato impostato sul video. Verticale per TikTok e Reels, quadrato per il feed, orizzontale per YouTube: stessa timeline, output diverso.
Basta polling
Un rendering richiede minuti, non millisecondi. Registra un webhook e tre eventi ti dicono quando un worker ha preso il job, quando il file è pronto e quando qualcosa si è rotto.
render.startedrender.completedrender.failedLe domande che gli sviluppatori fanno per prime
Quanto dura un rendering?
Minuti, in proporzione alla durata del video e al numero di livelli. La chiamata risponde appena il job entra in coda, quindi nella tua app non si blocca nulla.
Quanto costa un rendering?
I rendering sono fatturati in crediti e il registro è leggibile via API. Una chiave può essere limitata al solo renders:read, così una dashboard segue la spesa senza poter avviare job.
Posso riprovare una chiamata fallita?
Sì. Manda un header Idempotency-Key e una chiamata ripetuta restituisce il rendering originale invece di metterne in coda un secondo: la garanzia che ogni azione di esecuzione dell'API offre.
Dov'è ospitato il file?
Sul nostro CDN, e l'URL sta sul record del rendering e nel payload di render.completed. Scaricalo e conservalo tu se ti serve per sempre.
Pronto a creare?
Inizia a generare video virali in pochi minuti. Nessuna carta di credito richiesta per la prova gratuita.