Text to Speech Block
Convert text to speech audio
Convert text into spoken audio using ElevenLabs voices. Returns base64-encoded MP3 audio. Authenticate with an ElevenLabs API key.
Overview
| Property | Value |
|---|---|
| Type | tts |
| Category | tools |
| Color | #8B5CF6 |
When to Use
- Generate spoken audio narration from AI-written text in an automated workflow
- Build voice response systems that read back dynamic content to users
- Produce audio files for notifications, summaries, or announcements without a human recording session
- Convert long-form content (articles, reports) into podcast-style MP3 audio
- Power multilingual TTS pipelines by pairing with a translation block upstream
Configuration
Operation
Selects the action the block performs. There is currently one option:
| Label | ID |
|---|---|
| Synthesize | tts_synthesize |
Text
The text content to convert to speech. Accepts multi-line input and supports {{blockName.field}} references to pass in text generated by earlier blocks. Visible only when Operation is tts_synthesize.
- Type: long-input
- Required: yes (for synthesis)
- Placeholder:
Hello, welcome to our service!
Voice ID
The ElevenLabs voice identifier that determines the speaker's voice. Visible only when Operation is tts_synthesize.
- Type: short-input
- Required: yes (for synthesis)
- Placeholder:
21m00Tcm4TlvDq8ikWAM
Find voice IDs in the ElevenLabs Voice Library or via the ElevenLabs API.
Model
The ElevenLabs model to use for synthesis. Defaults to eleven_turbo_v2_5 when left blank. Visible only when Operation is tts_synthesize.
- Type: short-input
- Required: no
- Placeholder:
eleven_turbo_v2_5
Common model IDs include eleven_turbo_v2_5 (fast, low-latency) and eleven_multilingual_v2 (higher quality, multilingual).
ElevenLabs API Key
Your ElevenLabs API key used to authenticate every request. Store it as a workflow secret and reference it as {{ELEVENLABS_API_KEY}} rather than pasting the raw value.
- Type: short-input (password-masked)
- Required: yes
Inputs & Outputs
Inputs:
operation(string) — Operation to perform; must betts_synthesizeapiKey(string) — ElevenLabs API keytext(string) — Text to synthesizevoiceId(string) — Voice IDmodelId(string) — Model ID
Outputs:
data(json) — Base64 audio with MIME type and format; shape:{ audioBase64: string, mimeType: "audio/mpeg", format: "mp3" }metadata(json) — Response metadata; shape:{ voiceId: string, characterCount: number }
Tools
Text to Speech Synthesize (tts_synthesize) — Calls the ElevenLabs /v1/text-to-speech/{voiceId} REST endpoint with the supplied text and model, streams back the MP3 binary, and returns it as a base64-encoded string along with synthesis metadata (voice ID used and character count).
YAML Example
tts_1:
type: tts
name: "Text to Speech"
inputs:
operation: tts_synthesize
apiKey: "{{ELEVENLABS_API_KEY}}"
text: "{{summarizer.content}}"
voiceId: "21m00Tcm4TlvDq8ikWAM"
modelId: "eleven_turbo_v2_5"
connections:
outgoing:
- target: next-block-id