Zum Hauptinhalt springen

Anfragekörper

Timeout für synchrone Anfragen: Dieser Nicht-Chat-Endpunkt wartet, bis das geroutete Modell fertig ist. Große Eingaben, lange Audiodateien oder große Batches können übliche 30s-Client-Defaults überschreiten; setzen Sie das Timeout Ihres HTTP-Clients daher auf mindestens 120s. Unterstützte optionale Felder unterscheiden sich je nach Modellfamilie. TokenLab validiert diese Feldmatrix vor dem Routing: OpenAI TTS akzeptiert voice, instructions, response_format, stream_format und speed; MiniMax Speech akzeptiert voice, voice_id, response_format, stream_format und speed; Gemini TTS akzeptiert prompt, language_code, voice, response_format, stream_format, speed und temperature; engere Vidu/Kling-artige TTS-Routen akzeptieren möglicherweise nur input und stream_format. Unbekannte Top-Level-Felder, einschließlich user, werden nicht ignoriert, sondern mit 400 unsupported_parameter abgelehnt.
model
string
Standard:"tts-1"
TTS-Modell. Beispiele sind tts-1, gpt-4o-mini-tts, speech-02-hd und gemini-2.5-flash-tts. Fragen Sie GET /v1/models?recommended_for=tts für die aktuelle Auswahl ab.
input
string
erforderlich
Der Text, für den Audio erzeugt werden soll. Maximal 4096 Zeichen.
voice
string | object
Stimm-Auswahl. Übergeben Sie einen integrierten Namen wie nova, eine Gemini-Stimme wie Kore oder ein Objekt wie { "id": "voice-id" } für kompatible benutzerdefinierte Stimmen.
voice_id
string
Provider-nativer Stimm-Selector für MiniMax-kompatible Speech-Modelle.
instructions
string
Optionale Stil- oder Vortragsanweisungen für OpenAI-kompatible TTS-Modelle, die dieses Feld unterstützen.
prompt
string
Optionaler Prompt für den Sprechstil bei Gemini TTS-Modellen.
language_code
string
Optionaler Sprachcode, zum Beispiel en-US, für Gemini-, xAI- und kompatible TTS-Routen.
response_format
string
Audioformat. Häufige Werte sind mp3, opus, aac, flac, wav und pcm; unterstützte Werte variieren je nach Modellfamilie.
stream_format
string
Standard:"audio"
TokenLab-Auslieferungsformat: audio oder sse. stream_format=sse wird für tts-1 und tts-1-hd nicht unterstützt.
speed
number
Sprechgeschwindigkeit für Modellfamilien, die sie unterstützen (0.25 bis 4.0).
temperature
number
Sampling-Temperatur für Gemini-kompatible TTS-Routen (0 bis 2).

Antwort

Gibt die Audiodatei im angeforderten Format zurück.
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);

Sprachbeispiele

StimmeBeschreibung
alloyNeutral, ausgewogen
ashRuhig, bedacht
balladMelodisch, ausdrucksstark
coralWarm, einladend
echoWarm, dialogorientiert
fableAusdrucksstark, erzählerisch
novaFreundlich, klar
onyxTief, autoritativ
sageWeise, nachdenklich
shimmerSanft, weich
verseDynamisch, vielseitig

Antwortbeispiel

<binary audio data>

Wichtige Felder

Content-Type
string
Von der API zurückgegebener Event- oder Nachrichtentyp.
body
binary
Roher Antwortkörper. Direkt speichern, nicht als JSON parsen.