These pages describe the Training API on
dev, where authenticated creation, editing, downloads, revert, and website brand lookup have been tested live.
Production availability is not confirmed. Your API service and worker must both run the updated code.
See Testing and availability.Submission rates
Every authenticated
/v1 request, including video/edit polling, catalogs, and revert, consumes the shared 120-request budget. Personal API keys and first-party JWTs are counted by authenticated user; organization keys share the organization budget. Creation, editing/voice changes, and brand lookup also have the stricter counters above. Video and edit submission defaults can be configured by the deployment. Infrastructure can impose additional limits.
If Redis is unavailable and the API cannot check a request limit, it returns 503 with Retry-After: 15. It does not allow the request through without checking.
On rate limiting, respect Retry-After. Video creation responses also include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset (seconds until reset). Do not assume these headers appear on every endpoint.
Batch and duration limits
Creation accepts 1–3 items. Empty or oversized arrays return 422, as do invalid field shapes. Duration accepts 10–14400 seconds at schema level, with a potentially lower account-specific maximum. Check every result for entitlement failures.Concurrent jobs
The API accepts at most 3 unfinished videos per personal account or organization, including Enterprise. This cap is shared across Training and Marketing. Translation copies and supported retry/reformat work also reserve capacity. Multiple keys and simultaneous requests share that owner’s limit. Slots remain occupied through planning and final video rendering; planning completion alone does not free a slot. If the entire requested batch cannot fit, creation returns 429 with codeVIDEO_GENERATION_CONCURRENCY_LIMIT and Retry-After: 15. No videos from that request are submitted. Wait for an existing video to finish before retrying. If capacity cannot be verified, creation returns 503.
An accepted job can still be parked by the existing account processing queue; it already occupies an API slot. Do not resubmit it. Poll its UUID instead. Normal platform creation limits remain separate. The new cap applies to submissions admitted after deployment.
Poll at roughly 15-second intervals per video, use backoff after failures, and avoid polling an entire batch in a tight loop. See Errors for safe retry handling.