Skip to main content
本インターフェースは、テキストを音声に変換し、保存された音声を呼び出し、一時的な音声クローンを提供します。アドレスは POST https://api.acedata.cloud/fish/tts です。

申請プロセス

Fish TTS API を使用するには、まず Ace Data Cloud コンソール で API トークンを取得し、保管してください。 まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。完了後、現在のページに自動的に戻ります。 1つの API トークンでプラットフォームのすべてのサービスを呼び出すことができ、各サービスごとに個別に申請する必要はありません。 初回申請時には無料枠が付与され、無料で体験できます。枠が不足した場合は、コンソール で共通残高をチャージできます。
📘 完全なドキュメント: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 は今回実際に差し引かれたクレジットです;アカウント割引がある場合、list_amount は割引前の額を示します。リンクは長期間利用可能ですが、自分のストレージにもコピーを残すことをお勧めします。

例 2:クローン音色 reference_id の使用

以下は Fish プラットフォーム上の公開されたスペイン語音色を使用します(_idFish Model Query で取得できます):
返却(実測):

例 3:一時的な音声クローン(references

参考音声を公開 HTTPS アドレスに置き、実際に話された正確な原文を提供します。この音声は今回の合成のみに使用され、長期モデルは作成されません:
実測成功応答:

例 3:話速 / 音量の調整(prosody

返却(実測):
speed が 1 より大きいと速く、小さいと遅くなります;volume の単位は dB で、0 は変わらず、正の数は増加、負の数は減少を示します。

例 5:モデルの切り替え + ビットレートの制御

HTTP ヘッダー model: s1 で安定型モデルに切り替え、リクエストボディに mp3_bitrate: 128 を追加して MP3 ビットレートを制御します:
返却(実測):

例 6:PCM 生波形

ブラウザでリアルタイムに結合する必要がある、またはクライアントで後処理(ミキシング、速度変更)を行うシーンでは、pcm の使用を推奨します:
返却(実測):
リンクの拡張子はリクエスト内の format に従います:mp3.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 が空、または formatmp3/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 QueryFish Model Get を組み合わせて使用してください。