跳转到主要内容

请求体

同步请求超时: 这个非聊天端点会等待路由到的模型完成处理。大输入、长音频或大批量请求可能超过常见的 30s 客户端默认超时,因此请将 HTTP 客户端超时设置为至少 120s 不同模型族支持的可选字段不同。TokenLab 会在路由前校验字段矩阵:OpenAI TTS 接受 voiceinstructionsresponse_formatstream_formatspeed;MiniMax 语音接受 voicevoice_idresponse_formatstream_formatspeed;Gemini TTS 接受 promptlanguage_codevoiceresponse_formatstream_formatspeedtemperature;更窄的 Vidu/Kling 类 TTS 路由可能只接受 inputstream_format。未知顶层字段(包括 user)会返回 400 unsupported_parameter,不会被静默忽略。
model
string
默认值:"tts-1"
TTS 模型。示例包括 tts-1gpt-4o-mini-ttsspeech-02-hdgemini-2.5-flash-tts。请通过 GET /v1/models?recommended_for=tts 获取当前推荐列表。
input
string
必填
用于生成音频的文本。最大 4096 个字符。
voice
string | object
语音选择器。可以传入 nova 等内置语音、Kore 等 Gemini 语音,或为兼容的自定义语音传入 { "id": "voice-id" }
voice_id
string
MiniMax 兼容语音模型的上游原生语音选择器。
instructions
string
支持该字段的 OpenAI 兼容 TTS 模型可使用的风格或朗读指令。
prompt
string
Gemini TTS 的可选朗读风格 prompt。
language_code
string
可选语言代码,例如 en-US,适用于 Gemini、xAI 和兼容 TTS 路由。
response_format
string
音频格式。常见值包括 mp3opusaacflacwavpcm;具体支持值按模型族而定。
stream_format
string
默认值:"audio"
TokenLab 交付格式:audiossetts-1tts-1-hd 不支持 stream_format=sse
speed
number
支持该字段的模型族可设置语速(0.25 到 4.0)。
temperature
number
Gemini 兼容 TTS 路由的采样温度(0 到 2)。

响应

返回所请求格式的音频文件。
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);

语音示例

Voice描述
alloy中性、平衡
ash平静、沉稳
ballad富有旋律感、表现力强
coral温暖、亲切
echo温暖、口语化
fable富有表现力、叙事感强
nova友好、清晰
onyx低沉、权威
sage睿智、深思熟虑
shimmer柔和、轻柔
verse富有动态感、适应性强

响应示例

<binary audio data>

重要字段

Content-Type
string
API 返回的事件或消息类型。
body
binary
原始响应体。应直接保存,不要按 JSON 解析。