ElevenLabs Automation
Automate ElevenLabs text-to-speech workflows -- generate speech from text, browse and inspect voices, check subscription limits, list models, stream audio, and retrieve history via the Composio MCP...
Install
Quick install
npx skills add https://github.com/ComposioHQ/awesome-claude-skills/tree/master/composio-skills/elevenlabs-automationnpx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent claude-codenpx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent cursornpx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent codexnpx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent opencodenpx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent github-copilotnpx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent windsurfMore install options
Shorthand — useful for multi-skill repos:
npx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation"Manual — clone the repo and drop the folder into your agent's skills directory:
git clone https://github.com/ComposioHQ/awesome-claude-skills.gitcp -r awesome-claude-skills/composio-skills/elevenlabs-automation ~/.claude/skills/ElevenLabs Automation
Automate your ElevenLabs text-to-speech workflows -- convert text to natural speech, browse the voice library, inspect voice details, check subscription credits, select TTS models, stream audio for low-latency delivery, and retrieve previously generated audio from history.
Toolkit docs: composio.dev/toolkits/elevenlabs
---
Setup
- Add the Composio MCP server to your client:
https://rube.app/mcp - Connect your ElevenLabs account when prompted (API key authentication)
- Start using the workflows below
---
Core Workflows
1. Generate Speech from Text
Use ELEVENLABS_TEXT_TO_SPEECH to convert text into a downloadable audio file.
Tool: ELEVENLABS_TEXT_TO_SPEECH
Inputs:
- voice_id: string (required) -- obtain from ELEVENLABS_GET_VOICES
- text: string (required) -- max ~10,000 chars (most models), 30,000 (Flash/Turbo v2), 40,000 (v2.5)
- model_id: string (default "eleven_monolingual_v1") -- e.g., "eleven_multilingual_v2"
- output_format: string (default "mp3_44100_128") -- see formats below
- optimize_streaming_latency: integer (0-4; NOT supported with eleven_v3)
- seed: integer (optional, for reproducibility -- not guaranteed)
- pronunciation_dictionary_locators: array (optional, up to 3 dictionaries)
Output formats:
- MP3:
mp3_22050_32,mp3_44100_32,mp3_44100_64,mp3_44100_96,mp3_44100_128,mp3_44100_192(Creator+) - PCM:
pcm_16000,pcm_22050,pcm_24000,pcm_44100(Pro+) - uLaw:
ulaw_8000(for Twilio)
Important: Output is a file object with a presigned download link at data.file.s3url (expires in ~1 hour). Download promptly.
2. Browse Available Voices
Use ELEVENLABS_GET_VOICES to list all voices with their attributes and settings.
Tool: ELEVENLABS_GET_VOICES
Inputs: (none)
Returns an array at data.voices[] with voice_id, name, labels (gender, accent, use_case), and settings.
3. Inspect a Specific Voice
Use ELEVENLABS_GET_VOICE to get detailed metadata for a candidate voice before synthesis.
Tool: ELEVENLABS_GET_VOICE
Inputs:
- voice_id: string (required) -- e.g., "21m00Tcm4TlvDq8ikWAM"
- with_settings: boolean (default false) -- include detailed voice settings
4. Check Subscription and Credits
Use ELEVENLABS_GET_USER_SUBSCRIPTION_INFO to verify plan limits and remaining credits before bulk generation.
Tool: ELEVENLABS_GET_USER_SUBSCRIPTION_INFO
Inputs: (none)
5. List Available TTS Models
Use ELEVENLABS_GET_MODELS to discover compatible models and filter by can_do_text_to_speech: true.
Tool: ELEVENLABS_GET_MODELS
Inputs: (none)
6. Stream Audio and Retrieve History
Use ELEVENLABS_TEXT_TO_SPEECH_STREAM for low-latency streamed delivery, and ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEM to re-download previously generated audio.
Tool: ELEVENLABS_TEXT_TO_SPEECH_STREAM
- Same core inputs as TEXT_TO_SPEECH but returns a stream for low-latency playback
Tool: ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEM
- history_item_id: string (required) -- ID from a previous generation
---
Known Pitfalls
| Pitfall | Detail |
|---------|--------|
| Text length limits | Most models cap at ~10,000-20,000 chars per request. Oversized input returns HTTP 400. Split long text into chunks (~5000 chars) and generate per chunk. |
| Output is a presigned URL | ELEVENLABS_TEXT_TO_SPEECH returns data.file.s3url with a ~1 hour expiry (X-Amz-Expires=3600). Download the audio file promptly. |
| Quota and credit errors | HTTP 401 with quota_exceeded or HTTP 402 payment_required means insufficient credits or tier restrictions. Check with ELEVENLABS_GET_USER_SUBSCRIPTION_INFO before bulk jobs. |
| Voice permissions | HTTP 401 with missing_permissions means the API key lacks voices_read scope. Verify key permissions. |
| Model compatibility | Not all models support TTS. Use ELEVENLABS_GET_MODELS and filter by can_do_text_to_speech: true. The optimize_streaming_latency parameter is NOT supported with eleven_v3. |
| Large voice list truncation | ELEVENLABS_GET_VOICES may return a large list. Select from the full data.voices[] payload -- previews may appear truncated. |
---
Quick Reference
| Tool Slug | Description |
|-----------|-------------|
| ELEVENLABS_TEXT_TO_SPEECH | Convert text to speech, returns downloadable audio file |
| ELEVENLABS_GET_VOICES | List all available voices with attributes |
| ELEVENLABS_GET_VOICE | Get detailed info for a specific voice |
| ELEVENLABS_GET_USER_SUBSCRIPTION_INFO | Check subscription plan and remaining credits |
| ELEVENLABS_GET_MODELS | List available TTS models and capabilities |
| ELEVENLABS_TEXT_TO_SPEECH_STREAM | Stream audio for low-latency delivery |
| ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEM | Re-download audio from generation history |
---
Powered by Composio
SKILL.md source
--- name: ElevenLabs Automation description: Automate ElevenLabs text-to-speech workflows -- generate speech from text, browse and inspect voices, check subscription limits, list models, stream audio, and retrieve history via the Composio MCP... --- # ElevenLabs Automation Automate your ElevenLabs text-to-speech workflows -- convert text to natural speech, browse the voice library, inspect voice details, check subscription credits, select TTS models, stream audio for low-latency delivery, and retrieve previously generated audio from history. **Toolkit docs:** [composio.dev/toolkits/elevenlabs](https://composio.dev/toolkits/elevenlabs) --- ## Setup 1. Add the Composio MCP server to your client: `https://rube.app/mcp` 2. Connect your ElevenLabs account when prompted (API key authentication) 3. Start using the workflows below --- ## Core Workflows ### 1. Generate Speech from Text Use `ELEVENLABS_TEXT_TO_SPEECH` to convert text into a downloadable audio file. ``` Tool: ELEVENLABS_TEXT_TO_SPEECH Inputs: - voice_id: string (required) -- obtain from ELEVENLABS_GET_VOICES - text: string (required) -- max ~10,000 chars (most models), 30,000 (Flash/Turbo v2), 40,000 (v2.5) - model_id: string (default "eleven_monolingual_v1") -- e.g., "eleven_multilingual_v2" - output_format: string (default "mp3_44100_128") -- see formats below - optimize_streaming_latency: integer (0-4; NOT supported with eleven_v3) - seed: integer (optional, for reproducibility -- not guaranteed) - pronunciation_dictionary_locators: array (optional, up to 3 dictionaries) ``` **Output formats:** - MP3: `mp3_22050_32`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128`, `mp3_44100_192` (Creator+) - PCM: `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100` (Pro+) - uLaw: `ulaw_8000` (for Twilio) **Important:** Output is a file object with a presigned download link at `data.file.s3url` (expires in ~1 hour). Download promptly. ### 2. Browse Available Voices Use `ELEVENLABS_GET_VOICES` to list all voices with their attributes and settings. ``` Tool: ELEVENLABS_GET_VOICES Inputs: (none) ``` Returns an array at `data.voices[]` with `voice_id`, `name`, `labels` (gender, accent, use_case), and settings. ### 3. Inspect a Specific Voice Use `ELEVENLABS_GET_VOICE` to get detailed metadata for a candidate voice before synthesis. ``` Tool: ELEVENLABS_GET_VOICE Inputs: - voice_id: string (required) -- e.g., "21m00Tcm4TlvDq8ikWAM" - with_settings: boolean (default false) -- include detailed voice settings ``` ### 4. Check Subscription and Credits Use `ELEVENLABS_GET_USER_SUBSCRIPTION_INFO` to verify plan limits and remaining credits before bulk generation. ``` Tool: ELEVENLABS_GET_USER_SUBSCRIPTION_INFO Inputs: (none) ``` ### 5. List Available TTS Models Use `ELEVENLABS_GET_MODELS` to discover compatible models and filter by `can_do_text_to_speech: true`. ``` Tool: ELEVENLABS_GET_MODELS Inputs: (none) ``` ### 6. Stream Audio and Retrieve History Use `ELEVENLABS_TEXT_TO_SPEECH_STREAM` for low-latency streamed delivery, and `ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEM` to re-download previously generated audio. ``` Tool: ELEVENLABS_TEXT_TO_SPEECH_STREAM - Same core inputs as TEXT_TO_SPEECH but returns a stream for low-latency playback Tool: ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEM - history_item_id: string (required) -- ID from a previous generation ``` --- ## Known Pitfalls | Pitfall | Detail | |---------|--------| | Text length limits | Most models cap at ~10,000-20,000 chars per request. Oversized input returns HTTP 400. Split long text into chunks (~5000 chars) and generate per chunk. | | Output is a presigned URL | `ELEVENLABS_TEXT_TO_SPEECH` returns `data.file.s3url` with a ~1 hour expiry (X-Amz-Expires=3600). Download the audio file promptly. | | Quota and credit errors | HTTP 401 with `quota_exceeded` or HTTP 402 `payment_required` means insufficient credits or tier restrictions. Check with `ELEVENLABS_GET_USER_SUBSCRIPTION_INFO` before bulk jobs. | | Voice permissions | HTTP 401 with `missing_permissions` means the API key lacks `voices_read` scope. Verify key permissions. | | Model compatibility | Not all models support TTS. Use `ELEVENLABS_GET_MODELS` and filter by `can_do_text_to_speech: true`. The `optimize_streaming_latency` parameter is NOT supported with `eleven_v3`. | | Large voice list truncation | `ELEVENLABS_GET_VOICES` may return a large list. Select from the full `data.voices[]` payload -- previews may appear truncated. | --- ## Quick Reference | Tool Slug | Description | |-----------|-------------| | `ELEVENLABS_TEXT_TO_SPEECH` | Convert text to speech, returns downloadable audio file | | `ELEVENLABS_GET_VOICES` | List all available voices with attributes | | `ELEVENLABS_GET_VOICE` | Get detailed info for a specific voice | | `ELEVENLABS_GET_USER_SUBSCRIPTION_INFO` | Check subscription plan and remaining credits | | `ELEVENLABS_GET_MODELS` | List available TTS models and capabilities | | `ELEVENLABS_TEXT_TO_SPEECH_STREAM` | Stream audio for low-latency delivery | | `ELEVENLABS_GET_AUDIO_FROM_HISTORY_ITEM` | Re-download audio from generation history | --- *Powered by [Composio](https://composio.dev)*
Related skills 6
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
appinsights-instrumentation
Guidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns, SDK setup, and configuration references. WHEN: how to instrument app, App Insights SDK, telemetry patterns, what is App Insights, Application Insights guidance, instrumentation examples, APM best practices.
azure-messaging
Troubleshoot and resolve issues with Azure Messaging SDKs for Event Hubs and Service Bus. Covers connection failures, authentication errors, message processing issues, and SDK configuration problems. WHEN: event hub SDK error, service bus SDK issue, messaging connection failure, AMQP error, event processor host issue, message lock lost, message lock expired, lock renewal, lock renewal batch, send timeout, receiver disconnected, SDK troubleshooting, azure messaging SDK, event hub consumer, ser...
azure-hosted-copilot-sdk
Build, deploy, and modify GitHub Copilot SDK apps on Azure. MANDATORY when codebase contains @github/copilot-sdk or CopilotClient in package.json. PREFER OVER azure-prepare when copilot-sdk markers detected. WHEN: copilot SDK, @github/copilot-sdk, copilot-powered app, build copilot app, prepare copilot app, add feature to copilot app, modify copilot app, BYOM, bring your own model, CopilotClient, createSession, sendAndWait, azd init copilot. DO NOT USE FOR: deploying already-prepared copilot-...
lark-event
Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM message receive, reactions, chat member changes, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.
xget
Use when tasks involve Xget URL rewriting, registry/package/container/API acceleration, integrating Xget into Git, download tools, package managers, container builds, AI SDKs, CI/CD, deployment, self-hosting, or adapting commands and config from the live README `Use Cases` section into files, environments, shells, or base URLs.