Cookbook / Artigo em podcast
Transforme qualquer artigo em
um podcast

Captura de tela. O template rodando localmente.
- Modelos
- sonic-3.6
- Idiomas
- Inglês, espanhol, francês, alemão e mais 4
- Licença
- Apache-2.0
- Stack
- Next.js 16React 19AI SDKMozilla Readabilityshadcn/ui
- Produtos da Cartesia
- Sonic 3.6
O que ele faz
Antes de começar, escolha um episódio curto, médio ou longo e um de oito idiomas: inglês, espanhol, francês, alemão, português, japonês, hindi ou coreano. O LLM escreve o roteiro nesse idioma, e o Sonic o lê no mesmo idioma. Os apresentadores se chamam Sam e Alex até você mudar os nomes. O episódio pronto pode ser baixado pelo player como arquivo WAV.
Rode você mesmo
Instale
Rode os comandos abaixo com o Node 22.22 ou mais recente. O pnpm também funciona. Preencha o
.env.localcom base na tabela abaixo. Sem as chaves, a página ainda carrega e diz qual variável definir.Variáveis de ambiente - CARTESIA_API_KEY
play.cartesia.ai/keys- LLM_MODEL
provedor/modelo, por exemploopenai/gpt-5.4-mini- OPENAI_API_KEY
- Se o
LLM_MODELcomeçar com openai/ - ANTHROPIC_API_KEY
- Se o
LLM_MODELcomeçar com anthropic/ - AI_GATEWAY_API_KEY
- Para qualquer outro provedor. Não é necessária na Vercel
- CARTESIA_VOICE_HOST_A
- Opcional. Id da voz do primeiro apresentador, e
CARTESIA_VOICE_HOST_Bpara o segundo - 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
Crie um episódio
Abra a URL local que o servidor de desenvolvimento mostra e cole o link de um artigo. Em páginas que carregam o texto com JavaScript, mude para Paste text. Escolha a duração curta para um primeiro episódio rápido. Depois clique em Make podcast.
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
Build an article to podcast generator with Cartesia. Start from https:/ and follow its AGENTS.md for the commands, files and rules. The AI SDK writes the two-host script with generateText and Output.object. Speech goes through @cartesia/cartesia-js: one client.tts.generate call per line with model_id sonic-3.6 and raw pcm_s16le at 24 kHz, then the server joins the lines into one WAV. Do not use the AI SDK speech API for Sonic. If I don't have a Cartesia API key yet, follow https:/ to get one.
Como funciona
Por que funciona assim
Uma chamada ao Sonic por fala
Cada apresentador precisa de uma voz diferente, então cada fala é uma requisição própria. O áudio bruto também dá a cada fala uma duração exata, o que mantém a transcrição destacada sincronizada. O app coloca 350 ms de silêncio quando muda o apresentador e 180 ms nos outros casos. O custo é que o tom não passa de uma fala para a seguinte.
Qualquer LLM escreve o roteiro
O roteiro vem do AI SDK, então qualquer provedor de LLM funciona. A voz passa pelo SDK de JavaScript da Cartesia, @cartesia/cartesia-js, que fixa a versão da API em cada requisição.
Páginas buscadas não são confiáveis
O código de busca em lib/safe-fetch.ts recusa endereços privados e internos e permite só as portas 80 e 443. Ele também limita os redirecionamentos, o tamanho da página a 2 MB e o tempo. O prompt marca o artigo como material para discutir e diz ao LLM para nunca seguir instruções que estejam nele.
Deixe com a sua cara
Use outras vozes
Escolha duas vozes em play.cartesia.ai/voices. Coloque o id da voz do primeiro apresentador em CARTESIA_VOICE_HOST_A. O do segundo vai em CARTESIA_VOICE_HOST_B. As vozes padrão são em inglês, então escolha vozes que combinem com o seu idioma.
Mude o programa
O nome do programa, o slogan, os papéis dos apresentadores e o roteiro do episódio são padrões em lib/config.ts. As instruções que o LLM recebe ficam em lib/prompt.ts.
Use outro provedor de LLM
Coloque em LLM_MODEL o id do provedor no AI Gateway, por exemplo google/gemini-2.5-flash. Adicione AI_GATEWAY_API_KEY junto. Para chamar o provedor diretamente, instale o pacote dele para o AI SDK. Depois adicione um caso para o prefixo dele em lib/llm.ts.
Junte-se às equipes que estão migrando para a Cartesia
Perguntas
Minha chave de API da Cartesia fica exposta no navegador?
Não. O navegador envia o roteiro para o servidor do próprio app, que chama o Sonic. A chave nunca sai do servidor.
Quanto tempo leva um episódio?
Depende do seu LLM e da duração escolhida. Um episódio curto precisa de uma chamada ao LLM. O médio, que é o padrão, e o longo fazem várias chamadas seguidas, e o Sonic dá voz a quatro falas por vez.
Quanto custa um episódio?
O Sonic custa cerca de 1 crédito por caractere do roteiro. O app recusa roteiros acima de 30.000 caracteres, então um episódio custa no máximo cerca de 30.000 créditos, mais os tokens do LLM.
Posso colocar o app na internet aberta?
Defina antes uma senha com APP_PASSWORD, porque cada episódio gasta seus tokens de LLM e créditos da Cartesia. Converta só artigos que são seus ou que você tem permissão para adaptar, e identifique o áudio publicado como gerado por IA.
Posso fazer isso em Python?
Sim. A chamada ao Sonic funciona do mesmo jeito no pacote Python da Cartesia. Comece pela receita gerar fala em um arquivo e repita para cada fala do roteiro.
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 referência da API de bytes de TTS explica o lado da Cartesia.
Mais do cookbook
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.
Comece a criar.
Acesse nossos modelos por API e coloque um agente de voz em produção em minutos.
