elevenlabs

elevenlabs

elevenlabs.

ElevenLabs account, read-only: credits, voices and models. Nothing here

ajouter à otoauth : —prefix : elevenlabs_*

setup & usage

⚠ an ElevenLabs API key

create a key in ElevenLabs (Developers → API Keys → *Create key*) and paste it into oto. Reference: ElevenLabs authentication.

  • a key can be restricted when it is created: the generations need *Text to Speech*, *Music* and *Sound Effects*; the reads need *User* read (the credits), *Voices* read and *Models* read. A missing permission is named in the refusal
  • a key can carry its own credit limit in ElevenLabs: a good way to give a teammate or an agent a budget
  • your own key first: every generation then spends your ElevenLabs credits; each organization or person sets its own key
  • the shared key, when oto grants it to your org, covers speech (create_speech) only, unless the instance opens more; music, sound effects and voice design need your own key. Each spoken call counts the ElevenLabs credits it spent (half a credit per character on the flash and turbo models, one otherwise). The voice and model reads are free on it; the balance (get_subscription) is not served on it — it is the instance's
  • granting the shared key (oto_admin_key_grant op=grant) requires a daily_quota > 0, counted in ElevenLabs credits per day (absent or 0, which would be unlimited, is refused with grant_quota_required); the gestures that carry no quota (platform access, option gift) are refused for this connector
  • ▸ a voice, a track, a sound
  • "how many credits are left?" → elevenlabs(op="get_subscription"): character_count used against character_limit, and when it resets
  • "which voices can I use?" → elevenlabs(op="list_voices", search="warm"); one voice's details → op="get_voice", voice_id=…
  • "read this line" → elevenlabs_act(op="create_speech", voice_id=…, text="…"); add timestamps=true for each word's start and end (captions, cutting a video on a word)
  • a script read line by line sounds continuous when each call passes the neighbouring lines as previous_text and next_text
  • "a 45-second track" → elevenlabs_act(op="create_music", prompt="…", music_length_ms=45000), or a composition_plan that sets each section's length and styles, including what must NOT happen (negative_global_styles)
  • "a soft click" → elevenlabs_act(op="create_sound", text="…", duration_seconds=1)
  • "find a narrator's voice" → elevenlabs_act(op="create_voice_design", voice_description="…", text="…"): three previews to listen to
  • · what can mislead
  • ⚠️ the audio is a download link that expires (expires_in, one hour by default; the file is deleted after a day): download it right away, never store the link
  • every elevenlabs_act call spends credits and is never retried automatically: a replay bills twice
  • on the shared key, text is at most 5,000 characters per call (text_too_long, refused before anything is spent): cut a longer script into lines, read one call each, or use your own key, which lifts this limit
  • an empty account answers like a refused key on ElevenLabs' side (401); the connector tells the two apart and says which
  • seed makes a take reproducible as far as the model allows, not exactly
  • a voice design preview is not a voice of the account: saving it takes a voice slot, in ElevenLabs
  • some output formats (mp3_44100_192, pcm_44100) and some voices are paid plans only (403)
  • ⚙ multiple comptes

    this connector accepts multiple comptes: each stored credential becomes a named account (one name per compte), at your level, your team's or your org's.

  • the first one doesn't need a name; from the second on, each one carries its own (the first then takes the name "principal", renamable)
  • without specification, the agent takes the only stored compte, otherwise the one marked as default; otherwise the call is refused, naming the available comptes — never a random choice
  • target a compte for a call: _account="<name>" on the tool; list them: oto_identity(op='list', connector='elevenlabs') (scope='org' or scope='group' for the org's or team's)
  • set the default: oto_identity(op='set', connector='elevenlabs', identity_id='<name>'); rename: op='rename' with new_name
  • ⚠️ no tool walks through the comptes on its own: a total across several comptes is obtained by calling each one (_account) and adding up
  • outils

    chargement…

    utilisation

    claude code — installe le plugin oto — claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.
    claude.ai — branche mcp.oto.cx/mcp en connecteur custom (guide)
    cli — pipx install oto-cli puis oto elevenlabs …