canonical: https://jentic.com/apis/makeaivideo.ai/makeaivideo

# MakeAIVideo API

The MakeAIVideo API turns a brief or your own script into a finished short-form video with script, voiceover, AI or stock scenes, captions, and music, then lets you edit, regenerate, and download the MP4. The core loop lists the available create tools, takes a free credit quote, starts a render with an idempotency_key so retries never charge twice, and polls status or waits for a video.ready webhook. Beyond creation it regenerates single scenes or the whole voiceover, exports SRT or VTT captions, manages reusable characters, voices, and music, and publishes finished videos to connected TikTok, Instagram, YouTube, LinkedIn, and other social accounts.

## For AI agents

Create short-form videos from a brief or script, regenerate scenes and voiceovers, download the MP4 and captions, and publish finished videos to connected social accounts.

## Scope

Does not handle long-form video editing timelines, live streaming, or video hosting and playback analytics. Use for generating, editing, and publishing short-form AI videos only.

## Capabilities

- Get a free credit quote with POST `/videos/estimate`, then create a video from a tool brief or your own script with POST /videos and an idempotency_key
- Poll render status with GET `/videos/{id}` respecting poll_after_seconds, or subscribe to video.ready and video.failed webhooks
- Regenerate one scene with new narration, or redo the whole voiceover with a different voice_id
- Download the finished MP4 through a signed URL and export captions as SRT or VTT
- Write scripts from a topic, structure your own prose into scenes, and generate scored video ideas for a niche
- Animate a single image into a 5 or 10 second clip, or make your own filmed video speak a new script with lip-sync
- Publish a finished video to connected accounts with POST `/videos/{id}/publish` and track per-destination results on the post

## Use cases

### Agent-produced short videos through Jentic

A content agent follows the documented core loop: list tools, take a free estimate, create the video, poll until ready, and fetch the download URL. Through Jentic the agent discovers each operation by intent, the mav_ key stays in the developer's own Jentic One instance, and a rule can let the agent create and download videos while publishing and deletion stay out until you add them.

Example prompt: Call GET /tools, POST `/videos/estimate` with the chosen tool, POST /videos with tool, fields, and idempotency_key 'launch-teaser-1', poll GET `/videos/{id}`, then call GET `/videos/{id}/download`

### Editing and regenerating parts of a video

When one scene misses the mark, POST `/videos/{id}/scenes/{n}/regenerate` redoes it with optional new narration instead of re-rendering everything. A different voice can be applied with POST `/videos/{id}/voice` and a required voice_id, and PATCH `/videos/{id}` edits the title, script, or caption settings before POST `/videos/{id}/renders` exports again.

Example prompt: POST `/videos/vid_abc123/scenes/3/regenerate` with narration 'Our new plan starts at ten dollars', then POST `/videos/vid_abc123/renders` to export again

### Publishing to social platforms

Finished videos can go straight to the workspace's connected accounts. GET `/publishing/accounts` lists acc_ ids and whether each can post, POST `/videos/{id}/publish` takes account_ids and a caption with per-platform overrides, and GET `/publishing/posts/{id}` reports each destination's status and live URL. Connecting a new OAuth account needs a person to open the link in a browser.

Example prompt: Call GET `/publishing/accounts`, then POST `/videos/vid_abc123/publish` with account_ids for the TikTok and YouTube accounts and caption 'New feature walkthrough', then poll GET `/publishing/posts/{id}`

### Captioned video exports for other tools

Teams that edit elsewhere can pull the assets out. GET `/videos/{id}/download` returns a signed MP4 URL, GET `/videos/{id}/captions` returns the caption file as SRT or VTT through the format parameter, and POST `/videos/{id}/share-link` creates an expiring public link for reviewers without an account.

Example prompt: Call GET `/videos/vid_abc123/captions` with format 'vtt', then POST `/videos/vid_abc123/share-link` with expires_in_seconds 86400

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/tools` | List create tools and their brief fields |
| POST | `/videos/estimate` | Get a free credit quote |
| POST | `/videos` | Create a video from a brief or script |
| GET | `/videos/{id}` | Video status and progress |
| GET | `/videos/{id}/download` | Signed download URL for the MP4 |
| POST | `/videos/{id}/scenes/{n}/regenerate` | Regenerate one scene |
| POST | `/videos/{id}/publish` | Post a video to connected accounts |
| POST | `/webhooks` | Create a webhook |

## Key resources

- **Videos** — Videos created from a tool brief or script, with status, scenes, voice, captions, renders, and downloads
- **Characters and voices** — Reusable characters with portraits and voices, a voice catalog, and voice previews
- **Publishing** — Connected social accounts and posts with per-destination status
- **Webhooks** — Signed event deliveries for video.ready, video.failed, and post.* events with delivery history

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 59 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 72 / 100
  - Developer Experience & Jentic Compatibility: 59 / 100
  - AI-Readiness & Agent Experience: 42 / 100
  - Agent Usability: 92 / 100
  - Security: 60 / 100
  - AI Discoverability: 59 / 100
- **View full report:** https://jentic.com/apis/makeaivideo.ai/makeaivideo/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring MakeAIVideo by hand means handling its mav_ bearer key with read, write, and ai scopes, polling renders by poll_after_seconds, setting idempotency keys, and verifying signed webhooks yourself. Through Jentic you install once, import MakeAIVideo from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** MakeAIVideo puts the video id in the URL path for status, edits, downloads, and publishing, so a rule can pin your agent to one video and the operations you pick. You choose the operations it may call, so credit-spending or destructive ones like POST /videos, publishing, or DELETE `/videos/{id}` are not included unless you add them.
- **Credential handling:** Your MakeAIVideo API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a video from a script' or 'publish a video to TikTok', and Jentic returns the matching MakeAIVideo operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **HeyGen API** — AI avatar video generation API
- **Synthesia API** — AI presenter videos generated from scripts
- **Shotstack API** — Programmatic video editing and rendering from JSON timelines

## FAQ

### Is there a MakeAIVideo MCP server?

You don't need an MCP server to give your agent MakeAIVideo. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls it. Operations are discovered on demand, so the API's many operations do not load as tool definitions into the agent's context.

### What authentication does the MakeAIVideo API use?

Per its OpenAPI spec, the MakeAIVideo API uses bearer authentication with a mav_ organization key in the Authorization header. Keys carry read, write, and ai scopes, and each operation lists the scope it needs. The device-login pair used by the CLI takes no key. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at execution time, so it never enters the agent's context.

### Can I limit what my agent is allowed to do with MakeAIVideo?

Yes. For example, write a rule that allows GET `/videos/vid_abc123`, GET `/videos/vid_abc123/download`, and GET `/videos/vid_abc123/captions`, so the agent can check and fetch that one video but cannot spend credits on new renders, publish, or delete it. Every call it makes is logged on your own machine.

### How do I avoid being charged twice for the same video?

Set idempotency_key on POST /videos so a retried request never produces, or charges for, a second video. POST `/videos/{id}/publish` also accepts an idempotency_key so a retry never posts twice. Use POST `/videos/estimate` first for a free credit quote.

### How do I create a video through Jentic?

Install Jentic One, import the MakeAIVideo API from the directory, and search for 'create a short video from a brief'. Jentic returns the createVideo operation with its input schema; your agent sends a tool and fields or its own script, then polls GET `/videos/{id}` until the render is ready. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Which social platforms can MakeAIVideo publish to?

Per the spec, finished videos can be posted to TikTok, Instagram as a Reel, YouTube as a Short or regular video, Facebook Pages, LinkedIn, X, Threads, Pinterest, Bluesky, Telegram, and Discord. Connecting an OAuth account requires a person to open the link from POST `/publishing/accounts/connect` in a browser.

### What are the rate limits for the MakeAIVideo API?

The OpenAPI spec does not specify request rate limits. Errors carry a retryable flag that is true only for 5xx and 429 responses. Check https://makeaivideo.ai for current limits.
