Archived docs Get your API Key
Get started
Tutorials
Guides
Reference
Help for AI agents
🤖 AI Assistant

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 modes:

  • Through JSON2Video (default): credits come from your JSON2Video balance. No ElevenLabs account required.
  • Bring your own key: connect your ElevenLabs account and pay ElevenLabs directly. Useful for high-volume use cases or for accessing custom cloned voices.

Basic usage

Add a voice element with model: "elevenlabs":

{
  "type": "voice",
  "model": "elevenlabs",
  "voice": "Adam",
  "text": "Hello, I am an ElevenLabs generated voiceover."
}

Browse available voices at json2video.com/ai-voices/elevenlabs. 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.

Bring your own ElevenLabs API key

If you have an ElevenLabs subscription with custom voices or need higher rate limits, connect your account:

Step 1 — Get an ElevenLabs API key

  1. Sign in at elevenlabs.io.
  2. Open your profile menu → API Keys.
  3. Create a new key and copy it.

Step 2 — Create a JSON2Video Connection

  1. Go to json2video.com/dashboard/connections.
  2. Click Add new connection.
  3. Choose ElevenLabs as the type.
  4. Paste the API key.
  5. Give the connection an ID you'll remember (e.g. my-elevenlabs) and save.

Step 3 — Reference the connection in your movie JSON

{
  "type": "voice",
  "model": "elevenlabs",
  "connection": "my-elevenlabs",
  "voice": "p16ZaTyG1Ks9FQ9LpSun",
  "text": "Hello, world!"
}

When connection is set, JSON2Video calls ElevenLabs with your API key. You pay ElevenLabs for the generation; JSON2Video charges a small handling fee for the orchestration. See the credits reference for current rates.

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 (via a Connection).

Browse pre-built voices at json2video.com/ai-voices/elevenlabs — each card includes a playable 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.7 to 1.2 (default 1.0).
  • voice_settings.stability0.0 to 1.0. Higher = more consistent but less expressive.
  • voice_settings.similarity_boost0.0 to 1.0. Higher = closer to the source voice.
  • voice_settings.style0.0 to 1.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 a Connection, ElevenLabs usage consumes credits from your JSON2Video balance — see the credit consumption table.

With a Connection, you pay ElevenLabs directly for the audio generation and JSON2Video charges a much smaller orchestration fee per voice element.

See also