NEW Browse AI tools across categories — updated daily. See what's new →
★ Featured Development

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...

Version1.0.0
LicenseMIT
Token count~1,316
Views56
UpdatedJun 4, 2026

Install

Quick install

via npx skills · works with 57+ agents
npx skills add https://github.com/ComposioHQ/awesome-claude-skills/tree/master/composio-skills/elevenlabs-automation
Or pick agent:
npx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent claude-code
npx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent cursor
npx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent codex
npx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent opencode
npx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent github-copilot
npx skills add ComposioHQ/awesome-claude-skills --skill "ElevenLabs Automation" --agent windsurf
More 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.git
cp -r awesome-claude-skills/composio-skills/elevenlabs-automation ~/.claude/skills/
How to use: Once installed, ask your agent to "use the ElevenLabs Automation skill" or describe what you want (e.g. "Automate ElevenLabs text-to-speech workflows -- generate speech from text, brows"). Requires Node.js 18+.

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

  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

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

Finishing A Development Branch

★ Featured Official

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

obra 61
Development

Receiving Code Review

★ Featured Official

Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performat...

obra 59
Development

Webapp Testing

★ Featured

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browse...

ComposioHQ 51
Development

Replicate Automation

★ Featured

Automate Replicate AI model operations -- run predictions, upload files, inspect model schemas, list versions, and manage prediction history via the Composio MCP integration.

ComposioHQ 49
Development

Using Git Worktrees

★ Featured Official

Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback

obra 48
Development

OpenAI Automation

★ Featured

Automate OpenAI API operations -- generate responses with multimodal and structured output support, create embeddings, generate images, and list models via the Composio MCP integration.

ComposioHQ 46
Development