MakeAIVideo

API reference

Voices API

3 operations · https://app.makeaivideo.ai/api/v1

What the voices endpoints are for

Voice choice does more for a finished video than most people expect, and it is hard to judge from a name. These endpoints exist so a client can let someone hear the options rather than read a list.

GET /voices returns the catalog along with curated picks, which is enough to build a voice picker. POST /voices/preview is the one that matters: it renders any voice reading text you supply, so the audition uses your actual script rather than a generic sample sentence. The returned audio URL is short-lived, so play or cache it promptly rather than storing the link.

Hear a voice read your own line
curl -X POST https://app.makeaivideo.ai/api/v1/voices/preview \
  -H "Authorization: Bearer $MAV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_id": "<id from GET /voices>",
    "text": "Most people get compound interest backwards."
  }'
GET/voicesread

Voice catalog plus curated picks

GET https://app.makeaivideo.ai/api/v1/voices

Parameters

NameInTypeDescription
genderquerystring
accentquerystring
agequerystring
use_casequerystring

Responses

  • 200Voices
POST/voices/previewai

Hear any voice say your text (1-hour audio URL)

POST https://app.makeaivideo.ai/api/v1/voices/preview

Responses

  • 200Audio
GET/voices/{id}/previewread

Stock sample line for a picker voice

GET https://app.makeaivideo.ai/api/v1/voices/{id}/preview

Parameters

NameInTypeDescription
idrequiredpathstringVoice id

Responses

  • 200Preview
  • 404Unknown voiceErrorEnvelope

Voices API questions

Can I hear a voice say my own script before rendering?
Yes. POST /voices/preview renders any catalog voice reading text you provide and returns an audio URL, so you audition against your real copy instead of a stock line.
How long is a voice preview URL valid?
It is a temporary URL valid for about an hour. Fetch and cache the audio if you need it longer rather than storing the link itself.
Can I change the voice on a video that is already rendered?
Yes, without re-rendering the visuals. POST /videos/{id}/voice regenerates just the voiceover with a different voice.

Related

  • Quickstart — the create, poll and download loop end to end.
  • Authentication — what the read, ai scope on this page mean.
  • Agents — calling these endpoints from an autonomous agent.