Automate plan · API
Programmatic generations,
same pipeline as Studio
Drop a URL, poll until completion, pull downloads. Built for agents and internal tools that need boring reliability, not another dashboard.
Overview
Provision API keys from your Automate subscription and list them in ZOVGEN_API_KEYS on the server (comma-separated). Each request to /api/v1/* must include a valid key.
Optional subscription check: set ZOVGEN_API_ENFORCE_SUBSCRIPTION=true and map keys to internal user UUIDs with ZOVGEN_API_KEY_USERS=key=user-uuid,.... The linked account must have plan automate and an active or trialing subscription (synced via Lemon webhooks when checkout email matches the ZovGen account email). Otherwise the API returns 403.
For LLM agents: same host as your ZovGen install; prefix relative URLs from job responses with your public origin.
Authentication
Use either header style:
X-ZovGen-Key: sk_your_key_here # or Authorization: Bearer sk_your_key_here
Missing or invalid keys return 401. If keys are not configured on the server, the API returns 503. With subscription enforcement on, inactive or non-Automate accounts return 403.
Create a job
POST /api/v1/jobs
Content-Type: application/json
X-ZovGen-Key: sk_live_xxx
{
"url": "https://apps.apple.com/app/your-app/id123",
"language": "en",
"pipeline": "slideshow",
"targets": ["youtube_shorts"],
"subtitle_style": "clean_white"
}pipeline is slideshow or video. The response includes job_id and initial status.
Poll status
GET /api/v1/jobs/{job_id}
X-ZovGen-Key: sk_live_xxxWhen status is completed, use video_url and slideshow_zip_url from the JSON. They are relative to your ZovGen origin.
OpenAPI & try-it console
The backend exposes Swagger UI at /api/docs. Use it to inspect schemas and test calls against your environment.
