API de texto para fala em Python para aplicações em tempo real
speech.wav
Sua primeira solicitação de texto para fala
Transforme um roteiro em uma gravação WAV com o SDK de Python da Cartesia. Instale o pacote, adicione sua chave de API e execute o exemplo no servidor.
Instale o SDK
Use Python 3.9 ou posterior em um ambiente virtual.
Configure sua chave de API
Crie uma chave no Playground. Substitua o valor de exemplo abaixo e mantenha a chave no servidor.
Usando PowerShell?
$env:CARTESIA_API_KEY="your-api-key"Gere sua primeira gravação
Salve este exemplo como speech.py. Execute pelo terminal e abra speech.wav para ouvir.
Mude a transcrição ou escolha um ID de voz no Playground para ouvir outro resultado.
- Arquivo de saída
- speech.wav
- Formato de áudio
- 44.1 kHz, 16-bit PCM
Escolha como o áudio chega ao seu app
O transporte adequado depende de quando o texto fica pronto e de como você pretende reproduzir a resposta.
Salve uma gravação
- Transporte
- HTTP
- Saída
- WAV ou MP3
Converta um roteiro completo em áudio e salve para ouvir depois. O exemplo acima produz um arquivo WAV com um cabeçalho que os players de áudio conseguem ler.
Leia a referência de saída de áudioFale conforme o texto chega
- Transporte
- WebSocket
- Saída
- Blocos de áudio bruto
Envie fragmentos de texto conforme o LLM escreve e receba blocos de áudio conforme o Sonic os gera. Encaminhe esses blocos para um player configurado para o formato solicitado.
Crie um exemplo de streamingTransmita áudio de um roteiro completo
Já tem todo o texto? Use with_streaming_response para ler a resposta HTTP em blocos.
Use streaming por WebSocket quando chegar texto novo durante a geração, como uma resposta de um LLM.
Mantenha sua chave no servidor
Um backend Python pode cuidar da solicitação enquanto seu app web, app móvel ou sistema telefônico cuida da reprodução.
Seu servidor Python
Leia a chave de API do ambiente. Escolha a voz, o modelo e as configurações de áudio para cada solicitação.
Sonic
Converta o texto em fala. Receba uma resposta de áudio ou mantenha um WebSocket aberto para entrada incremental.
Sua aplicação
Salve a gravação ou envie o áudio ao player. Faça a codificação e a taxa de amostragem corresponderem às da resposta.
De um script a um serviço em produção
Uma solicitação bem-sucedida à API é o começo. Desenvolva o comportamento ao redor dela para a aplicação que seus ouvintes usarão.
Integre à sua infraestrutura Python
Use o cliente síncrono para scripts e tarefas em segundo plano. Use AsyncCartesia em um serviço assíncrono como FastAPI. Feche o cliente quando o trabalho terminar e envie o áudio ao serviço de armazenamento ou reprodução.
Teste toda a experiência de escuta
Defina tempos limite de solicitação e trate os limites de uso. Teste roteiros realistas com a voz que você vai usar em produção. Para conversas, meça o tempo até a fala audível e garanta que as interrupções parem a reprodução em fila. Sua rede e seu player afetam o que o ouvinte escuta.
Segurança de nível empresarial.Da nuvem ao ambiente local.
Em conformidade com a HIPAA

SOC 2 Type 2

GDPR

PCI
Dúvidas sobre texto para fala em Python
Como converto texto em fala em Python?
Instale cartesia, defina CARTESIA_API_KEY no ambiente do servidor e crie um cliente Cartesia. Chame client.tts.generate com sua transcrição, modelo, ID de voz e formato de saída e salve a resposta com write_to_file. O exemplo desta página produz speech.wav. Consulte os exemplos em Python para ver solicitações completas.
De qual versão de Python e SDK preciso?
O SDK oficial exige Python 3.9 ou posterior. Instale com python -m pip install --upgrade cartesia. Para suporte a WebSocket, instale com python -m pip install "cartesia[websockets]". Compare a versão instalada do pacote com a documentação do SDK ao adaptar um exemplo antigo.
Posso salvar a fala gerada como WAV ou MP3?
Sim. O endpoint de TTS aceita saída WAV, MP3 e áudio bruto. Escolha o contêiner e suas configurações compatíveis em output_format antes de gerar a fala. Use WAV para o exemplo desta página; escolha MP3 quando sua aplicação precisar desse formato. Mudar apenas a extensão do arquivo não converte o áudio.
Como transmito uma resposta de LLM para fala com Python?
Use um WebSocket quando sua aplicação recebe texto aos poucos. Envie esses blocos de texto por um contexto de geração compartilhado e consuma os blocos de áudio retornados conforme chegam. Sua aplicação ainda precisa armazenar temporariamente e reproduzir esse áudio. A API WebSocket explica continuação e cancelamento para aplicações de conversação.
Devo usar HTTP ou WebSockets para texto para fala?
Use HTTP quando a transcrição já estiver disponível, como uma narração ou notificação completa. Uma resposta HTTP também pode entregar áudio progressivamente. Use WebSockets quando precisar enviar texto de forma incremental ou gerenciar uma conversa contínua. Streaming de entrada e de saída são escolhas separadas; salvar um arquivo não é a única forma de consumir uma resposta HTTP.
Posso usar a Cartesia com Python assíncrono ou FastAPI?
Sim. Use AsyncCartesia e aguarde suas chamadas de API com await em uma aplicação assíncrona. Os exemplos assíncronos do SDK mostram geração, saída em arquivo e streaming. Conecte o áudio retornado à resposta ou ao reprodutor da sua aplicação e feche o cliente quando seu ciclo de vida terminar.
Onde devo armazenar minha chave de API da Cartesia?
Mantenha sua chave de longa duração em uma variável de ambiente do servidor ou em um gerenciador de segredos da implantação. Não a inclua em commits nem a envie ao código do navegador. Se o navegador precisar de uma conexão direta, faça seu backend criar um token de curta duração e escopo limitado pela API de tokens de acesso.
Como escolho uma voz e um idioma para TTS em Python?
Ouça uma voz no Playground e passe seu ID na solicitação. Defina language ou locale para sua transcrição, mas não ambos. Teste nomes, números e abreviações dos seus próprios textos. Consulte a referência da solicitação para configurações de idioma e voz, em vez de presumir que todas as vozes têm o mesmo suporte a sotaques.
Qual ID de modelo Sonic devo usar em produção?
Escolha um modelo na documentação atual do Sonic e teste-o com sua aplicação. O ID sonic-3.6 recebe atualizações de versões estáveis. Uma versão datada publicada mantém o comportamento do modelo fixo enquanto você avalia um lançamento mais recente. Registre o ID do modelo junto com seus testes para comparar resultados após uma atualização.
Por que PCM bruto precisa de configurações especiais de reprodução?
PCM bruto não contém um cabeçalho de arquivo que descreva como reproduzi-lo. O reprodutor precisa da taxa de amostragem e da codificação usadas na solicitação. Uma diferença pode produzir ruído, silêncio ou fala na velocidade errada. Comece com saída WAV para conferir a fala gerada separadamente do reprodutor de streaming e depois teste o fluxo de reprodução de áudio bruto.
O que devo tratar antes de usar TTS em Python em produção?
Trate falhas de autenticação, limites de requisições, erros de rede e tempos limite. Configure as novas tentativas e os tempos limite do SDK para sua aplicação. Teste reprodução interrompida e evite reproduzir áudio da fila depois que o usuário mudar de direção. Meça desde a disponibilidade do texto até a fala audível, incluindo rede e buffer de reprodução.
Continue desenvolvendo com o Sonic
Compare vozes, confira formatos de áudio e planeje sua integração.
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.