POST https://api.acedata.cloud/fish/tts.
Antragsprozess
Um die Fish TTS API zu verwenden, rufen Sie zunächst die Ace Data Cloud-Konsole auf, um Ihren API-Token zu erhalten, und bewahren Sie ihn als Reserve auf.
Wenn Sie sich noch nicht angemeldet oder registriert haben, werden Sie automatisch zur Anmeldeseite weitergeleitet, auf der Sie zur Registrierung und Anmeldung eingeladen werden. Nach Abschluss kehren Sie automatisch zur aktuellen Seite zurück.
Ein API-Token kann alle Dienste der Plattform aufrufen, ohne dass für jeden Dienst ein separater Antrag erforderlich ist. Beim ersten Antrag wird ein kostenloses Guthaben verschenkt, das kostenlos getestet werden kann; bei unzureichendem Guthaben kann in der Konsole allgemeines Guthaben aufgeladen werden.
📘 Vollständige Dokumentation: Fish TTS API →
Request-Header
Request-Body-Felder
Einmaliges Klonen akzeptiert nur HTTPS-Audio-URLs und akzeptiert kein MessagePack, Base64, data URI oder URLs mit Anmeldedaten. Für Referenzaudio werden 10–270 Sekunden empfohlen; Studio verwendet den konservativeren Bereich von 10–60 Sekunden.
Beispiel 1: Minimaler Request (text + format=mp3)
audio_url verweist auf das CDN dieser Plattform und kann direkt per GET heruntergeladen oder in <audio> abgespielt werden. Die endgültige erfolgreiche Antwort gibt außerdem das oberste cost zurück, wobei amount die tatsächlich für diesen Vorgang abgezogenen Credits darstellt; falls es einen Kontorabatt gibt, zeigt list_amount das Guthaben vor dem Rabatt an. Der Link ist langfristig verfügbar, dennoch wird empfohlen, eine Kopie in Ihrem eigenen Speicher aufzubewahren.
Beispiel 2: Verwendung der geklonten Stimme reference_id
Im Folgenden wird eine öffentliche spanische Stimme auf der Fish-Plattform verwendet (_id kann über Fish Model Query abgerufen werden):
Beispiel 3: Einmaliges sofortiges Stimmenklonen (references)
Legen Sie das Referenzaudio unter einer öffentlichen HTTPS-Adresse ab und geben Sie den darin tatsächlich gesprochenen genauen Originaltext an. Diese Stimme wird nur für diese Synthese verwendet und erstellt kein langfristiges Modell:
Beispiel 3: Sprechgeschwindigkeit / Lautstärke anpassen (prosody)
speed größer als 1 beschleunigt, kleiner als 1 verlangsamt; die Einheit von volume ist dB, 0 bedeutet unverändert, positive Werte verstärken, negative Werte dämpfen.
Beispiel 5: Modell wechseln + Bitrate steuern
Wechseln Sie über den HTTP-Headermodel: s1 zum stabilen Modell und fügen Sie im Request-Body mp3_bitrate: 128 hinzu, um die MP3-Bitrate zu steuern:
Beispiel 6: PCM-Rohwellenform
Für Szenarien, in denen Echtzeit-Zusammenfügung im Browser erforderlich ist oder eine nachträgliche Verarbeitung auf dem Client (Mischen, Geschwindigkeitsänderung) erfolgt, wird die Verwendung vonpcm empfohlen:
Die Erweiterung des Links folgt demformatin der Anfrage:mp3ergibt.mp3,wavundpcmergeben.wav(WAV-Container, 16-Bit-PCM).
Asynchroner Callback (callback_url)
Die Synthese eines langen Textes kann einmalig mehrere zehn Sekunden dauern; wenn die Verbindung unterbrochen wird, muss erneut versucht werden. Nach Übergabe von callback_url im Request-Body gibt die Schnittstelle sofort {task_id, started_at} zurück. Wenn der Upstream tatsächlich abgeschlossen ist, wird das vollständige Ergebnis als POST-JSON an diese URL zurückgerufen, wobei der Request-Body dieselbe task_id und den endgültig für diesen Durchlauf abgerechneten cost der obersten Ebene enthält. Die anfängliche Aufgabenbestätigung enthält noch keinen cost, da die Synthese noch nicht abgeschlossen ist.
callback_url etwa Folgendes:
task_id abzurufen; der response.cost im Endstatus-Datensatz stimmt mit dem cost im Callback überein, siehe dazu dieses Dokument.
Fehlerbehandlung
400 token_mismatched: Anfrageparameter fehlen oder sind ungültig (am häufigsten isttextleer oderformatenthält einen anderen Wert alsmp3/wav/pcm).401 invalid_token: Der Authentifizierungs-Token existiert nicht oder ist ungültig.429 too_many_requests: Das Ratenlimit des Kontos wurde ausgelöst.500 api_error: Interner Serverfehler.
message, zum Beispiel:
Fazit
Der minimale Aufwand zur Integration von Fish TTS besteht darin, im vorhandenen Code, derapi.fish.audio/v1/tts aufruft, die Authentifizierung durch den Token dieser Plattform zu ersetzen und im Request-Body explizit format: "mp3" mitzugeben. Für Szenarien mit langen Texten wird der asynchrone Callback callback_url empfohlen; für die Ermittlung von reference_id geklonter Stimmfarben verwenden Sie bitte Fish Model Query und Fish Model Get.
