POST https://api.acedata.cloud/fish/tts です。
申請プロセス
Fish TTS API を使用するには、まず Ace Data Cloud コンソール にアクセスして API Token を取得し、控えておいてください。
まだログインまたは登録していない場合は、ログインページへ自動的にリダイレクトされ、登録とログインが案内されます。完了後は自動的に現在のページへ戻ります。
1 つの 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 の使用を推奨します。
リンクの拡張子はリクエスト内のformatに従います:mp3では.mp3、wavとpcmでは.wav(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 を併用してください。
