API Docs
EzUGC API Documentation
Base URL https://api.ezugc.ai. Generate UGC videos, image ads, captions, and saved brands with a paid EzUGC API key.
Authentication
Send a paid-account key on every functional request as Authorization: Bearer ezk_live_... or x-api-key: ezk_live_.... Full authentication walkthrough.
curl -sS https://api.ezugc.ai/openapi.json
Paid subscription required
Keys come from the dashboard after you subscribe to Startup, Growth, or Pro (from $99/month). There is no trial key and no anonymous generation route.
Every /api/public call re-checks that the account is still paid. Canceled or lapsed accounts get HTTP 402 PUBLIC_API_SUBSCRIPTION_REQUIRED. Pricing.
First call
A 200 on /me means the key is valid and the account is paid. 401 means the key is missing, malformed, or revoked. 402 means the account is no longer on an active paid plan.
curl -sS https://api.ezugc.ai/api/public/me \ -H "Authorization: Bearer ezk_live_YOUR_KEY"
curl -sS https://api.ezugc.ai/api/public/usage \ -H "Authorization: Bearer ezk_live_YOUR_KEY"
curl -sS https://api.ezugc.ai/api/public/video/models \ -H "Authorization: Bearer ezk_live_YOUR_KEY"
Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /api/public/me | Account id, key prefix, scopes, payment status |
| GET | /api/public/usage | Billing-cycle video usage and remaining quota |
| GET | /api/public/jobs | List recent generation jobs |
| GET | /api/public/jobs/{jobId} | Poll one job until it completes |
| POST | /api/public/ugc/jobs | Queue a UGC video ad |
| GET | /api/public/video/models | List video models available to this key |
| POST | /api/public/video/jobs | Queue a video generation job |
| GET | /api/public/image-ads/models | List image models available to this key |
| POST | /api/public/image-ads/jobs | Queue an image ad job |
| POST | /api/public/subtitle/jobs | Render captions onto a video |
| GET | /api/public/brands | List saved brand workspaces |
| POST | /api/public/brands | Ingest a brand from a website URL |
Request bodies and response schemas: https://api.ezugc.ai/openapi.json
Errors
Failures return application/json with { error, code, message, hint }. error and message carry the same human summary. code is stable. hint tells you how to fix the request.
{
"error": "A paid EzUGC subscription is required to use the public API.",
"code": "PUBLIC_API_SUBSCRIPTION_REQUIRED",
"message": "A paid EzUGC subscription is required to use the public API.",
"hint": "Subscribe at https://www.ezugc.ai/pricing then create a key."
}MCP
Same paid key, from Claude Code, Cursor, or any MCP client. See the EzUGC MCP server and the developer portal. Markdown twin: /docs.md.