Texto para Fala
Converta texto em áudio natural com vozes otimizadas para português brasileiro.
Visão Geral
O endpoint POST /v1/audio/speech converte texto em áudio falado com vozes naturais. A API oferece vozes otimizadas para português brasileiro com suporte a controle de emoção, velocidade e múltiplos formatos de saída.
Endpoint
POST https://api.polarai.com.br/v1/audio/speechParâmetros
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
model | string | Sim | — | Modelo TTS (ex: urso-tts, urso-tts-hd) |
input | string | Sim | — | Texto para converter em áudio (max 4096 caracteres) |
voice | string | Sim | — | Voz a ser utilizada |
response_format | string | Não | mp3 | Formato de saída (mp3, opus, aac, flac, wav, pcm) |
speed | number | Não | 1.0 | Velocidade da fala (0.25 a 4.0) |
Vozes Disponíveis
Vozes PT-BR
| Voz | Gênero | Descrição |
|---|---|---|
ana | Feminina | Voz clara e profissional, ideal para narrações |
pedro | Masculino | Voz grave e confiante, ideal para apresentações |
julia | Feminina | Voz jovem e dinâmica, ideal para conteúdo digital |
carlos | Masculino | Voz neutra e natural, ideal para assistentes |
maria | Feminina | Voz calorosa e acolhedora, ideal para atendimento |
lucas | Masculino | Voz energética, ideal para marketing |
Exemplos
Python
from openai import OpenAI
from pathlib import Path
client = OpenAI(
base_url="https://api.polarai.com.br/v1",
api_key="pk-your-key-here"
)
# Gerar áudio básico
response = client.audio.speech.create(
model="urso-tts",
voice="ana",
input="Bem-vindo à Polar, a plataforma de inteligência artificial soberana do Brasil."
)
# Salvar em arquivo
speech_file = Path("bem_vindo.mp3")
response.stream_to_file(speech_file)# Com controle de velocidade e formato
response = client.audio.speech.create(
model="urso-tts-hd",
voice="pedro",
input="O artigo 5º da Constituição Federal garante a todos os brasileiros o direito à vida, à liberdade e à igualdade.",
response_format="wav",
speed=0.9
)
response.stream_to_file(Path("constituicao.wav"))# Streaming de áudio em tempo real
with client.audio.speech.with_streaming_response.create(
model="urso-tts",
voice="julia",
input="Esta é uma demonstração de streaming de áudio em tempo real.",
response_format="mp3"
) as response:
for chunk in response.iter_bytes(chunk_size=1024):
# Processar chunk de áudio (ex: enviar para player)
passTypeScript
import OpenAI from "openai";
import * as fs from "fs";
const client = new OpenAI({
baseURL: "https://api.polarai.com.br/v1",
apiKey: "pk-your-key-here",
});
const response = await client.audio.speech.create({
model: "urso-tts",
voice: "ana",
input: "Bem-vindo à Polar, a plataforma de inteligência artificial soberana do Brasil.",
});
const buffer = Buffer.from(await response.arrayBuffer());
fs.writeFileSync("bem_vindo.mp3", buffer);curl
curl -X POST https://api.polarai.com.br/v1/audio/speech \
-H "Content-Type: application/json" \
-H "Authorization: Bearer pk-your-key-here" \
-d '{
"model": "urso-tts",
"voice": "ana",
"input": "Bem-vindo à Polar, a plataforma de inteligência artificial soberana do Brasil."
}' \
--output bem_vindo.mp3# Com velocidade e formato personalizados
curl -X POST https://api.polarai.com.br/v1/audio/speech \
-H "Content-Type: application/json" \
-H "Authorization: Bearer pk-your-key-here" \
-d '{
"model": "urso-tts-hd",
"voice": "pedro",
"input": "Relatório trimestral de resultados financeiros.",
"response_format": "wav",
"speed": 0.85
}' \
--output relatorio.wavFormatos de Saída
| Formato | Descrição | Caso de Uso |
|---|---|---|
mp3 | Comprimido, boa qualidade | Streaming, web, uso geral |
opus | Comprimido, baixa latência | Comunicação em tempo real |
aac | Comprimido, alta qualidade | Aplicativos móveis |
flac | Sem perda, alta qualidade | Arquivo, produção |
wav | Sem compressão | Edição de áudio |
pcm | Dados brutos de áudio | Processamento custom |
Controle de Emoção
Você pode influenciar o tom e a emoção da fala através do texto de entrada usando marcações naturais:
# Tom formal
response = client.audio.speech.create(
model="urso-tts-hd",
voice="pedro",
input="Informamos que o prazo para contestação expira em 15 dias úteis, conforme estabelecido no artigo 335 do Código de Processo Civil."
)
# Tom conversacional
response = client.audio.speech.create(
model="urso-tts",
voice="julia",
input="Oi! Que bom te ver por aqui. Vou te explicar tudo direitinho, tá?"
)Limites
- Tamanho máximo do texto: 4.096 caracteres por requisição
- Para textos mais longos, divida em múltiplas chamadas
- A latência depende do tamanho do texto e do modelo escolhido
urso-tts-hdoferece maior qualidade com latência ligeiramente maior
Próximos Passos
- Audio Transcription — transcreva áudio para texto
- Streaming — streaming de áudio em tempo real
- Chat Completions — gere texto para converter em fala