Skip to main content
本接口提供文本轉語音、已保存聲音調用和一次性即時聲音克隆,地址為 POST https://api.acedata.cloud/fish/tts

申請流程

要使用 Fish TTS API,首先到 Ace Data Cloud 控制台 獲取您的 API Token,留作備用。 如果你尚未登錄或註冊,會自動跳轉到登錄頁面邀請你註冊和登錄,完成後會自動返回當前頁面。 一個 API Token 即可調用平台所有服務,無需為每個服務單獨申請。 首次申請會贈送免費額度,可免費體驗;額度不足時可在 控制台 充值通用餘額。
📘 完整文檔:Fish TTS API →

請求頭

請求體字段

一次性克隆只接受 HTTPS 音頻 URL,不接受 MessagePack、Base64、data URI 或帶憑據的 URL。參考音頻建議 10–270 秒;Studio 使用更保守的 10–60 秒範圍。

示例 1:最小請求(text + format=mp3

返回(實測):
audio_url 指向本平台 CDN,可直接 GET 下載或在 <audio> 中播放。最終成功響應還會返回頂層 cost,其中 amount 是本次實際扣除的 Credits;如有賬戶折扣,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