ElevenLabs AI
The robomotion elevenlabsai CLI connects to ElevenLabs for AI speech synthesis and processing. It generates natural-sounding speech from text in 30+ languages, transcribes audio, clones voices, creates sound effects, isolates audio, and manages voice libraries and pronunciation dictionaries.
When to use
- Convert text to natural-sounding speech with selectable voices
- Transcribe audio files to text (speech-to-text)
- Clone voices or generate sound effects from descriptions
- Manage voice library, pronunciation dictionaries, and models
Prerequisites
robomotionCLI installed- Package installed:
robomotion install elevenlabsai - ElevenLabs API key configured via Robomotion vault
IMPORTANT: Session Mode Required for Multi-Step Operations
Each CLI command runs as a separate process — connection IDs from connect do NOT persist across calls.
You MUST use --session on connect and pass --session-id to all subsequent commands.
Workflow
- Install (once):
robomotion install elevenlabsai - Connect with session:
robomotion elevenlabsai elevenlabs_connect --session --output json # → {"outClientId":"<client-id>","session_id":"<session-id>"} - Use the returned
client-idandsession-idin all subsequent commands:robomotion elevenlabsai text_to_speech --client-id "<client-id>" --text <text> --voice-id <voice> --session-id "<session-id>" --output json - Disconnect when done:
robomotion elevenlabsai elevenlabs_disconnect --client-id "<client-id>" --session-id "<session-id>" --output json
Always append --output json to get structured JSON results.
Commands Reference
robomotion elevenlabsai add_voice --connection_id --in-name --files [--opt-description] [--opt-labels] --session-id "<session-id>" --output jsonAdds a new voice to ElevenLabs using audio samplesrobomotion elevenlabsai clone_voice --connection_id --in-name --files [--opt-description] --session-id "<session-id>" --output jsonCreates a clone of a voice using audio samplesrobomotion elevenlabsai connect --session --output jsonEstablishes a connection to ElevenLabs AI using API credentialsrobomotion elevenlabsai delete_history_item --connection_id --in-history-item-id --session-id "<session-id>" --output jsonDeletes a history item from ElevenLabsrobomotion elevenlabsai delete_voice --connection_id --in-voice-id --session-id "<session-id>" --output jsonDeletes a voice from ElevenLabs by IDrobomotion elevenlabsai disconnect --connection_id --session-id "<session-id>" --output jsonCloses an existing ElevenLabs AI connection and releases resourcesrobomotion elevenlabsai edit_voice --connection_id --in-voice-id --in-name --files [--opt-description] [--opt-labels] --session-id "<session-id>" --output jsonEdits an existing voice's properties in ElevenLabsrobomotion elevenlabsai edit_voice_settings --connection_id --in-voice-id --0.5 --0.75 --session-id "<session-id>" --output jsonUpdates the settings for a specific voicerobomotion elevenlabsai get_audio_from_history_item --connection_id --in-history-item-id --in-path --session-id "<session-id>" --output jsonDownloads the audio file from a history itemrobomotion elevenlabsai get_history --connection_id --100 [--opt-last-history-item-id] --session-id "<session-id>" --output jsonRetrieves the generation history from ElevenLabsrobomotion elevenlabsai get_history_item --connection_id --in-history-item-id --session-id "<session-id>" --output jsonRetrieves a specific history item by IDrobomotion elevenlabsai get_models --connection_id --session-id "<session-id>" --output jsonRetrieves the list of available ElevenLabs AI modelsrobomotion elevenlabsai get_user_info --connection_id --session-id "<session-id>" --output jsonRetrieves the current user's ElevenLabs account informationrobomotion elevenlabsai get_user_subscription_info --connection_id --session-id "<session-id>" --output jsonRetrieves the current user's ElevenLabs subscription informationrobomotion elevenlabsai get_voice --connection_id --in-voice-id --session-id "<session-id>" --output jsonRetrieves details for a specific voice by IDrobomotion elevenlabsai get_voice_settings --connection_id --in-voice-id --session-id "<session-id>" --output jsonRetrieves the settings for a specific voice by IDrobomotion elevenlabsai get_voices --connection_id --session-id "<session-id>" --output jsonRetrieves all available voices from ElevenLabs AIrobomotion elevenlabsai speech_to_speech --connection_id --in-source-audio-path --in-output-path --in-voice-id [--0.5] [--0.75] --session-id "<session-id>" --output jsonConverts speech from one voice to another using ElevenLabs AIrobomotion elevenlabsai speech_to_text --connection_id --in-audio-path [--opt-model] [--opt-language] [--opt-prompt] [--0] --session-id "<session-id>" --output jsonTranscribes audio to text using ElevenLabs AIrobomotion elevenlabsai text_to_speech --connection_id --in-path --in-voice-id --in-text [--0.5] [--0.75] [--opt-model] --session-id "<session-id>" --output jsonConverts text to speech audio using ElevenLabs AI
Environment
- ROBOMOTION_API_TOKEN (if vault credentials are needed)