Pagar US$ 0,006 por minuto na API do OpenAI Whisper parece barato — até você precisar transcrever 10.000 horas de podcast. Self-hostar o Whisper em sua própria GPU economiza até 90% e mantém dados sensíveis na sua infra. Neste guia, deploy 1-clique no GPUBrasil.

⚡ Resumo

Whisper Large-v3 transcreve português brasileiro com WER (taxa de erro) abaixo de 5%. Em RTX 4090, processa áudio em ~10x tempo real. Custo: ~R$ 0,03/h de áudio (vs R$ 1,80 na API).

O que é Whisper?

Whisper é o modelo open-source de speech-to-text da OpenAI, treinado em 680 mil horas de áudio multilíngue. É o estado da arte em transcrição automática, suporta 99 idiomas e tem variantes de tamanho do tiny (39M params) ao large-v3 (1.55B params).

O template do GPUBrasil sobe um servidor HTTP compatível com a API REST do OpenAI — você só troca a URL e seus clientes continuam funcionando.

Características principais

Casos de uso brasileiros

Hardware recomendado

💰 Custo no GPUBrasil

RTX 4090: a partir de R$ 2,50/h, processando ~10h de áudio/h de GPU = R$ 0,25 por hora de áudio. OpenAI cobra R$ 1,80 — economia de 86%.

Deploy em 1 clique

Passo 1: Iniciar template

  1. Console do GPUBrasil → Templates → 🎙️ Voz IA
  2. Selecione Whisper Server
  3. GPU recomendada: RTX 4090 ou RTX A5000
  4. Clique em Iniciar

O template usa o faster-whisper (4x mais rápido que o whisper original) com servidor compatível com OpenAI rodando na porta 8000.

Passo 2: Transcrever via API

import requests

url = "https://sua-instancia.gpubrasil.com.br/v1/audio/transcriptions"

with open("reuniao.mp3", "rb") as f:
    files = {"file": f}
    data = {
        "model": "whisper-large-v3",
        "language": "pt",
        "response_format": "verbose_json",
        "timestamp_granularities[]": "word"
    }
    r = requests.post(url, files=files, data=data)

result = r.json()
print(result["text"])

# Timestamps por palavra
for word in result["words"]:
    print(f"[{word['start']:.2f}s] {word['word']}")

Passo 3: Drop-in OpenAI SDK

Se seu código já usa openai, troque apenas a base URL:

from openai import OpenAI

client = OpenAI(
    base_url="https://sua-instancia.gpubrasil.com.br/v1",
    api_key="dummy"  # qualquer string funciona
)

with open("podcast.mp3", "rb") as f:
    transcript = client.audio.transcriptions.create(
        model="whisper-large-v3",
        file=f,
        language="pt",
        response_format="srt"  # legendas .srt prontas!
    )

with open("podcast.srt", "w") as out:
    out.write(transcript)

Passo 4: Tradução (áudio PT → texto EN)

curl -X POST "https://sua-instancia.gpubrasil.com.br/v1/audio/translations" \
    -F "file=@palestra-pt.mp3" \
    -F "model=whisper-large-v3" \
    -F "response_format=text"
# Retorna o conteúdo traduzido para inglês

Dicas de produção

Whisper Large-v3 vs Tiny vs Medium

Economize até 90% em transcrição

Ganhe R$ 25 grátis no GPUBrasil e suba seu Whisper Server em ~90 segundos.

Começar Grátis →

Conclusão

Self-hostar o Whisper Server transforma a economia da transcrição: você paga GPU por hora e processa volume ilimitado. Combinado com o template 1-clique e a infraestrutura local do GPUBrasil, é a opção mais eficiente para empresas brasileiras que lidam com áudio em escala.

Leia também: F5-TTS para síntese de voz · Marker: PDF → Markdown