Um intérprete
no seu bolso

Cada pessoa fala o próprio idioma em um único celular. O Ink 2 escuta e percebe quando cada um para de falar. Um LLM traduz cada turno, e depois o Sonic 3.6 diz em voz alta no outro idioma.
O layout de desktop, com inglês à esquerda e espanhol à direita, e os controles de status, texto maior, Flip e End em cima

Captura de tela. O template rodando localmente.

Modelos
ink-2, sonic-3.6
Idiomas
Dois quaisquer entre inglês, espanhol, francês, hindi e japonês
Licença
Apache-2.0
Stack
Next.js 16React 19AI SDKWeb Audioshadcn/ui
Produtos da Cartesia
Ink 2Sonic 3.6

O que ele faz

A tela se divide para que cada pessoa leia a conversa no próprio idioma, e uma das metades pode ficar de cabeça para baixo para um celular deitado entre vocês. Embaixo de cada turno traduzido, uma linha pequena mostra o tempo até a primeira palavra traduzida e até o primeiro áudio.

Rode você mesmo

  1. Instale

    Rode os comandos abaixo com o Node 22.22 ou mais recente. O pnpm também funciona. Preencha o .env.local com base na tabela abaixo. Se faltar alguma chave, a página diz qual.

    npx degit cartesia-ai/cookbook/examples/pocket-interpreter pocket-interpreter
    cd pocket-interpreter
    # add CARTESIA_API_KEY, LLM_MODEL and the provider key
    cp .env.example .env.local
    npm install
    npm run dev
    

    Variáveis de ambiente
    CARTESIA_API_KEY
    play.cartesia.ai/keys
    LLM_MODEL
    provedor/modelo, por exemplo openai/gpt-5.4-mini
    OPENAI_API_KEY
    Se LLM_MODEL começar com openai/
    ANTHROPIC_API_KEY
    Se LLM_MODEL começar com anthropic/
    AI_GATEWAY_API_KEY
    Para qualquer outro provedor
    APP_PASSWORD
    Opcional localmente. Obrigatória na Vercel, ou none para deixar o app público
    TRUST_PROXY
    Opcional. 1 atrás do seu próprio proxy reverso
  2. Comece a falar

    Abra a URL que o npm run dev mostra. Escolha os dois idiomas e clique em Start talking. Depois, falem um de cada vez, sem apertar nada entre os turnos. Um celular precisa de HTTPS para o microfone, então faça o deploy ou use um túnel como o cloudflared para testar em um.

Crie com seu agente de programação

Um prompt que diz ao seu agente de programação por onde começar e o que ler primeiro.

Prompt

Claude CodeCursorCodex

Build a two-person voice translation app with Cartesia. Start from https://github.com/cartesia-ai/cookbook/tree/main/examples/pocket-interpreter and follow its AGENTS.md for the commands, files and rules. The server mints a 60 second access token with only the stt and tts grants. The browser streams the microphone to ink-2 on /stt/turns/websocket with @cartesia/cartesia-js, sends each turn to an AI SDK route that replies with the language code and the translation, and speaks it with sonic-3.6 over the TTS WebSocket. Keep the mute gate that sends silence to Ink 2 while Sonic plays. If I don't have a Cartesia API key yet, follow https://www.cartesia.ai/agent-quickstart.md to get one.

Como funciona

MicrofoneEnvia silêncio ao Ink 2 enquanto uma tradução toca
Ink 2Legendas ao vivo e depois um sinal quando você para de falar
LLMDiz o idioma e depois traduz
Sonic 3.6Fala cada frase com uma voz do idioma de destino
TelaCada metade mostra a conversa no seu próprio idioma

Por que funciona assim

A tradução começa antes de o turno terminar

Quando você faz uma pausa, o Ink 2 envia um primeiro palpite de que você talvez tenha terminado, e a página já começa a traduzir. Se você tinha terminado, ela usa essa tradução. Se você continua falando, ela cancela e espera a frase inteira.

O LLM diz quem falou

O Ink 2 não informa qual idioma ouviu. Por isso a resposta da tradução começa com um código de idioma em uma linha só dele. A página usa esse código para escolher a voz e o lado da tela.

O app se silencia enquanto fala

Enquanto uma tradução toca, o microfone envia silêncio ao Ink 2. Do contrário, o app ouviria a própria voz e a traduziria de volta, sem parar.

Deixe com a sua cara

Use outra voz

A voz de cada idioma fica em lib/languages.ts. Escolha outras na biblioteca de vozes da Cartesia, ou use seu próprio clone, feito só com a permissão da pessoa.

Mude o jeito de traduzir

Edite lib/prompt.ts para deixar as traduções formais ou informais. Mantenha o código do idioma na primeira linha da resposta, porque o app o lê para escolher a voz.

Ajuste a detecção de turnos

O Ink 2 decide quando um turno termina. Para ele esperar mais ou cortar antes, defina turn_end_timeout_ms quando o app abre a conexão de voz. Essa chamada fica em lib/audio/listener.ts.

Perguntas

Minha API key da Cartesia fica segura?

Sim. A chave fica no servidor. O navegador recebe um token que dura 60 segundos e só serve para transformar fala em texto e texto em fala.

Para onde vai a conversa?

A fala das duas pessoas vai para a Cartesia, e o texto de cada turno vai para o seu provedor de LLM para ser traduzido. Avise a outra pessoa antes de começar.

As duas pessoas podem falar ao mesmo tempo?

Não. Há um microfone e um turno por vez, então espere a tradução terminar de tocar. Você não aperta nada entre os turnos, porque o Ink 2 distingue uma pausa do fim de uma frase.

Quais idiomas ele aceita?

Quaisquer dois entre inglês, espanhol, francês, hindi e japonês. São os idiomas que o Ink 2 entende. Adicionar outro idioma exige outro modelo de fala para texto.

Funciona no celular?

O layout foi pensado primeiro para o celular. Ele foi testado no Chrome do computador com uma voz gravada como microfone, não em um celular de verdade.

Precisa de fones de ouvido?

Não. O app silencia o próprio microfone enquanto fala e por um terço de segundo depois. Em um lugar barulhento, vozes ao fundo ainda podem iniciar um turno por engano.

Existe um guia passo a passo deste template?

Sim. A receita explica o código, o README cobre a configuração, as variáveis de ambiente e a implantação, e a documentação dos eventos de turno do Ink 2 explica o lado da Cartesia.

Comece hoje

Fale com um especialista.

Converse com alguém da nossa equipe e descubra como a Cartesia pode ajudar você a criar experiências de voz de alto nível.

Fale com vendas

Comece a criar.

Acesse nossos modelos por API e coloque um agente de voz em produção em minutos.

Experimente a Cartesia