تخطَّ إلى المحتوى
مرجع API
مرجع API

Fish Audio نص إلى كلام

استخدم نقطة نهاية تحويل النص إلى كلام لتلقّي نتيجة في الاستجابة ذاتها.

01

نظرة عامة

استخدم نقطة نهاية تحويل النص إلى كلام واقرأ النتيجة من الاستجابة ذاتها.

البدء السريع

  1. أنشئ مفتاح API واضبطه كـ RUNAPI_API_KEY.
  2. أرسل طلب POST يطابق نص الطلب مخطط الطلب.
  3. اقرأ النتيجة من جسم الاستجابة الناجحة.

نقطة النهاية

POST /api/v1/fish_audio/text_to_speech
عنوان URL الأساسي
https://runapi.ai
إصدار API
v1
المصادقة
Authorization: Bearer YOUR_API_TOKEN
02

النماذج المدعومة

افتح صفحة النموذج للاطلاع على التسعير الحالي وحدود المعدل وتفاصيل الاستخدام التجاري.

03

مخطط الطلب

نص JSON

أرسل الحقول المُعلنة لهذا الطرف فقط.

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
textstring
مطلوب
voice_idstring
اختياري
s2-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
textstring
مطلوب
voice_idstring
اختياري
s2.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
textstring
مطلوب
voice_idstring
اختياري

القواعد الشرطية

تسري هذه المتطلبات عندما تتطابق جميع الشروط المدرجة.

  1. عندما output_format = wav
    مطلوب
    غير مقبول
    bitrate_kbps
  2. عندما output_format = mp3
    مطلوب
    غير مقبول
  3. عندما output_format = {"present" => false}
    مطلوب
    غير مقبول
04

استجابة النجاح

HTTP 200

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "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
}

مثال على الاستجابة

JSON
{
  "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"
}
05

الأخطاء

HTTP 401

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "properties": {
    "error": {
      "description": "رسالة خطأ قابلة للقراءة البشرية.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

مثال على الاستجابة

JSON
{
  "error": "Authentication required"
}
06

الأخطاء

HTTP 400

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "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
    }
  ]
}

مثال على الاستجابة

JSON
{
  "error": "model must be one of: s1, s2-pro, s2.1-pro"
}
07

الأخطاء

HTTP 402

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "properties": {
    "error": {
      "description": "رسالة خطأ قابلة للقراءة البشرية.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

مثال على الاستجابة

JSON
{
  "error": "Insufficient balance"
}
08

الأخطاء

HTTP 429

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "properties": {
    "error": {
      "description": "رسالة خطأ قابلة للقراءة البشرية.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

مثال على الاستجابة

JSON
{
  "error": "API key credit limit exceeded"
}
09

الأخطاء

HTTP 409

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "properties": {
    "error": {
      "description": "رسالة خطأ قابلة للقراءة البشرية.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

مثال على الاستجابة

JSON
{
  "error": "The request uses features that are not supported for the selected model"
}
10

الأخطاء

HTTP 429

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "properties": {
    "error": {
      "description": "رسالة خطأ قابلة للقراءة البشرية.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

مثال على الاستجابة

JSON
{
  "error": "Rate limit reached. Please retry later."
}
11

الأخطاء

HTTP 503

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "properties": {
    "error": {
      "description": "رسالة خطأ قابلة للقراءة البشرية.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

مثال على الاستجابة

JSON
{
  "error": "Service under maintenance, please try again later"
}
12

الأخطاء

HTTP 504

POST /api/v1/fish_audio/text_to_speech

مخطط الاستجابة
JSON
{
  "properties": {
    "error": {
      "description": "رسالة خطأ قابلة للقراءة البشرية.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}

مثال على الاستجابة

JSON
{
  "error": "The request timed out"
}
13

نماذج الأكواد المولَّدة

استخدم cURL مباشرةً، أو ثبّت SDK للغة البرمجة التي تستخدمها. كل نموذج يُرسل الطلب الذي تم التحقق من صحته كما هو موضح في هذا المرجع.

التثبيت

Shell
pip install runapi-fish-audio
PYTHON
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."
)