MakeAIVideo

MakeAIVideo API quickstart

From an API key to a finished MP4. Every call below hits https://app.makeaivideo.ai/api/v1.

1. Get an API key

Create one in the app under Settings, Advanced, API keys. Keys start with mav_ and carry scopes. Give this one read, write and ai so it can run the whole loop. See Authentication for what each scope covers.

shell
export MAV_API_KEY="mav_..."

2. See what you can make

Each tool is a video shape with its own fields. Pick an id from the response and use it in the next two calls.

curl
curl https://app.makeaivideo.ai/api/v1/tools \
  -H "Authorization: Bearer $MAV_API_KEY"

3. Quote it first

Estimating is free and tells you the credit cost before you commit.

curl
curl -X POST https://app.makeaivideo.ai/api/v1/videos/estimate \
  -H "Authorization: Bearer $MAV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "<tool id from GET /tools>",
    "duration_seconds": 30
  }'

4. Create the video

Two paths into this endpoint. Pass a tool plus fields and we write the script, or pass your own script object and we render exactly that.

curl
curl -X POST https://app.makeaivideo.ai/api/v1/videos \
  -H "Authorization: Bearer $MAV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "<tool id from GET /tools>",
    "fields": { "topic": "How compound interest works" },
    "duration_seconds": 30,
    "idempotency_key": "quickstart-001"
  }'

Returns 202 Accepted. The render has started; it has not finished.

202 Accepted — field shape
{
  "data": {
    "video_id": "vid_...",
    "status": "generating",
    "poll_after_seconds": <integer, read it from the response>,
    "next": "..."
  },
  "error": null,
  "meta": { ... }
}

The idempotency_key matters. Renders cost credits, and without a key a retried request creates and charges for a second video.

5. Wait for it

Renders take minutes. Poll the video and respect poll_after_seconds rather than hammering the endpoint.

curl
curl https://app.makeaivideo.ai/api/v1/videos/vid_... \
  -H "Authorization: Bearer $MAV_API_KEY"

For anything long-running, prefer a webhook over polling: subscribe to video.ready and let us call you. See Webhooks.

6. Download the MP4

curl
curl -L https://app.makeaivideo.ai/api/v1/videos/vid_.../download \
  -H "Authorization: Bearer $MAV_API_KEY" \
  -o video.mp4

Next

  • Videos reference — editing, regenerating scenes, exports.
  • Webhooks — stop polling, verify the signature.
  • MCP server — skip the HTTP layer entirely from Claude or ChatGPT.

Quickstart questions

How do I make my first video with the API?
List the tools, estimate the cost, POST to /videos with a tool and fields, poll until it is ready, then download the MP4. That is the whole loop and it is five calls.
Do I have to write the script myself?
No. Pass a tool and a few brief fields and we write the script for you. If you would rather control the words, pass your own script object instead and we render exactly that.
How do I know when the video is finished?
Poll GET /videos/{id} at the interval the create response returns, or subscribe to the video.ready webhook and skip polling altogether. Webhooks are the better choice for anything unattended.

Get an API key

The API and MCP server use the same credits and the same balance as the app, with no separate API plan. Create a key under Settings, Advanced, API keys.

7-day free trial with 350 credits, then plans from $9/mo. Cancel anytime before the trial ends.