Saltar para o conteúdo principal

Corpo da Requisição

Timeout de solicitações síncronas: este endpoint não-chat aguarda o modelo roteado terminar. Entradas grandes, áudios longos ou lotes grandes podem exceder os padrões comuns de 30s dos clientes, então configure o timeout do seu cliente HTTP para pelo menos 120s. Os campos opcionais compatíveis variam por família de modelo. O TokenLab valida esta matriz antes do roteamento: OpenAI TTS aceita voice, instructions, response_format, stream_format e speed; MiniMax speech aceita voice, voice_id, response_format, stream_format e speed; Gemini TTS aceita prompt, language_code, voice, response_format, stream_format, speed e temperature; rotas TTS mais restritas do tipo Vidu/Kling podem aceitar apenas input e stream_format. Campos de nível superior desconhecidos, incluindo user, retornam 400 unsupported_parameter em vez de serem ignorados.
model
string
padrão:"tts-1"
Modelo TTS. Exemplos incluem tts-1, gpt-4o-mini-tts, speech-02-hd e gemini-2.5-flash-tts. Consulte GET /v1/models?recommended_for=tts para a lista atual.
input
string
obrigatório
O texto para o qual o áudio será gerado. Máximo de 4096 caracteres.
voice
string | object
Seletor de voz. Envie um nome integrado como nova, uma voz Gemini como Kore ou um objeto como { "id": "voice-id" } para vozes personalizadas compatíveis.
voice_id
string
Seletor de voz nativo do provedor para modelos speech compatíveis com MiniMax.
instructions
string
Instruções opcionais de estilo ou entrega para modelos TTS compatíveis com OpenAI que oferecem suporte.
prompt
string
Prompt opcional de estilo de fala para modelos Gemini TTS.
language_code
string
Código de idioma opcional, por exemplo en-US, para rotas Gemini, xAI e TTS compatíveis.
response_format
string
Formato de áudio. Valores comuns incluem mp3, opus, aac, flac, wav e pcm; os valores compatíveis variam por família de modelo.
stream_format
string
padrão:"audio"
Formato de entrega do TokenLab: audio ou sse. stream_format=sse não é compatível com tts-1 nem tts-1-hd.
speed
number
Velocidade de fala para famílias de modelos que oferecem suporte (0.25 a 4.0).
temperature
number
Temperatura de amostragem para rotas TTS compatíveis com Gemini (0 a 2).

Resposta

Retorna o arquivo de áudio no formato solicitado.
curl -X POST "https://api.tokenlab.sh/v1/audio/speech" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1-hd",
    "voice": "nova",
    "input": "Hello, welcome to TokenLab!"
  }' \
  --output speech.mp3
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.tokenlab.sh/v1"
)

response = client.audio.speech.create(
    model="tts-1-hd",
    voice="nova",
    input="Hello, welcome to TokenLab!"
)

response.stream_to_file("speech.mp3")
import OpenAI from 'openai';
import fs from 'fs';

const client = new OpenAI({
  apiKey: 'sk-your-api-key',
  baseURL: 'https://api.tokenlab.sh/v1'
});

const response = await client.audio.speech.create({
  model: 'tts-1-hd',
  voice: 'nova',
  input: 'Hello, welcome to TokenLab!'
});

const buffer = Buffer.from(await response.arrayBuffer());
fs.writeFileSync('speech.mp3', buffer);
<?php
$ch = curl_init('https://api.tokenlab.sh/v1/audio/speech');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'Authorization: Bearer sk-your-api-key'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'model' => 'tts-1-hd',
        'voice' => 'nova',
        'input' => 'Hello, welcome to TokenLab!'
    ])
]);

$audio = curl_exec($ch);
curl_close($ch);

file_put_contents('speech.mp3', $audio);

Amostras de Voz

VozDescrição
alloyNeutra, equilibrada
ashCalma, medida
balladMelódica, expressiva
coralAcolhedora, convidativa
echoAcolhedora, conversacional
fableExpressiva, narrativa
novaAmigável, clara
onyxProfunda, autoritativa
sageSábia, reflexiva
shimmerSuave, delicada
verseDinâmica, versátil

Exemplo de resposta

<binary audio data>

Campos importantes

Content-Type
string
Tipo de evento ou mensagem retornado pela API.
body
binary
Corpo bruto da resposta. Salve diretamente sem interpretar como JSON.