Fish Audio 互換 TTS
fish.audio 形式の POST /v1/tts 契約を使い、Fish Audio API キーで RikkaHub などのクライアントに接続します。
Fish Audio 互換 TTS
クライアントがfish.audio POST /v1/ttsリクエストシェイプをハードコードする場合は、このエンドポイントを使用します。 API キー認証、割り当て、および Fish Audio アカウントの請求を維持しながら、そのペイロードを Fish Audio オープン TTS パイプラインにマッピングします。
ネイティブの Open API 統合の場合は、Sync HTTP を優先します。 OpenAI POST /v1/audio/speech クライアントの場合は、OpenAI 互換の TTS を使用します。
## 終点
POST /v1/tts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
model: s2.1-pro完全な URL:
https://fishaudio.org/v1/ttsサードパーティ アプリが https://api.fish.audio などの Fish Audio API ベースを要求する場合は、それを https://fishaudio.org に設定し、パスは /v1/tts のままにしておきます。
API キーをクライアントの保護された資格情報フィールドに保持します。アプリごとに専用のキーを作成して、個別に監視または取り消しできるようにします。
## リクエスト
{
"text": "Hello from Fish Audio.",
"reference_id": "00a1b221-6137-4b73-ad62-b0cbce134167",
"format": "mp3",
"temperature": 0.7,
"top_p": 0.7,
"normalize": true,
"prosody": {
"speed": 1
}
}| フィールド/ヘッダー | タイプ | 必須 | メモ |
|---|---|---|---|
model ヘッダー | 文字列 | いいえ | Fish.audio エンジン ラベル (s2.1-pro、s2.1-pro-flash、s2-pro など) |
text | 文字列 | はい | 合成するテキスト |
reference_id | 文字列 | はい | Fish Audio 音声 ID。サーバーは黙ってデフォルトの音声を選択しません。 |
format | 文字列 | いいえ | mp3、wav、または pcm; opus などのサポートされていない値は、mp3 にフォールバックします。 |
prosody.speed | 番号 | いいえ | 通話速度は0.5から2まで。最上位の speed も受け入れられます |
temperature | 番号 | いいえ | Fish Audio 安定性 (0.5 ~ 1.5) にマッピングされます。 |
top_p | 番号 | いいえ | Fish Audio の類似度 (0.5–1.5) にマッピングされます。 |
normalize | ブール値 | いいえ | テキスト正規化にマッピング |
chunk_length | 番号 | いいえ | クライアントの互換性のために受け入れられ、無視されます |
latency | 文字列 | いいえ | クライアントの互換性のために受け入れられ、無視されます |
モデルヘッダーのマッピング
model ヘッダー値 | Fish Audio エンジン モデル ID |
|---|---|
s2.1-pro | fishaudio-s21pro |
s2.1-pro-free | fishaudio-s21pro-free |
s2.1-flash | fishaudio-s21-flash |
s2.1-pro-flash | fishaudio-s21pro-flash |
s2-pro | fishaudio-s2pro |
s1 / s1-mini | |
speech-1.5 / 1.6 |
不明なヘッダー値は無視され、サーバーのデフォルト エンジンが適用されます。ヘッダーで fishaudio-s21pro-flash などのネイティブ エンジン ID を送信することもできます。
GET /api/open/v1/voices から音声 ID を取得します。簡単な接続テストには、パブリック システム音声 00a1b221-6137-4b73-ad62-b0cbce134167 を使用します。
## 応答
リクエストが成功すると、バイナリ オーディオが返されます。
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-OpenAPI-Quota-Remaining: 987988
X-OpenAPI-Credits-Used: 12
<binary audio data>エラーは JSON であり、認証、クォータ、および生成動作を Sync HTTP で共有します。
curl の例
curl -X POST "https://fishaudio.org/v1/tts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "model: s2.1-pro" \
-d '{
"text": "Hello from Fish Audio.",
"reference_id": "00a1b221-6137-4b73-ad62-b0cbce134167",
"format": "mp3",
"prosody": { "speed": 1 }
}' \
--output speech.mp3RikkaHub を接続します
API キー、ベース URL、モデル、および RikkaHub での音声の設定については、専用の RikkaHub セットアップ ガイド に従ってください。
エラー
| ステータス | 意味 | アクション |
|---|---|---|
400 | 無効なテキスト、reference_id がない、または不正な JSON | 再試行する前にリクエストを修正してください。 |
401 | API キーが見つからないか無効です。統合キーを確認または交換する | |
402 | API クォータが不十分です | さらにオーディオを生成する前にクォータを追加する |
429 | リクエストレート制限を超えました | 指数バックオフを使用して再試行 |
500 | TTS の生成に失敗しました | 重複請求を認識してのみ再試行 |