Seedance 2.5 Unlimited Pass · from $99 · ends in 23:59:59 Claim Now
Platform API · Docs v2

The MakeUGC studio,
as an API

Generate UGC videos, avatars and product ads from your own stack, or let Claude do it with our MCP server.

REST, JSON, X-Api-Key headerFeatures and model referenceWebhooks and status pollingMCP for Claude
cURL bash
# 1. Pick an avatar and voice
curl "https://app.makeugc.ai/api/platform/video/avatars" \
  -H "X-Api-Key: YOUR_API_KEY"

curl "https://app.makeugc.ai/api/platform/video/voices" \
  -H "X-Api-Key: YOUR_API_KEY"

# 2. Start a talking-actor video (100 credits)
curl -X POST "https://app.makeugc.ai/api/platform/video/generate" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "avatar_id": "avatar_123",
  "voice_script": "Two weeks in and my 3pm crash is gone.",
  "voice_id": "voice_123"
}'

# 3. Poll until completed or failed
curl "https://app.makeugc.ai/api/platform/video/status?id=VIDEO_ID" \
  -H "X-Api-Key: YOUR_API_KEY"

Powering 10,000+ brands and agencies

Models

Which models can I
call through the API?

Every video and image model in MakeUGC, behind the same key and the same request format.

VideoMake 1.0 example
MakeUGC /Make 1.0

Talking actors with lip-sync, built for UGC ads.

from $0.10 / sup to 1080p
VideoNewSeedance 2.5 example
ByteDance /Seedance 2.5

Text, image, video and audio references. Clips up to 30 seconds.

from $0.12 / sup to 1080p
VideoSeedance 2.0 example
ByteDance /Seedance 2.0

Fast and pro modes, multimodal references.

from $0.08 / sup to 1080p
VideoVeo 3.1 example
Google /Veo 3.1

Cinematic image to video with native audio.

from $0.40 / sup to 4K
VideoKling 4.0 example
Kling /Kling 4.0

Image to video with smooth, realistic motion.

from $0.08 / sup to 1080p
VideoGrok example
xAI /Grok

Text or image to video.

from $0.10 / sup to 720p
VideoMiniMax example
MiniMax /MiniMax

Text and references with camera control.

from $0.09 / sup to 1080p
VideoWAN 3.0 example
Alibaba /WAN 3.0

Text or image to video at a low cost per second.

from $0.05 / sup to 720p
VideoPixverse v5.5 example
Pixverse /Pixverse v5.5

Image to video with stylised effects.

from $0.08 / sup to 1080p
ImageGPT Image 2 example
OpenAI /GPT Image 2

Best for text and headlines inside images.

$0.02–0.03 / imgup to 2K
ImageNano Banana Pro example
Google /Nano Banana Pro

4K images and precise edits.

$0.02–0.03 / imgup to 4K
ImageNano Banana 2 example
Google /Nano Banana 2

Fast image generation and edits.

$0.02–0.03 / imgup to 2K
ImageSeedream v5 Pro example
ByteDance /Seedream v5 Pro

4K images guided by reference photos.

$0.02–0.03 / imgup to 4K
ImageFlux 2 Pro example
Black Forest Labs /Flux 2 Pro

Photoreal 4K product and lifestyle shots.

$0.02–0.03 / imgup to 4K
ImageRecraft v3 example
Recraft /Recraft v3

Vector, brand and design-led images.

$0.02–0.03 / imgup to 2K
ImageImagen 4 example
Google /Imagen 4

Clean text to image generation.

$0.02–0.03 / imgup to 2K
ImageWAN 3.0 Image example
Alibaba /WAN 3.0 Image

Images guided by your references.

$0.02–0.03 / imgup to 2K
Getting started

How do I set up
the MakeUGC API?

Every MakeUGC plan includes API access. Your key is created inside the app and works for both the REST API and the MCP server.

1

Pick a plan and sign in

app.makeugc.ai → Start for $1

Any plan works. Start for $1, or use the workspace you already have. Credits are shared between the app and the API.

2

Create your API key

Settings → API Integration → Generate key

Generate a Platform API key in the app. Keep it server-side; never ship it in a browser.

3

Call generate, or connect MCP

X-Api-Key: YOUR_API_KEY https://app.makeugc.ai/api/platform

Send X-Api-Key on every request to the v1 base URL. Or add the MCP server to Claude and skip the code entirely.

Endpoints

One base URL,
five topics

All v1 routes live under one base URL and share the same X-Api-Key header. JSON in, JSON out.

Video100 credits / video

List avatars and voices, start a talking-actor job, then poll until the MP4 is ready. Scripts up to 1,500 characters, or bring your own audio.

GET/video/avatars
GET/video/voices
POST/video/generate
GET/video/status
Read Video docs →
Custom avatar100 credits / avatar

Create a reusable avatar from an image and a voice sample (multipart/form-data, 10MB each). It then appears in /video/avatars for your account.

POST/custom-avatar/generate
Read Custom avatar docs →
Product-in-Handfrom 100 credits

An actor holds and presents your product. Make 1.0 (Nova V2) for speed, Omi-Human for longer takes, or Veo for 1–4 scene clips.

POST/product-in-hand/nova-v2/generate
POST/product-in-hand/omi-human/generate
POST/product-in-hand/veo/generate
GET/product-in-hand/status
Read Product-in-Hand docs →
Shoppableper pack

Browse creative packs and generate shoppable images and videos for a product in one call, then poll for the finished assets.

GET/shopable/packs
POST/shopable/images
POST/shopable/videos
GET/shopable/status
Read Shoppable docs →
Content Librarytemplate credit value

List proven ad templates and categories, then recreate one with your product image and dialogue. Each template declares its fields and cost.

GET/content-library/templates
GET/content-library/categories
POST/content-library/generate
GET/content-library/status
Read Content Library docs →
How a job runs
  1. POST …/generate returns 200 with a job id in data.id.
  2. Poll GET …/status?id= every 5–10 seconds, or pass webhook_url and we call you.
  3. data.status becomes completed with an MP4 url, or failed with a reason. HTTP stays 200.
Integrations · MCP

Make ads from Claude with the MakeUGC MCP server

Connect Claude Code, Claude Desktop or claude.ai to mcp.makeugc.ai. Ask for a video in plain language and Claude lists avatars, writes the script, starts the job and hands back the MP4.

  • Works in Claude Code, Claude Desktop and claude.ai
  • Same Platform API key as the REST API
  • HTTP transport at mcp.makeugc.ai, or OAuth login
  • Lists avatars and voices, generates videos, returns the URL
VERIFY AND TROUBLESHOOT
/mcp failedCheck the API key and that the subscription is active.
needs authRun claude mcp login makeugc and approve.
403Renew the subscription on app.makeugc.ai.
Claude Code bash
claude mcp add --transport http \
  --header "X-API-Key: YOUR_MAKEUGC_API_KEY" \
  makeugc https://mcp.makeugc.ai

claude mcp list

# Or sign in with OAuth
claude mcp login makeugc
Credits and limits

Metered in credits,
no separate API bill

API calls draw from the same credit balance as the studio. Pick any plan, generate through the API or the app, and top up when you need more.

Credit costs

POST /video/generate100 per video
POST /custom-avatar/generate100 per avatar
Product-in-Hand · Nova V2100 per generation
Product-in-Hand · Omi-Human100 under 15s · 200 for 15–30s
Product-in-Hand · Veoscenes × (100 fast / 200 pro)
Content Library generatetemplate credit value

Input limits

Voice script (video generate)1,500 characters
Existing voice_url audio120 seconds
Custom avatar image or voice file10MB each
Product-in-Hand Nova V2 audio90 seconds
Product-in-Hand Omi-Human audio30 seconds
Veo scenes array1 to 4 scenes

HTTP status codes

200Request accepted. For jobs, poll status until completed or failed.
400Missing fields, invalid input, file too large, or insufficient credits.
401Missing or invalid X-Api-Key.
404Avatar, voice, video, template or subscription not found.
500Server error. Retry with backoff, then contact help@makeugc.ai.
Async jobs can fail after a 200. Read data.status and data.reason from the status endpoint.
FAQ

Developer questions

Anything else, email help@makeugc.ai.

Which API version should I integrate against?

Use docs v2 at makeugc.ai/docs/api/v2 for the complete feature and model reference. The base URL remains https://app.makeugc.ai/api/platform; existing API keys and endpoint URLs are unchanged.

Do I need a separate API plan?

API access depends on your subscription and feature entitlements. Generate a key in Settings → API Integration and check your available credits before submitting jobs.

How do I know when a video is ready?

Poll GET …/status?id= every 5–10 seconds, or pass a webhook_url and we call you when it's done.

Which audio source does generate use?

For talking-actor videos, voice_url takes priority over voice_id and the avatar’s default voice. Audio may be up to 120 seconds; voice_script is still required, with a default limit of 1,500 characters.

Is a failed generation always an HTTP error?

No. Async jobs can fail after a 200. Check data.status and data.reason on the status endpoint.

What do I need before connecting MCP?

A Platform API key and an active subscription. Then add https://mcp.makeugc.ai to Claude with the key as a header, or log in with OAuth.

Ship your first video in an afternoon

Create your key in Settings → API Integration, call /video/generate, poll status. That's the whole integration.

Get your API key →