MakeAIVideo

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.