メインコンテンツへスキップ

リクエストボディ

同期リクエストのタイムアウト: この非チャットエンドポイントは、ルーティング先モデルの処理完了を待ちます。大きな入力、長い音声、大きなバッチは一般的な 30s のクライアント既定値を超えることがあるため、HTTP クライアントのタイムアウトは少なくとも 120s に設定してください。 サポートされる任意フィールドはモデルファミリーによって異なります。TokenLab はルーティング前にこのフィールド行列を検証します。OpenAI TTS は voiceinstructionsresponse_formatstream_formatspeed を受け付けます。MiniMax speech は 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 互換 speech モデル向けのプロバイダー native 音声セレクターです。
instructions
string
対応する OpenAI 互換 TTS モデルで使える、任意のスタイルまたは読み上げ指示です。
prompt
string
Gemini TTS モデル向けの任意の話し方スタイル prompt です。
language_code
string
Gemini、xAI、互換 TTS ルート向けの任意の言語コードです。例: en-US
response_format
string
音声形式。一般的な値は mp3opusaacflacwavpcm です。サポート値はモデルファミリーによって異なります。
stream_format
string
デフォルト:"audio"
TokenLab の配信形式: audio または ssetts-1tts-1-hdstream_format=sse をサポートしません。
speed
number
対応するモデルファミリーで使える読み上げ速度です(0.25 ~ 4.0)。
temperature
number
Gemini 互換 TTS ルートのサンプリング temperature です(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 が返す event または message type です。
body
binary
生のレスポンス body です。JSON として解析せず直接保存してください。