Poll the status of a video generation job
Bearer nvl_xxxxPOST /api/v1/generate.| Status | Description |
|---|---|
pending | Job created, not yet started |
running | Generation in progress |
completed | All videos generated successfully |
partial | Some videos completed, some failed |
failed | All videos failed |
cancelled | Job was cancelled |
status: "running". Reaches 100 only when terminal.preparing - Scraping product page, generating scriptsvideo - Generating video scenes with AI actors (Kling O3)audio - Synthesizing voiceover (ElevenLabs TTS)lip_sync - Applying lip sync to match voiceoverstitching - Combining scenes, adding captions, final exportcompleted, partial, failed).Poll at regular intervals
completed, partial, failed, or cancelledThe endpoint drives the pipeline forward
Monitor stage transitions
stage field to understand where the job is:preparing (1-2 min) - Scraping, script generationvideo (10-12 min) - AI actor scene generationaudio (30-60 sec) - Voiceover synthesislip_sync (3-5 min) - Lip sync applicationstitching (30-60 sec) - Final video export with captionsHandle partial failures gracefully
status: "partial":completedDetails includes both successes and failuresstatus: "completed" to get successful videosImplement timeout protection
overallProgress = weighted average of all projectsstatus: "running"| Stage | Progress Range | What’s Happening |
|---|---|---|
preparing | 0-20% | Scraping product page, analyzing content, generating script concept |
generating | 20-70% | AI generating video scenes with actors (Kling O3 text-to-video) |
post_processing | 70-85% | TTS voiceover synthesis, audio mixing, lip sync application |
stitching | 85-99% | Combining scenes, generating captions, final video export |
completed | 100% | Video ready, finalOutputUrl available |
| Code | Description |
|---|---|
| 401 | Invalid or missing API key |
| 404 | Job ID not found |
| 500 | Internal server error |
status: "completed":
completedDetails[].finalOutputUrl