# Migrate from ElevenLabs to Lero

Switch from ElevenLabs to Lero in minutes for Brazilian Portuguese: the route, the header, the voices, the limits, the MCP and the price.

https://lero.studio/en/migrate/elevenlabs

## Introduction

If you use ElevenLabs and your audience is in Brazil, this guide shows what changes when you switch to Lero: the API call, the voices, the limits, the MCP and the price. The switch takes a few minutes: one route, one header and the voice name.

**Jump ahead:** [Concepts](#concepts) · [Generate speech with the API](#generate-speech-with-the-api) · [Voices](#voices) · [Limits](#limits) · [MCP](#mcp) · [Voice agents](#voice-agents) · [Pricing](#pricing) · [Checklist](#checklist)

## When to switch

- Your audience is Brazilian and the accent matters: Lero has carioca, paulista and niteroiense voices from native speakers.
- Your scripts have numbers, BRL prices, phone numbers, dates and acronyms: Lero reads them the way Brazilians say them.
- You want to pay less: Lero monthly plans cost about half.
- If you need many languages in one project, dubbing or music, ElevenLabs is still the option: you can use both.

## Concepts

| ElevenLabs | Lero |
|---|---|
| `POST /v1/text-to-speech/{voice_id}` | `POST /v1/tts` |
| `https://api.elevenlabs.io` | `https://app.lero.studio/api` |
| `xi-api-key` header | `Authorization: Bearer lero_...` header |
| `voice_id` in the URL | `voz` in the body: `rio`, `sp` or `niteroi` |
| `text` | `texto` |
| `model_id` | `model`, optional: `Lero v1` |
| `GET /v1/voices` | `GET /v1/voices` |
| `GET /v1/user/subscription` | `GET /v1/balance` |
| Credits per character | 1 credit per character |
| Official MCP (`elevenlabs-mcp`) | Lero MCP (`npx`) |

## Generate speech with the API

Before, with ElevenLabs:

```bash
curl -X POST "https://api.elevenlabs.io/v1/text-to-speech/$VOICE_ID" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Seu pedido chega amanhã.", "model_id": "eleven_multilingual_v2"}' \
  --output speech.mp3
```

After, with Lero:

```bash
curl -X POST "https://app.lero.studio/api/v1/tts" \
  -H "Authorization: Bearer $LERO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"texto": "Seu pedido chega amanhã.", "voz": "rio"}' \
  --output speech.mp3
```

The response is the MP3 (`audio/mpeg`), as with ElevenLabs. With `Accept: application/json`, the audio comes base64-encoded in the `audio` field. The `X-Creditos-Custo`, `X-Creditos-Restantes` and `X-Duracao` headers carry the cost, the balance and the duration.

## Voices

Replace each `voice_id` with a Lero voice:

- `rio`: Rio de Janeiro accent.
- `sp`: São Paulo accent.
- `niteroi`: Niterói accent.

To choose, generate the same sentence in all three and listen with your real script. `GET /v1/voices` returns the current list.

## Limits

- Up to 500 characters per request. For long text, split on sentences, generate each part and join the MP3s in order.
- The `/fala` route returns the whole MP3, with no streaming.
- On `429` (`muitos_pedidos` or `ocupado`), respect `Retry-After`. On `503 carregando`, retry in a few seconds.
- The API is on the Creator and Dev plans.

## MCP

If you generate audio from Claude Code, Codex or Cursor with the ElevenLabs MCP, switch to the Lero MCP:

```bash
claude mcp add --env LERO_API_KEY=$LERO_API_KEY lero -- npx -y lero-mcp
```

```bash
codex mcp add lero --env LERO_API_KEY=$LERO_API_KEY -- npx -y lero-mcp
```

The tools are `lero_fala`, `lero_vozes` and `lero_saldo`. MP3 files are saved to `~/Downloads/Lero`.

## Voice agents

ElevenLabs conversational agents map to the Lero Conversational Agent, in beta: `GET /v1/agents` for discovery and `POST /v1/agents/conversation` to open the WebRTC conversation, with your system prompt and your knowledge. Walkthrough at [lero.studio/docs/en](/docs/en#agente-guia).

## Pricing

| Plan | Lero | ElevenLabs |
|---|---|---|
| Entry | Starter: R$ 19/month (R$ 9 first month), 40 min | Starter: US$ 6/month, 30 min |
| Creator | Creator: R$ 49/month, about US$ 9 | Creator: US$ 22/month |

ElevenLabs prices checked on 2026-11-10 at elevenlabs.io/pricing, reference rate US$ 1 = R$ 5,42 + IOF de 3,5%. Plans change: check before deciding. Lero pricing is at [lero.studio/en/pricing.md](/en/pricing.md).

## Checklist

1. Sign up at app.lero.studio and create a key under Developers.
2. Store the key as `LERO_API_KEY`.
3. Change the URL, the header and the fields (`text` → `texto`, `voice_id` → `voz`).
4. Split texts over 500 characters.
5. Generate the same sentence in the three voices and choose.
6. Switch the MCP, if you use it.

