ElevenLabs
ElevenLabs provides one of the highest-quality text-to-speech engines available. JSON2Video integrates with ElevenLabs out of the box so you can add realistic voiceovers to videos with a single element.
You can use ElevenLabs in two ways:
- Through JSON2Video (default): voices run on JSON2Video's ElevenLabs key. No ElevenLabs account required. See the credit consumption table for the current cost.
- With your own ElevenLabs key: voices run on your ElevenLabs account and are billed there. Useful for high volumes, and for the voices of your own account (cloned, designed or library voices).
Basic usage
Add a voice element with model: "elevenlabs":
{
"type": "voice",
"model": "elevenlabs",
"voice": "Adam",
"text": "Hello, I am an ElevenLabs generated voiceover."
}
The voice field accepts either a voice name ("Adam", "Rachel") or an ElevenLabs voice ID.
The Flash v2.5 model
For shorter latency at the same quality tier, use elevenlabs-flash-v2-5:
{
"type": "voice",
"model": "elevenlabs-flash-v2-5",
"voice": "Adam",
"text": "This is a Flash v2.5 voiceover."
}
Credit consumption is the same as the standard ElevenLabs model.
Use your own ElevenLabs API key
Step 1 — Get an ElevenLabs API key
- Sign in at elevenlabs.io.
- Open your profile menu → API Keys.
- Create a new key with Text to Speech access and copy it. ElevenLabs keys start with
sk_.
Step 2 — Add the key in the dashboard
- Go to json2video.com/dashboard/connections, API providers tab.
- On the ElevenLabs card, click Add key.
- Keep the suggested ID (
elevenlabs) or type your own, paste the key, optionally click Test key, and save.
Your first key becomes your default key (★). See Dashboard — Connections for the key table, the Status column and Test.
Step 3 — Render
With a default key, you don't need to change your movies. Every ElevenLabs voice without connection is generated with the starred key:
{
"type": "voice",
"model": "elevenlabs",
"voice": "Rachel",
"text": "Hello, world!"
}
To use a specific key (for example, one per customer), reference its ID:
{
"type": "voice",
"model": "elevenlabs",
"connection": "elevenlabs-acme",
"voice": "p16ZaTyG1Ks9FQ9LpSun",
"text": "Hello, world!"
}
To use JSON2Video's key for one voice even though you have a default key, set "connection": "none":
{
"type": "voice",
"model": "elevenlabs",
"connection": "none",
"voice": "Rachel",
"text": "Hello, world!"
}
With your own key, voice accepts a voice name or ID from the JSON2Video ElevenLabs catalog or any voice ID from your ElevenLabs account. If the key fails (rejected, out of quota, missing a permission), or ElevenLabs cannot find the voice in your account, the render fails with a message saying which — JSON2Video never falls back to its own key. Details and messages: voice element — connection.
Picking a voice
ElevenLabs offers two voice categories:
- Pre-built voices — available to everyone. Names like Adam, Rachel, Domi, Bella, Antoni, …
- Cloned / custom voices — created in your ElevenLabs account and only accessible with your own API key.
For pre-built voices, see the ElevenLabs voices by language catalog — it lists every voice JSON2Video supports, with its name, voice ID and an audio sample.
For custom voices, find the voice ID in your ElevenLabs dashboard.
Customising voice settings
Pass any ElevenLabs API parameter through model-settings:
{
"type": "voice",
"model": "elevenlabs",
"voice": "Adam",
"text": "Hello, world!",
"model-settings": {
"language_code": "en",
"voice_settings": {
"stability": 0.75,
"similarity_boost": 0.85,
"style": 0.2,
"speed": 1.0
}
}
}
Common parameters:
voice_settings.speed— playback speed,0.7to1.2(default1.0).voice_settings.stability—0.0to1.0. Higher = more consistent but less expressive.voice_settings.similarity_boost—0.0to1.0. Higher = closer to the source voice.voice_settings.style—0.0to1.0. Higher = more emotional / dramatic.language_code— ISO 639-1 code (en,es,fr, …) to force a specific language.
See ElevenLabs API docs for the full list.
Cost
Without your own key, ElevenLabs voices run on JSON2Video's key — see the credit consumption table.
With your own key, ElevenLabs bills your account for the generation and JSON2Video charges no credits for the voice. Rendering the video is charged as usual.