Introduction
Check the status of your video generation tasks and retrieve download URLs when completed. This guide covers polling strategies and status interpretation for all video types (Avatar Videos, Product Videos, and Template Videos). Use webhooks for instant notifications or polling for status checks.Key Features
Real-Time Status
Get current processing status instantly
Video Download
Retrieve final video URLs when ready
Error Details
Get detailed error messages if failed
Metadata
Access duration, cover images, and more
Workflow Overview
Video generation follows a standard status flow:Videos typically take 2-10 minutes to generate depending on length and complexity. Use webhooks for instant notifications instead of polling.
Quick Start
Related API Endpoints
| Video Type | Get Status Endpoint | Documentation |
|---|---|---|
| Avatar Videos | GET /v2/avatar_video/{id} | API Reference |
| Product Videos | GET /v2/product_video/{product_video_id} | API Reference |
| Template Videos | GET /v2/template_video/{video_id} | API Reference |
Status Values
| Status | Description | Next Action |
|---|---|---|
pending | Queued, not started yet | Wait and poll again |
processing | Currently rendering | Wait and poll again |
completed | Video is ready | Download from video_url |
failed | Error occurred | Check error message |
Code Examples
Scenario 1: Check Avatar Video Status
Poll for avatar video completion:When
status is completed, download the video from video_url.Scenario 1: Check Product Video Status
Scenario 1: Check Template Video Status
Use Case Examples
Polling Strategy
Polling Strategy
When to Use: When webhooks are not available or you need immediate status checks.Recommended Schedule:
- Wait 10-15 seconds before first poll
- Poll every 10 seconds for first minute
- Increase to 30 seconds, then 60 seconds
- Stop after 10 minutes and check for issues
Webhook Integration
Webhook Integration
When to Use: Recommended for production applications.Advantages:
- ✅ No polling overhead
- ✅ Instant notifications
- ✅ Reduced API calls
- ✅ Better scalability
- ✅ Lower latency
Batch Status Checks
Batch Status Checks
When to Use: Checking status of multiple videos.Strategy:
- Use list endpoints (
/v2/template_videos,/v2/product_videos) to get status of multiple videos - Filter by status to find completed/failed videos
- Process completed videos, retry failed ones
Tips for Best Results
Use Webhooks Instead:- Use [Webhooks](/api-reference/v2/API Documentation/WebhookIntegration) instead of polling for better performance
- Instant notifications when videos are ready
- Reduced API calls and better scalability
- Lower latency for end users
| Time Elapsed | Poll Interval | Reason |
|---|---|---|
| 0-60s | Every 10s | Videos might complete quickly |
| 1-5min | Every 30s | Normal processing time |
| 5-10min | Every 60s | Handling queue delays |
| > 10min | Stop | Likely an issue, check logs |
Response Field Reference
Completed Video Response
| Field | Type | Description |
|---|---|---|
video_id / id | string | Video identifier |
status | string | Current status (completed) |
video_url | string | Download URL for MP4 file |
cover_url | string | Thumbnail/cover image URL |
duration / video_duration | number | Video length in seconds |
title | string | Video title (if provided) |
created_at | integer | Unix timestamp of creation |
Processing Video Response
| Field | Type | Description |
|---|---|---|
video_id / id | string | Video identifier |
status | string | Current status (pending or processing) |
created_at | integer | Unix timestamp |
Failed Video Response
| Field | Type | Description |
|---|---|---|
video_id / id | string | Video identifier |
status | string | Status (failed) |
error.code | integer | Error code |
error.message | string | Human-readable error description |
created_at | integer | Unix timestamp |
Troubleshooting
Video Not Found (404)
Video Not Found (404)
Error:
Video ID does not existSolutions:- Verify video ID is correct
- Check if video creation succeeded
- Video IDs are case-sensitive
- Ensure you’re using the correct endpoint for video type
Generation Failed
Generation Failed
Error: Status is
failed with error objectCommon Causes:- Insufficient media quality
- Invalid avatar/voice combination
- Script too long for video length
- API quota exceeded
- Invalid template variables
- Check error message in response
- Verify all input parameters are valid
- Retry with corrected parameters
- Check Error Handling Guide
Processing Timeout
Processing Timeout
Issue: Video stuck in processing > 15 minutesSolutions:
- Contact support with video ID
- Check Status Page
- Retry video creation
- Verify video type and parameters
Rate Limiting
Rate Limiting
Error: Too many requestsSolutions:
- Reduce polling frequency (minimum 5 seconds between polls)
- Use webhooks instead of polling
- Check Rate Limits
- Implement exponential backoff

