Zum Hauptinhalt springen
Diese Schnittstelle bietet Text-zu-Sprache, Aufruf gespeicherter Stimmen und einmaliges sofortiges Stimmenklonen. Die Adresse lautet 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)

Rückgabe (getestet):
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):
Rückgabe (getestet):

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:
Erfolgreiche Testantwort:

Beispiel 3: Sprechgeschwindigkeit / Lautstärke anpassen (prosody)

Rückgabe (getestet):
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-Header model: s1 zum stabilen Modell und fügen Sie im Request-Body mp3_bitrate: 128 hinzu, um die MP3-Bitrate zu steuern:
Rückgabe (getestet):

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 von pcm empfohlen:
Rückgabe (getestet):
Die Erweiterung des Links folgt dem format in der Anfrage: mp3 ergibt .mp3, wav und pcm ergeben .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.
Sofortige Rückgabe (getestet):
Etwas später erhält callback_url etwa Folgendes:
Sie können auch die Fish Tasks API verwenden, um das Ergebnis aktiv anhand von 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 ist text leer oder format enthält einen anderen Wert als mp3/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.
Beispiel für eine Fehlerantwort:
Fehler bei der Parameterprüfung erläutern das ungültige Feld im Feld message, zum Beispiel:

Fazit

Der minimale Aufwand zur Integration von Fish TTS besteht darin, im vorhandenen Code, der api.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.