callback_url), die Struktur des Anfragekörpers ist identisch mit der des upstream. Die Adresse lautet POST https://api.acedata.cloud/fish/tts.
Antragsprozess
Um die Fish TTS API zu verwenden, müssen Sie zunächst Ihr API-Token im Ace Data Cloud Dashboard abrufen und für zukünftige Verwendung aufbewahren.
Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach Abschluss werden Sie automatisch zur aktuellen Seite zurückgeleitet.
Ein API-Token reicht aus, um alle Dienste der Plattform zu nutzen, es ist nicht erforderlich, für jeden Dienst separat zu beantragen. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, um es kostenlos auszuprobieren; wenn das Kontingent nicht ausreicht, können Sie im Dashboard Ihr allgemeines Guthaben aufladen.
📘 Vollständige Dokumentation: Fish TTS API →
Anfrageheader
Anfragekörperfelder
Die Feldbenennungen sind identisch mit dem upstream. Abgesehen von callback_url beziehen sich die anderen Felder auf die Bedeutungen und Werte in der Fish offiziellen TTS-Dokumentation.
Beispiel 1: Minimale Anfrage (text + format=mp3)
audio_url verweist auf das CDN dieser Plattform, kann direkt mit GET heruntergeladen oder in <audio> abgespielt werden. Der Link ist langfristig verfügbar, es wird jedoch empfohlen, eine Kopie in Ihrem eigenen Speicher zu behalten.
Beispiel 2: Verwendung der Klon-Stimme reference_id
Hier wird eine öffentliche spanische Stimme auf der Fish-Plattform verwendet (_id kann über die Fish Model Query abgerufen werden):
Beispiel 3: Anpassung der Sprechgeschwindigkeit / Lautstärke (prosody)
speed größer als 1 beschleunigt, kleiner als 1 verlangsamt; volume in dB, 0 bedeutet unverändert, positive Werte verstärken, negative Werte dämpfen.
Beispiel 4: Modellwechsel + Steuerung der Bitrate
Durch den HTTP-Headermodel: s1 wird auf das stabile Modell gewechselt, im Anfragekörper wird mp3_bitrate: 128 hinzugefügt, um die MP3-Bitrate zu steuern:
Beispiel 5: PCM Rohwelle
Für Szenarien, in denen Echtzeit-Zusammenführung im Browser oder nachträgliche Verarbeitung (Mixing, Geschwindigkeitsänderung) auf der Client-Seite erforderlich ist, wird die Verwendung vonpcm empfohlen:
Die Erweiterung des Links folgt demformatin der Anfrage:mp3ergibt.mp3,wavundpcmergeben.wav(WAV-Container, 16 Bit PCM).
Asynchrone Rückrufe (callback_url)
Die Synthese von langen Texten kann mehrere Sekunden bis mehrere Minuten in Anspruch nehmen, und wenn die Verbindung unterbrochen wird, muss sie erneut versucht werden. Wenn callback_url im Anfragekörper übergeben wird, gibt die Schnittstelle sofort {task_id, started_at} zurück, und wenn die Verarbeitung tatsächlich abgeschlossen ist, wird das vollständige Ergebnis als POST-JSON an diese URL zurückgerufen, wobei der gleiche task_id im Anfragekörper enthalten ist.
callback_url eine Nachricht in folgender Form erhalten:
task_id abzurufen, siehe dazu die Dokumentation.
Fehlerbehandlung
400 token_mismatched: Fehlende oder ungültige Anfrageparameter (am häufigsten isttextleer oderformathat einen Wert, der nichtmp3/wav/pcmist).401 invalid_token: Authentifizierungstoken existiert nicht oder ist ungültig.429 too_many_requests: Konto-Rate-Limit überschritten.500 api_error: Interner Serverfehler.
message-Feld mit dem Originalfehlertext von pydantic angezeigt, um zu helfen, welches Feld ungültig ist, zum Beispiel:
Fazit
Die minimalen Kosten für die Integration von Fish TTS sind: In bestehendem Code, derapi.fish.audio/v1/tts aufruft, das Authentifizierungstoken durch das Plattform-Token zu ersetzen und im Anfragekörper explizit format: "mp3" anzugeben. Für lange Textszenarien wird empfohlen, callback_url für asynchrone Rückrufe zu verwenden; zur Entdeckung von Klonstimmen reference_id sollten Fish Model Query und Fish Model Get verwendet werden.
