Fish Audio-kompatibles TTS
Nutzen Sie den fish.audio-artigen POST /v1/tts-Vertrag mit Fish Audio API-Schlüsseln für Clients wie RikkaHub.
Fish Audio-kompatibles TTS
Verwenden Sie diesen Endpunkt, wenn ein Client die Anforderungsform „fish.audio POST /v1/tts“ fest codiert. Es ordnet diese Nutzlast der Fish Audio Open TTS-Pipeline zu und behält dabei die API-Schlüsselauthentifizierung, das Kontingent und die Abrechnung in Ihrem Fish Audio-Konto bei.
Für eine native Open API-Integration bevorzugen Sie Sync HTTP. Für OpenAI POST /v1/audio/speech-Clients verwenden Sie OpenAI-kompatibles TTS.
Endpunkt
POST /v1/tts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
model: s2.1-proVollständige URL:
https://fishaudio.org/v1/ttsWenn die Drittanbieter-App nach einer Fish Audio API-Basis wie https://api.fish.audio fragt, legen Sie sie auf https://fishaudio.org fest und belassen Sie den Pfad als /v1/tts.
Behalten Sie den API-Schlüssel im geschützten Anmeldeinformationsfeld des Clients. Erstellen Sie für jede App einen eigenen Schlüssel, damit Sie ihn unabhängig überwachen oder widerrufen können.
Anfrage
{
"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
}
}| Feld / Kopfzeile | Geben Sie | ein Erforderlich | Notizen |
| ---------------- | ------------ | ---------------- | ------------------------------------------------------------------------------------------------- | ------ |
| model-Header | Zeichenfolge | Nein | fish.audio-Engine-Label wie s2.1-pro, s2.1-pro-flash oder s2-pro |
| text | Zeichenfolge | Ja | Zu synthetisierender Text |
| reference_id | Zeichenfolge | Ja | Fish Audio Sprach-ID; Der Server wählt nicht stillschweigend eine Standardstimme aus |
| format | Zeichenfolge | Nein | mp3, wav oder pcm; Nicht unterstützte Werte wie opus fallen auf mp3 | zurück |
| prosody.speed | Nummer | Nein | Sprechgeschwindigkeit von 0.5 bis 2; speed auf der obersten Ebene wird ebenfalls akzeptiert |
| temperature | Nummer | Nein | Zugeordnet zur Fish Audio-Stabilität (0.5–1.5) |
| top_p | Nummer | Nein | Zugeordnet zur Fish Audio-Ähnlichkeit (0.5–1.5) |
| normalize | boolean | Nein | Der Textnormalisierung zugeordnet |
| chunk_length | Nummer | Nein | Aus Gründen der Clientkompatibilität akzeptiert und ignoriert |
| latency | Zeichenfolge | Nein | Aus Gründen der Clientkompatibilität akzeptiert und ignoriert |
Modell-Header-Zuordnung
model Header-Wert | Fish Audio Motormodell-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 | fishaudio-s1 |
speech-1.5 / 1.6 | fishaudio-s1 |
Unbekannte Headerwerte werden ignoriert und die Standard-Engine des Servers wird angewendet. Sie können auch eine native Engine-ID wie fishaudio-s21pro-flash im Header senden.
Holen Sie sich Sprach-IDs von GET /api/open/v1/voices. Für einen schnellen Verbindungstest nutzen Sie die öffentliche Systemstimme 00a1b221-6137-4b73-ad62-b0cbce134167.
Antwort
Eine erfolgreiche Anfrage gibt binäres Audio zurück:
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-OpenAPI-Quota-Remaining: 987988
X-OpenAPI-Credits-Used: 12
<binary audio data>Fehler sind JSON und teilen Authentifizierung, Kontingent und Generierungsverhalten mit Sync HTTP.
curl Beispiel
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 verbinden
Befolgen Sie für die Einrichtung von API-Schlüssel, Basis-URL, Modell und Stimme in RikkaHub die entsprechende RikkaHub-Einrichtungsanleitung.
Fehler
| Status | Bedeutung | Aktion |
|---|---|---|
400 | Ungültiger Text, fehlendes reference_id oder fehlerhaftes JSON | Korrigieren Sie die Anfrage, bevor Sie es erneut versuchen |
401 | API-Schlüssel fehlt oder ist ungültig | Überprüfen oder ersetzen Sie den Integrationsschlüssel |
402 | API-Kontingent ist nicht ausreichend | Kontingent hinzufügen, bevor mehr Audio generiert wird |
429 | Anforderungsratenlimit überschritten | Mit exponentiellem Backoff erneut versuchen |
500 | TTS-Generierung fehlgeschlagen | Nur mit Erkennung doppelter Gebühren erneut versuchen |