Fish Audio Docs
API リファレンステキスト読み上げ
Back to site

HTTPを同期

Open API v1 と同期して音声を生成します。

HTTPを同期

テキストが要求と応答のフローに十分短く、製品が音声を待ってから続行できる場合は、同期 TTS エンドポイントを使用します。長いテキスト、バッチ作業、またはユーザーに表示されるキューの場合は、非同期ジョブ を使用します。

クライアントが OpenAI /v1/audio/speech リクエスト シェイプを予期している場合は、代わりに OpenAI 互換 TTS エンドポイントを使用してください。

POST /api/open/v1/speech/tts
Authorization: Bearer FISHAUDIO_API_KEY
Content-Type: application/json

## リクエスト

{
  "text": "Hello from Fish Audio.",
  "voiceId": "00a1b221-6137-4b73-ad62-b0cbce134167",
  "modelId": "fishaudio-s21pro-flash",
  "format": "mp3"
}

共通フィールド:

フィールドタイプメモ
text文字列合成するテキスト。生成された大きなテキストを送信する前に空白を正規化します。
voiceId文字列新しい統合に優先される音声 ID。
modelId文字列TTS エンジンのモデル ID(例: fishaudio-s21pro-flash)。
format文字列有効なモデルに応じて、mp3 などの出力コンテナー。
cacheブール値true の場合、応答は JSON メタデータとオーディオ URL を返すことができます。

新しい統合では、GET /api/open/v1/voices から voiceId を使用する必要があります。簡単な接続テストには、パブリック システム音声 00a1b221-6137-4b73-ad62-b0cbce134167 を使用します。

古い SDK または他のサイトバリアントのフィールドを現在のOpen API 契約に混合しないでください。

curl https://fishaudio.org/api/open/v1/speech/tts \
  -H "Authorization: Bearer FISHAUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello from Fish Audio.","voiceId":"00a1b221-6137-4b73-ad62-b0cbce134167","modelId":"fishaudio-s21pro-flash","format":"mp3"}' \
  --output speech.mp3

## 応答

cachefalse であるか省略されている場合、成功した応答はバイナリ オーディオを返します。 cachetrue の場合、成功した応答は JSON メタデータを返します。

{
  "audio_url": "https://example.com/generated.mp3",
  "credits_used": 12,
  "quota_remaining": 987988
}

クライアントは、1 つの応答形式を想定するのではなく、Content-Type ヘッダーで分岐する必要があります。 URL の有効期間が短い場合は、生成されたオーディオを独自の耐久性のあるストレージに保存します。

請求とクレジット

同期 TTS は、生成されたコンテンツとモデル構成に基づいてクレジットを消費します。エンドポイントは HTTP リクエスト内で生成を実行するため、クライアントのタイムアウトは必ずしもサーバーが作業をキャンセルしたことを意味するわけではありません。ユーザーアクションを再試行するときに、独自のアプリケーション層で冪等性を使用します。

生成後の正確なバランスが必要な場合は、リクエストの完了後に Profile を呼び出します。大規模なバッチの場合は、各タスクが永続的な ID とステータスを持つように、非同期ジョブを優先します。

エラー

ステータス意味アクション
400テキスト、音声 ID、形式、またはペイロードの形状が無効です再試行する前にリクエストを修正してください
401API キーが見つからないか無効です。サーバー側の認証情報を更新する
402クレジットまたは割り当てが不十分ですバッチを停止して請求状態を表示する
429レート制限バックオフを使用して再試行
500検証後に生成に失敗しました製品が重複した音声を許容できる場合にのみ再試行してください。