跳轉到主要內容

請求本文

同步請求逾時: 這個非聊天端點會等待路由到的模型完成處理。大型輸入、長音訊或大量批次可能超過常見的 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);

語音範例

語音描述
alloy中性、均衡
ash平靜、沉穩
ballad富有旋律感、表現力強
coral溫暖、親切
echo溫暖、適合對話
fable表現力強、敘事感佳
nova友善、清晰
onyx低沉、具權威感
sage睿智、深思熟慮
shimmer柔和、溫柔
verse動態感強、用途多元

回應範例

<binary audio data>

重要欄位

Content-Type
string
API 返回的事件或訊息類型。
body
binary
原始回應體。應直接保存,不要按 JSON 解析。