elevenlabs.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
Account
subscription
account.subscription
The plan, credits used and limits.
Risk: read
usageStats
account.usageStats
Credits used over a time range, by product or model.
Risk: read
user
account.user
The account’s user and workspace ids and its subscription. Key fields are removed from the result.
Risk: read
subscription full type
subscription full type
Agents
conversationDelete
agents.conversationDelete
Delete a conversation, for good.
Risk: destructive · Irreversible
conversationGet
agents.conversationGet
Read a conversation’s transcript, metadata and analysis.
Risk: read
conversationsList
agents.conversationsList
List conversations, optionally for one agent.
Risk: read
conversations full type
conversations full type
create
agents.create
Create a conversational agent.
Risk: write
conversationConfig keeps the API’s field names and is passed through as sent. An empty agent is fine; agent.prompt.prompt and agent.first_message are the usual place to start.
Output
delete
agents.delete
Delete an agent, for good.
Risk: destructive · Irreversible
get
agents.get
Read an agent’s full configuration.
Risk: read
list
agents.list
List conversational agents.
Risk: read
agents full type
agents full type
signedUrl
agents.signedUrl
Mint a short-lived WebSocket URL a client can use to talk to an agent; the conversation spends credits.
Risk: write
update
agents.update
Change an agent’s configuration, name or tags.
Risk: write
Audio Isolation
isolate
audioIsolation.isolate
Remove background noise from audio and keep the voices; spends credits by audio length. The cleaned audio comes back in the result.
Risk: write
outputFormat, and a clip of about 7.5 s came back as 302,018 bytes in one run, so in a script hand on anything over about 18 s instead of returning it.
Output
Dubbing
create
dubbing.create
Start dubbing a video or audio file into another language; spends credits by length. Returns at once with a dubbing_id; follow it with dubbing.get until status is dubbed or failed.
Risk: write
dubbing_id with dubbing.get until status is dubbed or failed. By default dubbing clones the speakers it hears; set disableVoiceCloning true to use library voices instead.
Output
delete
dubbing.delete
Delete a dub, for good.
Risk: destructive · Irreversible
get
dubbing.get
Where a dub stands: status dubbed or failed are final.
Risk: read
getAudio
dubbing.getAudio
Download a finished dub as base64 (audio or video), subject to the same size limit as other audio.
Risk: read
contentType. Subject to maxBytes, so raise it for anything long.
Output
getTranscript
dubbing.getTranscript
Read a dub’s transcript as srt, webvtt or json.
Risk: read
list
dubbing.list
List dubs, newest first by default.
Risk: read
dubs full type
dubs full type
Forced Alignment
create
forcedAlignment.create
Line up known text with audio to get word and character timings; spends credits by audio length.
Risk: write
characters full type
characters full type
words full type
words full type
History
delete
history.delete
Delete a history item and its audio, for good.
Risk: destructive · Irreversible
get
history.get
Read one history item: its text, voice, model and cost.
Risk: read
getAudio
history.getAudio
Download a history item’s audio as base64, subject to a size limit you can raise with maxBytes.
Risk: read
maxBytes (default 700000 bytes), so raise it for anything long. A new item can take a few seconds to appear, and reading it before then answers 400.
Output
list
history.list
List generated speech, newest first by default.
Risk: read
has_more is true. Keep going with last_history_item_id until has_more is false.
Output
history full type
history full type
Models
list
models.list
List available models with their languages and rates.
Risk: read
models full type
models full type
Music
compose
music.compose
Generate a song from a prompt or a composition plan; spends credits by length. ElevenLabs keeps no copy, so the audio comes back in the result. At the default format, about 24 KB/s, a song over about 31 s is too big to return from a script on Corsair’s cloud, whose cap is 1,000,000 bytes: pick a lower-bitrate outputFormat, or pass contentBase64 to the next operation and return only metadata.
Risk: write
prompt or compositionPlan; musicLengthMs only works with prompt. Defaults to music_v2_5, because the API’s own default, music_v1, is removed on 2027-01-31. No characterCost header; account.usageStats has the cost.
Output
plan
music.plan
Draft a composition plan from a prompt, to edit and pass to music.compose.
Risk: write
chunks or sections in a plan; music_v2_5 answered with chunks in our test. Pass the plan back to music.compose as compositionPlan.
Output
separateStems
music.separateStems
Split a song into stems, returned as a zip; spends credits by audio length.
Risk: write
characterCost header; account.usageStats has the cost.
Output
Single Use Tokens
create
singleUseTokens.create
Mint a single-use token, valid 15 minutes, to give a client instead of the API key.
Risk: write
Sound Effects
generate
soundEffects.generate
Generate a sound effect from a description; spends credits by duration. ElevenLabs keeps no copy, so the audio comes back in the result.
Risk: write
Speech To Text
convert
speechToText.convert
Transcribe audio or video from a URL or a base64 file; spends credits by audio length. With webhook true it returns at once and delivers the transcript by webhook.
Risk: write
fileBase64 or sourceUrl. With webhook true it returns request_id and transcription_id at once and delivers to the workspace’s speech-to-text webhooks, which must exist first. speechToText.getTranscript answers 404 until the transcript is ready, the same as for a wrong id, which is why this isn’t declared as a job.
Output
transcripts full type
transcripts full type
deleteTranscript
speechToText.deleteTranscript
Delete a stored transcript, for good.
Risk: destructive · Irreversible
getTranscript
speechToText.getTranscript
Read a transcript by the transcription_id speechToText.convert returned.
Risk: read
transcripts full type
transcripts full type
Text To Dialogue
convert
textToDialogue.convert
Turn lines spoken by several voices into one audio clip; spends credits by text length.
Risk: write
inputs full type
inputs full type
pronunciationDictionaryLocators full type
pronunciationDictionaryLocators full type
Text To Speech
convert
textToSpeech.convert
Turn text into speech; spends credits by text length. Returns the audio as base64 with its history item id; set includeContent false to keep a long clip out of the result and read it later with history.getAudio.
Risk: write
characterCost says how many). The history item keeps its own stored format, so history.getAudio can return a different bitrate from outputFormat.
voiceSettings full type
voiceSettings full type
pronunciationDictionaryLocators full type
pronunciationDictionaryLocators full type
convertWithTimestamps
textToSpeech.convertWithTimestamps
Turn text into speech with the start and end time of each character; spends credits by text length. Same audio fields as textToSpeech.convert.
Risk: write
textToSpeech.convert, plus alignment and normalized_alignment.
voiceSettings full type
voiceSettings full type
pronunciationDictionaryLocators full type
pronunciationDictionaryLocators full type
alignment full type
alignment full type
normalized_alignment full type
normalized_alignment full type
Voice Changer
convert
voiceChanger.convert
Say the same thing in a different voice, from a base64 audio file; spends credits by audio length.
Risk: write
voiceSettings full type
voiceSettings full type
Voice Design
create
voiceDesign.create
Save a designed preview as a voice in this account; uses a voice slot.
Risk: write
voice_limit (see account.subscription) ElevenLabs answers 400.
Output
settings full type
settings full type
design
voiceDesign.design
Generate voice previews from a description; spends credits. Hear one with voiceDesign.getPreview, then pass its generated_voice_id to voiceDesign.create.
Risk: write
text, 200 with autoGenerateText). Audio doesn’t come back here. Previews are always made for streaming, which is what lets voiceDesign.getPreview read them, and duration_secs reads -1 for them.
Output
previews full type
previews full type
getPreview
voiceDesign.getPreview
Read a preview’s audio by its generated_voice_id, without generating again. Subject to a size limit you can raise with maxBytes.
Risk: read
outputFormat on the design or remix sets its format. We didn’t test how long a preview stays readable.
Output
remix
voiceDesign.remix
Generate previews of a changed version of an existing voice; spends credits. Hear one with voiceDesign.getPreview.
Risk: write
voiceDesign.getPreview, and leaves the source voice as it is. In our tests it cost 101 credits with a 101-character text and 350 with autoGenerateText.
Output
previews full type
previews full type
Voices
addFromLibrary
voices.addFromLibrary
Add a voice from the shared library to this account; uses a voice slot.
Risk: write
defaultSettings
voices.defaultSettings
The settings a voice has by default.
Risk: read
delete
voices.delete
Delete a voice from this account, for good.
Risk: destructive · Irreversible
edit
voices.edit
Change a voice’s name, description or labels.
Risk: write
editSettings
voices.editSettings
Change a voice’s stored settings (stability, similarity and so on).
Risk: write
settings full type
settings full type
get
voices.get
Read one voice with its settings and labels.
Risk: read
settings full type
settings full type
getSettings
voices.getSettings
Read a voice’s stored settings.
Risk: read
list
voices.list
List the voices this account can use.
Risk: read
voices full type
voices full type
searchLibrary
voices.searchLibrary
Search the shared voice library.
Risk: read
voices full type
voices full type