DEV Community

Sinal Aberto
Sinal Aberto

Posted on

Voz de IA em português no seu app: ElevenLabs e Murf em 15 linhas de Python

Seu app, bot ou automação precisa falar português do Brasil? Dá pra fazer com duas chamadas HTTP. Abaixo, o mínimo funcional com a API da ElevenLabs e a da Murf, mais quanto isso custa em reais.

Transparência: este post tem links de afiliado. Se você assinar por eles, o autor pode receber uma comissão, sem custo extra para você.

Qual API usar (preços oficiais em 22/10/2026)

Se você precisa de… Use Custo de entrada
Voz expressiva, clonagem, um só fornecedor para TTS + STT + música ElevenLabs Grátis: 10 mil créditos/mês; Starter US$ 6 com uso comercial
Pagar só o que usar, latência baixa para agente de voz Murf API US$ 10 grátis para testar; Falcon US$ 0,01 / mil caracteres

No cartão brasileiro, some 3,5% de IOF + spread do banco ao valor em dólar.

Gráfico: custo por minuto de voz de IA em reais, Fish Audio x ElevenLabs
Custo por minuto em R$, com 3,5% de IOF. Fontes oficiais, 22/10/2026.

Árvore de decisão: qual voz de IA em português escolher (Fish Audio, ElevenLabs, Murf)
Árvore de decisão do Sinal Aberto. Preços oficiais em 22/10/2026.

1. ElevenLabs em Python

Pegue sua chave em Developers > API Keys. O modelo multilíngue lê português sem configuração extra; 1 caractere = 1 crédito nos modelos Multilingual v2.

import os, requests

VOICE_ID = "SUA_VOICE_ID"  # escolha na Voice Library, filtrando por Portuguese
r = requests.post(
    f"https://api.elevenlabs.io/v1/text-to-speech/{VOICE_ID}",
    headers={"xi-api-key": os.environ["ELEVENLABS_API_KEY"]},
    json={
        "text": "Seu pedido de R$ 129,90 saiu para entrega.",
        "model_id": "eleven_multilingual_v2",
    },
    timeout=60,
)
r.raise_for_status()
open("aviso.mp3", "wb").write(r.content)
Enter fullscreen mode Exit fullscreen mode

2. Murf em Python

A Murf devolve um link para o arquivo gerado. Liste as vozes primeiro e filtre por pt-BR, porque os IDs mudam com o tempo.

import os, requests

H = {"api-key": os.environ["MURF_API_KEY"]}
vozes = requests.get("https://api.murf.ai/v1/speech/voices", headers=H).json()
pt = [v for v in vozes if str(v.get("locale", "")).startswith("pt-BR")]
print([v.get("voiceId") for v in pt][:5])

r = requests.post(
    "https://api.murf.ai/v1/speech/generate",
    headers=H,
    json={"text": "Seu pedido de R$ 129,90 saiu para entrega.",
          "voiceId": pt[0]["voiceId"]},
)
print(r.json().get("audioFile"))
Enter fullscreen mode Exit fullscreen mode

3. Teste que importa: números e nomes brasileiros

Antes de escolher, rode a mesma frase com valores em reais, datas e nomes próprios ("Conceição", "Itaquaquecetuba", "R$ 1.299,90", "22/10"). É aí que voz "multilíngue" tropeça.

4. Onde rodar

Um script desses roda em qualquer VPS pequena; você só precisa de GPU se for hospedar um modelo de voz aberto. Para a VPS, a Hostinger KVM 2 ou a RackNerd resolvem; para GPU por hora, a RunPod.

Preços conferidos nas páginas oficiais em 22/10/2026. Este post não inclui comparação de áudio; ela vem no próximo.

Texto produzido com assistência de IA.

Top comments (0)