PolarPOLAR

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/speech

Parâmetros

ParâmetroTipoObrigatórioPadrãoDescrição
modelstringSimModelo TTS (ex: urso-tts, urso-tts-hd)
inputstringSimTexto para converter em áudio (max 4096 caracteres)
voicestringSimVoz a ser utilizada
response_formatstringNãomp3Formato de saída (mp3, opus, aac, flac, wav, pcm)
speednumberNão1.0Velocidade da fala (0.25 a 4.0)

Vozes Disponíveis

Vozes PT-BR

VozGêneroDescrição
anaFemininaVoz clara e profissional, ideal para narrações
pedroMasculinoVoz grave e confiante, ideal para apresentações
juliaFemininaVoz jovem e dinâmica, ideal para conteúdo digital
carlosMasculinoVoz neutra e natural, ideal para assistentes
mariaFemininaVoz calorosa e acolhedora, ideal para atendimento
lucasMasculinoVoz 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)
        pass

TypeScript

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.wav

Formatos de Saída

FormatoDescriçãoCaso de Uso
mp3Comprimido, boa qualidadeStreaming, web, uso geral
opusComprimido, baixa latênciaComunicação em tempo real
aacComprimido, alta qualidadeAplicativos móveis
flacSem perda, alta qualidadeArquivo, produção
wavSem compressãoEdição de áudio
pcmDados brutos de áudioProcessamento 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-hd oferece maior qualidade com latência ligeiramente maior

Próximos Passos

On this page