Skip to main content
POST
generate audio

Authorizations

Authorization
string
header
required

An API key (es_live_…) from Settings, under API keys, or an OAuth access token.

Headers

Idempotency-Key
string

Retry a paid dispatch safely: the same key returns the job already dispatched instead of charging again.

x-workspace-id
string

The workspace this one call acts in, when it is not the key's own.

Body

application/json
kind
enum<string>
required

What to generate.

Available options:
voiceover,
music,
sound_effect
idempotency_key
string
required

A key you mint per dispatch (a UUID). The same key on a retry returns the job already dispatched instead of charging again; a new attempt takes a new key.

Required string length: 1 - 200
text
string

voiceover: the script to speak, read exactly as written: spell numbers, symbols, addresses and names the way they should be said.

voice_id
string

voiceover: voice id from list_models(type: "voice").

prompt
string

music or sound_effect: the prompt. On google music, timed sections ("[0:00 - 0:10] Intro: soft lo-fi beat") are followed, which is how a track lands on a cut; on minimax a named key and tempo ("E minor, 90 BPM") are followed.

music_model
enum<string>

music: the provider, default google. google and minimax take lyrics and set their own length (about 3 and 6 minutes); elevenlabs takes a duration. google follows a timed arrangement in the prompt, minimax a named key and tempo. estimate_cost quotes each.

Available options:
google,
minimax,
elevenlabs
duration
number

music (elevenlabs, required, 3-600s) / sound_effect target seconds (0.5-22, omit to let the model choose). Ignored by minimax and google music.

lyrics
string

music (minimax/google): lyrics with structure tags.

instrumental
boolean

music (elevenlabs, minimax): instrumental, no vocals. Defaults to true. Pass false for a track with singing, and on minimax the model writes the words when you send none.

language
enum<string>

voiceover: the language to speak in; the values here are the whole supported set. Every voice speaks all of them, so the voice is chosen for its character and this for its language.

Available options:
en,
es,
fr,
de,
it,
pt,
ja,
ko,
zh,
ar,
hi,
ru,
nl,
pl,
sv,
da,
fi,
no,
cs,
sk,
hu,
ro,
bg,
hr,
uk,
el,
tr,
th,
vi,
id,
ms,
fil,
ta,
te,
ml,
kn,
bn,
gu,
mr,
pa,
he,
fa,
ur,
sw,
ha,
af,
ga,
cy,
is,
ca,
gl,
sl,
et,
lv,
lt,
sr,
bs,
mk,
ka,
hy,
az,
kk,
ne
stability
number

voiceover: 0-1, default 0.5. Higher holds one delivery across takes; lower is more expressive and varies more.

Required range: 0 <= x <= 1
similarity_boost
number

voiceover: 0-1, default 0.75. How closely the output tracks the source voice.

Required range: 0 <= x <= 1
style
number

voiceover: 0-1, default 0. Raises expressiveness at some cost to stability.

Required range: 0 <= x <= 1
speed
number

voiceover: 0.7-1.2, default 1. Delivery rate. Use it to fit a line to a shot rather than trimming after.

Required range: 0.7 <= x <= 1.2
speaker_boost
boolean

voiceover: sharpens resemblance to the source voice, at a small latency cost.

prompt_influence
number

sound_effect: 0-1, default 0.3. Higher follows the prompt more literally, lower gives the model more room.

Required range: 0 <= x <= 1
loop
boolean

sound_effect: generate a seamless loop, for ambience held under a whole scene.

seed
integer

voiceover: seed for a reproducible take. Ignored by music and sound_effect.

context
string

Optional: one sentence shown to the user beside this action.

Maximum string length: 600

Response

Done, or a job started for work that runs longer (follow it with get_jobs).

ok
any
required
data
object
required
meta
object
required
media
object[]