Skip to main content
هذا الواجهة توفر تحويل النص إلى صوت، استدعاء الأصوات المحفوظة واستنساخ الصوت الفوري لمرة واحدة، العنوان هو POST https://api.acedata.cloud/fish/tts.

عملية التقديم

لاستخدام Fish TTS API، يجب أولاً الذهاب إلى لوحة تحكم Ace Data Cloud للحصول على رمز API الخاص بك، احتفظ به للاستخدام لاحقًا. إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، سيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، وبعد الانتهاء سيتم العودة تلقائيًا إلى الصفحة الحالية. رمز API واحد يكفي لاستدعاء جميع خدمات المنصة، ولا حاجة لتقديم طلب منفصل لكل خدمة. عند التقديم لأول مرة، ستحصل على رصيد مجاني لتجربته؛ عند نفاد الرصيد، يمكنك إعادة شحن الرصيد العام في لوحة التحكم.
📘 الوثائق الكاملة: Fish TTS API →

رأس الطلب

حقول جسم الطلب

استنساخ لمرة واحدة يقبل فقط عنوان URL للصوت عبر HTTPS، ولا يقبل MessagePack، Base64، data URI أو URL مع بيانات الاعتماد. يُوصى بأن يكون طول الصوت المرجعي من 10 إلى 270 ثانية؛ تستخدم Studio نطاقًا أكثر تحفظًا من 10 إلى 60 ثانية.

المثال 1: الحد الأدنى من الطلب (text + format=mp3)

الاستجابة (تم الاختبار):
audio_url تشير إلى CDN الخاص بالمنصة، يمكن تنزيلها مباشرة عبر GET أو تشغيلها في <audio>. ستعيد الاستجابة الناجحة النهائية أيضًا cost في المستوى الأعلى، حيث amount هو الرصيد الفعلي المخصوم؛ إذا كان هناك خصم على الحساب، فإن list_amount تشير إلى الرصيد قبل الخصم. الروابط متاحة لفترة طويلة، ولكن يُوصى بالاحتفاظ بنسخة في تخزينك الخاص.

المثال 2: استخدام صوت استنساخ reference_id

فيما يلي استخدام صوت إسباني عام على منصة Fish (يمكن استرجاع _id عبر Fish Model Query):
الاستجابة (تم الاختبار):

المثال 3: استنساخ الصوت الفوري لمرة واحدة (references)

ضع الصوت المرجعي في عنوان HTTPS عام، وقدم النص الدقيق الذي تم قوله. سيتم استخدام هذا الصوت فقط في هذا التحويل، ولن يتم إنشاء نموذج طويل الأمد:
استجابة ناجحة تم اختبارها:

示例 3:调节语速 / 音量(prosody

返回(实测):
speed 大于 1 加快,小于 1 减慢;volume 单位 dB,0 表示不变,正数增益,负数衰减。

示例 5:切换模型 + 控制码率

通过 HTTP 头 model: s1 切换到稳定型模型,请求体中加 mp3_bitrate: 128 控制 MP3 码率:
返回(实测):

示例 6:PCM 原始波形

需要在浏览器里做实时拼接、或在客户端做后续处理(混音、变速)的场景,推荐使用 pcm
返回(实测):
链接的扩展名跟随请求里的 formatmp3 得到 .mp3wavpcm 得到 .wav(WAV 容器,16 bit PCM)。

异步回调(callback_url

长文本一次合成可能需要十几秒到几十秒,连接如果中断需要重试。请求体中传 callback_url 后,接口会立即返回 {task_id, started_at},上游真正完成时把完整结果以 POST JSON 形式回调到该 URL,请求体中带同一个 task_id 和本次最终计费的顶层 cost。初始任务确认尚未完成合成,因此不包含 cost
立即返回(实测):
稍后 callback_url 会收到形如:
也可以用 Fish Tasks API 主动按 task_id 拉取结果;终态记录的 response.cost 与回调中的 cost 一致,详见该文档。

错误处理

  • 400 token_mismatched:请求参数缺失或不合法(最常见是 text 为空,或 format 传了 mp3/wav/pcm 之外的值)。
  • 401 invalid_token:鉴权 token 不存在或无效。
  • 429 too_many_requests:触发账号速率限制。
  • 500 api_error:服务器内部错误。
错误响应示例:
参数校验错误会在 message 字段说明不合法的字段,例如:

结论

接入 Fish TTS 的最小代价是:在已有调用 api.fish.audio/v1/tts 的代码里把鉴权换成本平台 token,并在请求体里显式带上 format: "mp3"。长文本场景建议使用 callback_url 异步回调;对克隆音色 reference_id 的发现,请配合 Fish Model QueryFish Model Get