POST https://api.acedata.cloud/fish/tts。
Proces aplikacji
Aby korzystać z Fish TTS API, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój token API, zachowując go na później.
Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.
Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Pierwsze zgłoszenie otrzyma darmowy limit, aby móc skorzystać z bezpłatnej wersji; w przypadku niewystarczającego limitu można doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: Fish TTS API →
Nagłówki żądania
Pola ciała żądania
Jednorazowe klonowanie akceptuje tylko HTTPS audio URL, nie akceptuje MessagePack, Base64, data URI ani URL z poświadczeniami. Zalecany czas trwania referencyjnego audio to 10–270 sekund; Studio używa bardziej konserwatywnego zakresu 10–60 sekund.
Przykład 1: Minimalne żądanie (text + format=mp3)
audio_url wskazuje na CDN tej platformy, można go bezpośrednio pobrać za pomocą GET lub odtworzyć w <audio>. Ostateczna odpowiedź sukcesu zwróci również górny cost, w którym amount to rzeczywista kwota odjęta z kredytów; jeśli są zniżki na koncie, list_amount oznacza kwotę przed zniżką. Link jest dostępny przez długi czas, ale nadal zaleca się przechowywanie kopii w swoim własnym magazynie.
Przykład 2: Użycie klonowania głosu reference_id
Poniżej użyto jednego z publicznych głosów w języku hiszpańskim na platformie Fish (_id można uzyskać za pomocą Fish Model Query):
Przykład 3: Jednorazowe klonowanie dźwięku (references)
Umieść referencyjny dźwięk w publicznym adresie HTTPS i podaj dokładny oryginalny tekst, który został faktycznie wypowiedziany. Ten dźwięk jest używany tylko do tej syntezy i nie stworzy długoterminowego modelu:
示例 3:调节语速 / 音量(prosody)
speed większe niż 1 przyspiesza, mniejsze niż 1 spowalnia; volume w dB, 0 oznacza brak zmian, liczby dodatnie to wzmocnienie, ujemne to osłabienie.
示例 5:切换模型 + 控制码率
通过 HTTP 头model: s1 切换到稳定型模型,请求体中加 mp3_bitrate: 128 控制 MP3 码率:
示例 6:PCM 原始波形
需要在浏览器里做实时拼接、或在客户端做后续处理(混音、变速)的场景,推荐使用pcm:
Rozszerzenie linku podąża zaformatw żądaniu:mp3daje.mp3,wavipcmdają.wav(kontener WAV, 16 bit PCM).
异步回调(callback_url)
长文本一次合成可能需要十几秒到几十秒,连接如果中断需要重试。请求体中传 callback_url 后,接口会立即返回 {task_id, started_at},上游真正完成时把完整结果以 POST JSON 形式回调到该 URL,请求体中带同一个 task_id 和本次最终计费的顶层 cost。初始任务确认尚未完成合成,因此不包含 cost。
callback_url 会收到形如:
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 Query 与 Fish Model Get。
