callback_url 拡張)に違いがあります。リクエストボディの構造は上流と一致しています。アドレスは POST https://api.acedata.cloud/fish/tts です。
申請プロセス
Fish TTS API を使用するには、まず Ace Data Cloud コンソール で API トークンを取得し、保管してください。
まだログインまたは登録していない場合、自動的にログインページにリダイレクトされ、登録とログインを促されます。完了後、現在のページに自動的に戻ります。
1つの API トークンでプラットフォームのすべてのサービスを呼び出すことができ、各サービスごとに個別に申請する必要はありません。 初回申請時には無料枠が付与され、無料で体験できます。枠が不足した場合は、コンソール で共通残高をチャージできます。
📘 完全なドキュメント:Fish TTS API →
リクエストヘッダー
リクエストボディフィールド
フィールド名は上流と完全に一致しています。callback_url を除き、他のフィールドの意味と値は Fish 公式 TTS ドキュメント を参照してください。
例 1:最小リクエスト(text + format=mp3)
audio_url はこのプラットフォームの CDN を指し、直接 GET でダウンロードするか <audio> で再生できます。リンクは長期間使用可能ですが、自分のストレージにもコピーを残すことをお勧めします。
例 2:クローン音色 reference_id の使用
以下は Fish プラットフォーム上の公開されたスペイン語音色を使用しています(_id は Fish Model Query で取得できます):
例 3:スピード / 音量の調整(prosody)
speed が 1 より大きいと速くなり、1 より小さいと遅くなります;volume の単位は dB で、0 は変わらず、正数は増加、負数は減少を示します。
例 4:モデルの切り替え + ビットレートの制御
HTTP ヘッダーmodel: s1 で安定型モデルに切り替え、リクエストボディに mp3_bitrate: 128 を追加して MP3 ビットレートを制御します:
例 5:PCM 生波形
ブラウザでリアルタイムに接続したり、クライアントで後処理(ミキシング、速度変更)を行うシーンでは、pcmの使用を推奨します:
リンクの拡張子はリクエスト内のformatに従います:mp3で.mp3を取得し、wavとpcmで.wavを取得します(WAVコンテナ、16ビットPCM)。
非同期コールバック(callback_url)
長いテキストの合成には数秒から数十秒かかることがあり、接続が中断された場合は再試行が必要です。リクエストボディにcallback_urlを渡すと、インターフェースはすぐに{task_id, started_at}を返します。上流で実際に完了した際に、完全な結果をPOST JSON形式でそのURLにコールバックし、リクエストボディには同じtask_idを含めます。
callback_urlは次のような形で受け取ります:
task_idに基づいて結果をプルすることもできます。詳細はその文書を参照してください。
エラーハンドリング
400 token_mismatched:リクエストパラメータが欠落または不正(最も一般的なのはtextが空であるか、formatにmp3/wav/pcm以外の値が渡された場合)。401 invalid_token:認証トークンが存在しないか無効。429 too_many_requests:アカウントのレート制限が発動。500 api_error:サーバー内部エラー。
messageフィールドに配置し、どのフィールドが不正であるかを特定しやすくします。例えば:
結論
Fish TTSを接続する最小コストは、既存のapi.fish.audio/v1/ttsを呼び出すコードで認証をこのプラットフォームのトークンに置き換え、リクエストボディに明示的にformat: "mp3"を含めることです。長文シーンではcallback_urlの非同期コールバックを使用することをお勧めします;クローン音色reference_idの発見については、Fish Model QueryとFish Model Getを併用してください。
