Saltar al contenido principal

Cuerpo de la solicitud

Tiempo de espera de solicitudes síncronas: este endpoint no-chat espera a que el modelo enrutado termine. Entradas grandes, audio largo o lotes grandes pueden superar los valores predeterminados habituales de 30s del cliente, así que configura el timeout de tu cliente HTTP en al menos 120s. Los campos opcionales admitidos varían según la familia de modelo. TokenLab valida esta matriz antes de enrutar: OpenAI TTS acepta voice, instructions, response_format, stream_format y speed; MiniMax speech acepta voice, voice_id, response_format, stream_format y speed; Gemini TTS acepta prompt, language_code, voice, response_format, stream_format, speed y temperature; las rutas TTS más estrechas de tipo Vidu/Kling pueden aceptar solo input y stream_format. Los campos de nivel superior desconocidos, incluido user, devuelven 400 unsupported_parameter en lugar de ignorarse.
model
string
predeterminado:"tts-1"
Modelo TTS. Algunos ejemplos son tts-1, gpt-4o-mini-tts, speech-02-hd y gemini-2.5-flash-tts. Consulta GET /v1/models?recommended_for=tts para la lista actual.
input
string
requerido
El texto para el que se generará audio. Máximo 4096 caracteres.
voice
string | object
Selector de voz. Pasa un nombre integrado como nova, una voz de Gemini como Kore o un objeto como { "id": "voice-id" } para voces personalizadas compatibles.
voice_id
string
Selector de voz nativo del proveedor para modelos speech compatibles con MiniMax.
instructions
string
Instrucciones opcionales de estilo o entrega para modelos TTS compatibles con OpenAI que las admitan.
prompt
string
Prompt opcional de estilo de habla para modelos Gemini TTS.
language_code
string
Código de idioma opcional, por ejemplo en-US, para rutas Gemini, xAI y TTS compatibles.
response_format
string
Formato de audio. Valores comunes: mp3, opus, aac, flac, wav y pcm; los valores admitidos varían según la familia de modelo.
stream_format
string
predeterminado:"audio"
Formato de entrega de TokenLab: audio o sse. stream_format=sse no está admitido para tts-1 ni tts-1-hd.
speed
number
Velocidad del habla para familias de modelos que la admitan (0.25 a 4.0).
temperature
number
Temperatura de muestreo para rutas TTS compatibles con Gemini (0 a 2).

Respuesta

Devuelve el archivo de audio en el 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);

Muestras de voz

VozDescripción
alloyNeutral, equilibrada
ashTranquila, medida
balladMelódica, expresiva
coralCálida, acogedora
echoCálida, conversacional
fableExpresiva, narrativa
novaAmigable, clara
onyxProfunda, autoritaria
sageSabia, reflexiva
shimmerSuave, delicada
verseDinámica, versátil

Ejemplo de respuesta

<binary audio data>

Campos importantes

Content-Type
string
Tipo de evento o mensaje devuelto por la API.
body
binary
Cuerpo bruto de la respuesta. Guárdalo directamente sin parsearlo como JSON.