Fish Audio نص إلى كلام
استخدم نقطة نهاية تحويل النص إلى كلام لتلقّي نتيجة في الاستجابة ذاتها.
نظرة عامة
استخدم نقطة نهاية تحويل النص إلى كلام واقرأ النتيجة من الاستجابة ذاتها.
البدء السريع
- أنشئ مفتاح API واضبطه كـ RUNAPI_API_KEY.
- أرسل طلب POST يطابق نص الطلب مخطط الطلب.
- اقرأ النتيجة من جسم الاستجابة الناجحة.
نقطة النهاية
- عنوان URL الأساسي
https://runapi.ai- إصدار API
v1- المصادقة
Authorization: Bearer YOUR_API_TOKEN
النماذج المدعومة
افتح صفحة النموذج للاطلاع على التسعير الحالي وحدود المعدل وتفاصيل الاستخدام التجاري.
مخطط الطلب
أرسل الحقول المُعلنة لهذا الطرف فقط.
s19 حقل
bitrate_kbpsintegerمعدل بت MP3. غير مقبول لمخرجات WAV.
القيم المسموح بها:64, 128, 192
القيمة الافتراضية: 128
modelstringمعرّف النموذج.
output_formatstringتنسيق الصوت الناتج.
القيم المسموح بها:mp3, wav
القيمة الافتراضية: mp3
referencesarrayعينات صوتية مرجعية مضمّنة لهذا الطلب.
references[].audiostringبايتات الصوت الخام مُرمَّزة بـ Base64.
references[].textstringالنص الدقيق للصوت المرجعي.
sample_rate_hzintegerمعدل عينة الإخراج. يدعم MP3 القيمتين 32000 و44100 هرتز؛ يدعم WAV جميع القيم المدرجة.
القيم المسموح بها:8000, 16000, 24000, 32000, 44100
القيمة الافتراضية: 44100
textstringvoice_idstrings2-pro9 حقل
bitrate_kbpsintegerمعدل بت MP3. غير مقبول لمخرجات WAV.
القيم المسموح بها:64, 128, 192
القيمة الافتراضية: 128
modelstringمعرّف النموذج.
output_formatstringتنسيق الصوت الناتج.
القيم المسموح بها:mp3, wav
القيمة الافتراضية: mp3
referencesarrayعينات صوتية مرجعية مضمّنة لهذا الطلب.
references[].audiostringبايتات الصوت الخام مُرمَّزة بـ Base64.
references[].textstringالنص الدقيق للصوت المرجعي.
sample_rate_hzintegerمعدل عينة الإخراج. يدعم MP3 القيمتين 32000 و44100 هرتز؛ يدعم WAV جميع القيم المدرجة.
القيم المسموح بها:8000, 16000, 24000, 32000, 44100
القيمة الافتراضية: 44100
textstringvoice_idstrings2.1-pro9 حقل
bitrate_kbpsintegerمعدل بت MP3. غير مقبول لمخرجات WAV.
القيم المسموح بها:64, 128, 192
القيمة الافتراضية: 128
modelstringمعرّف النموذج.
output_formatstringتنسيق الصوت الناتج.
القيم المسموح بها:mp3, wav
القيمة الافتراضية: mp3
referencesarrayعينات صوتية مرجعية مضمّنة لهذا الطلب.
references[].audiostringبايتات الصوت الخام مُرمَّزة بـ Base64.
references[].textstringالنص الدقيق للصوت المرجعي.
sample_rate_hzintegerمعدل عينة الإخراج. يدعم MP3 القيمتين 32000 و44100 هرتز؛ يدعم WAV جميع القيم المدرجة.
القيم المسموح بها:8000, 16000, 24000, 32000, 44100
القيمة الافتراضية: 44100
textstringvoice_idstringالقواعد الشرطية
تسري هذه المتطلبات عندما تتطابق جميع الشروط المدرجة.
-
عندما
output_format = wav- مطلوب
- غير مقبول
bitrate_kbps
-
عندما
output_format = mp3- مطلوب
- غير مقبول
-
عندما
output_format = {"present" => false}- مطلوب
- غير مقبول
استجابة النجاح
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"properties": {
"audios": {
"items": {
"properties": {
"format": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url",
"format",
"mime_type",
"size_bytes"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"audios",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"audios": [
{
"format": "mp3",
"mime_type": "audio/mpeg",
"size_bytes": 128,
"url": "https://file.runapi.ai/reference-audio.mp3"
}
],
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "completed"
}
الأخطاء
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Authentication required"
}
الأخطاء
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"oneOf": [
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "ملخص التحقق القابل للقراءة البشرية.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "رسائل التحقق مفتاحها حقل الطلب العام، مع مصفوفة من السلاسل القابلة للقراءة البشرية لكل حقل.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
مثال على الاستجابة
{
"error": "model must be one of: s1, s2-pro, s2.1-pro"
}
الأخطاء
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Insufficient balance"
}
الأخطاء
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "API key credit limit exceeded"
}
الأخطاء
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "The request uses features that are not supported for the selected model"
}
الأخطاء
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Rate limit reached. Please retry later."
}
الأخطاء
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "Service under maintenance, please try again later"
}
الأخطاء
POST /api/v1/fish_audio/text_to_speech
مخطط الاستجابة
{
"properties": {
"error": {
"description": "رسالة خطأ قابلة للقراءة البشرية.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
مثال على الاستجابة
{
"error": "The request timed out"
}
نماذج الأكواد المولَّدة
استخدم cURL مباشرةً، أو ثبّت SDK للغة البرمجة التي تستخدمها. كل نموذج يُرسل الطلب الذي تم التحقق من صحته كما هو موضح في هذا المرجع.
التثبيت
pip install runapi-fish-audio
import os
from runapi.fish_audio import FishAudioClient
client = FishAudioClient(api_key=os.environ["RUNAPI_API_KEY"])
result = client.text_to_speech.run(
model="s1",
text="Welcome to RunAPI."
)