POST/videos
Create a video from a brief or your own script
Request
Send to https://app.makeaivideo.ai/api/v1/videos with a bearer API key. The key needs the write scope; a key without it gets 403 forbidden naming the scope it lacks.
The body follows the CreateVideo schema and is required. The full shape is in openapi.json.
Responses
Every v1 response is { data, error, meta }. On failure error carries a stable code and meta.request_id identifies the call, which is the thing to quote in a support mail.
| Status | Meaning |
|---|---|
| 202 | Accepted. status is `generating`, or `draft` when start_generation is false |
| 400 | Invalid brief or script |
| 402 | Not enough credits or no active subscription |
| 403 | Key lacks the write scope |
| 429 | Rate or spend limit reached; see Retry-After |
Other videos endpoints
- GET
/videosList videos - POST
/videos/estimateFree credit quote - GET
/videos/{id}Video status and progress - PATCH
/videos/{id}Edit title, topic, script or caption settings - DELETE
/videos/{id}Delete a video and its files - POST
/videos/{id}/generateStart or re-run generation (drafts, or after edits) - POST
/videos/{id}/cancelCancel a running render and release its credits - GET
/videos/{id}/downloadSigned download URL for the finished MP4 - GET
/videos/{id}/rendersPast exports - POST
/videos/{id}/rendersExport again (after edits) - GET
/videos/{id}/renders/progressCurrent export progress - POST
/videos/{id}/scenes/{n}/regenerateRegenerate one scene (optionally with new narration) - GET
/videos/{id}/voiceVoice regeneration progress - POST
/videos/{id}/voiceRegenerate the voiceover with another voice - GET
/videos/{id}/captionsCaption file (SRT or VTT), returned as text - POST
/videos/{id}/share-linkPublic, expiring link to the MP4 for people without an account - POST
/videos/{id}/reportFlag a generated video for review - POST
/videos/image-to-videoAnimate one image into a 5 or 10 s clip; optional narration makes the subject speak it (voice + lip-sync) - POST
/videos/talking-avatarYour own filmed video speaks a new script (voice + lip-sync onto your clip). For an AI presenter use POST /videos with mode talking-head - POST
/videos/character-swapCharacter Swap: the person in your video becomes a character or the person in your photos. Motion, camera, room and the original audio are kept; lips stay in sync. 3-60 s - GET
/templatesTemplate library
All videos · Full API reference · TypeScript SDK · Quickstart