الانتقال إلى المحتوى الرئيسي

نص الطلب

مهلة الطلبات المتزامنة: ينتظر هذا الـ endpoint غير الخاص بالمحادثة حتى ينتهي النموذج الذي تم التوجيه إليه. قد تتجاوز المدخلات الكبيرة أو الصوت الطويل أو الدُفعات الكبيرة القيمة الافتراضية الشائعة للعميل وهي 30s، لذا اضبط مهلة عميل HTTP على 120s على الأقل. تختلف الحقول الاختيارية حسب عائلة النموذج. يتحقق TokenLab من مصفوفة الحقول قبل التوجيه: تقبل نماذج OpenAI TTS الحقول voice وinstructions وresponse_format وstream_format وspeed؛ وتقبل نماذج MiniMax speech الحقول voice وvoice_id وresponse_format وstream_format وspeed؛ وتقبل نماذج Gemini TTS الحقول prompt وlanguage_code وvoice وresponse_format وstream_format وspeed وtemperature؛ وقد تقبل مسارات TTS الأضيق من نوع Vidu/Kling الحقلين input وstream_format فقط. الحقول العلوية غير المعروفة، بما في ذلك user، ترجع 400 unsupported_parameter بدلًا من تجاهلها.
model
string
افتراضي:"tts-1"
نموذج TTS. تشمل الأمثلة tts-1 وgpt-4o-mini-tts وspeech-02-hd وgemini-2.5-flash-tts. استخدم GET /v1/models?recommended_for=tts للحصول على القائمة الحالية.
input
string
مطلوب
النص المطلوب إنشاء صوت له. الحد الأقصى 4096 حرفًا.
voice
string | object
محدد الصوت. مرر اسم صوت مدمج مثل nova، أو صوت Gemini مثل Kore، أو كائنًا مثل { "id": "voice-id" } للأصوات المخصصة المتوافقة.
voice_id
string
محدد الصوت الأصلي للمزوّد لنماذج speech المتوافقة مع MiniMax.
instructions
string
تعليمات اختيارية للأسلوب أو الإلقاء لنماذج TTS المتوافقة مع OpenAI التي تدعمها.
prompt
string
Prompt اختياري لأسلوب الإلقاء في نماذج Gemini TTS.
language_code
string
رمز لغة اختياري، مثل en-US، لمسارات Gemini وxAI وTTS المتوافقة.
response_format
string
تنسيق الصوت. تشمل القيم الشائعة mp3 وopus وaac وflac وwav وpcm؛ تختلف القيم المدعومة حسب عائلة النموذج.
stream_format
string
افتراضي:"audio"
تنسيق التسليم في TokenLab: audio أو sse. لا يدعم tts-1 وtts-1-hd القيمة stream_format=sse.
speed
number
سرعة الكلام لعائلات النماذج التي تدعمها (من 0.25 إلى 4.0).
temperature
number
درجة حرارة العينة لمسارات Gemini-compatible 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.