UGCMAKER

API & MCP

Everything on the studio is available programmatically. Keys are issued on your account page; the same per-video credits apply. Machine-readable spec: /openapi.json.

Generate videos

POST https://ugcmaker.app/api/videos
X-Api-Key: ugc_sk_…
Content-Type: application/json

{ "url": "https://www.amazon.com/…", "count": 3,
  "format": "Unboxing", "hook": "Product Dodge",
  "setting": "Kitchen", "avatar": "chloe",
  "desc": "optional creative direction" }

→ 201 { "batch": ["a1b2c3d4e5", …] }

Poll a job

GET https://ugcmaker.app/api/videos/{id}
X-Api-Key: ugc_sk_…
→ { "state": "done", "videoUrl": "https://…/videos/{id}.mp4" }

List your videos

GET https://ugcmaker.app/api/videos
X-Api-Key: ugc_sk_…
→ { "jobs": [ { "id", "state", "url", "video_url", "created_at" }, … ] }

Download the file

GET https://ugcmaker.app/api/videos/{id}/file?download=1
X-Api-Key: ugc_sk_…
→ 302 redirect to the mp4

Check credits & catalog

GET https://ugcmaker.app/api/credits   (X-Api-Key)  → { "credits": 42 }
GET https://ugcmaker.app/api/formats   (no auth)    → { formats, hooks, settings, pricing }

MCP server (Claude, Cursor, agents)

claude mcp add --transport http ugcmaker https://ugcmaker.app/api/mcp
# tools: list_formats · generate_video · get_result · get_credits

Errors: 401 missing auth · 402 not enough credits · 404 unknown job. Rate limits are generous; batch cap is 5 videos per request. Every read endpoint accepts the same X-Api-Key as generate.