Skip to main content
Diese Schnittstelle bietet Text-zu-Sprache, den Aufruf gespeicherter Stimmen und einmalige sofortige Sprachklonierung an, die Adresse lautet POST https://api.acedata.cloud/fish/tts

Antragsprozess

Um die Fish TTS API zu nutzen, müssen Sie zunächst ein API-Token im Ace Data Cloud Dashboard anfordern 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 erschöpft ist, können Sie im Dashboard Ihr Guthaben aufladen.
📘 Vollständige Dokumentation: Fish TTS API →

Anfrageheader

Anfragekörperfelder

Einmalige Klonierung akzeptiert nur HTTPS-Audio-URLs, keine MessagePack-, Base64-, Data-URI- oder URL mit Anmeldeinformationen. Referenzaudio wird für 10–270 Sekunden empfohlen; Studio verwendet einen konservativeren Bereich von 10–60 Sekunden.

Beispiel 1: Minimale Anfrage (text + format=mp3)

Antwort (gemessen):
audio_url verweist auf das CDN dieser Plattform, kann direkt heruntergeladen oder in <audio> abgespielt werden. Die endgültige erfolgreiche Antwort enthält auch die oberste cost, wobei amount die tatsächlich abgezogenen Credits für diese Transaktion ist; bei Kontorabatten zeigt list_amount den Betrag vor dem Rabatt an. Der Link ist langfristig verfügbar, es wird jedoch empfohlen, eine Kopie in Ihrem eigenen Speicher aufzubewahren.

Beispiel 2: Verwendung des Klonstimmtyps reference_id

Hier wird eine öffentliche spanische Stimme auf der Fish-Plattform verwendet (_id kann über Fish Model Query abgerufen werden):
Antwort (gemessen):

Beispiel 3: Einmalige sofortige Sprachklonierung (references)

Legen Sie die Referenzaudio an einer öffentlichen HTTPS-Adresse ab und geben Sie den genauen Wortlaut an, der tatsächlich gesagt wurde. Diese Stimme wird nur für diese Synthese verwendet und es wird kein langfristiges Modell erstellt:
Gemessene erfolgreiche Antwort:

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

Rückgabe (gemessen):
speed größer als 1 beschleunigt, kleiner als 1 verlangsamt; volume in dB, 0 bedeutet unverändert, positive Zahlen erhöhen, negative Zahlen verringern.

Beispiel 5: Modell wechseln + Bitrate steuern

Durch den HTTP-Header model: s1 auf das stabile Modell wechseln, im Anfragekörper mp3_bitrate: 128 hinzufügen, um die MP3-Bitrate zu steuern:
Rückgabe (gemessen):

Beispiel 6: PCM Rohwelle

Für Szenarien, in denen Echtzeit-Zusammenführung im Browser oder nachträgliche Verarbeitung (Mixing, Geschwindigkeitsänderung) auf dem Client erforderlich ist, wird pcm empfohlen:
Rückgabe (gemessen):
Die Erweiterung des Links folgt dem format in der Anfrage: mp3 ergibt .mp3, wav und pcm ergeben .wav (WAV-Container, 16 Bit PCM).

Asynchrone Rückrufe (callback_url)

Die Synthese langer Texte 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 in Form von POST JSON an diese URL zurückgerufen, wobei der gleiche task_id und die endgültigen Kosten im Anfragekörper enthalten sind. Die ursprüngliche Aufgabenbestätigung zeigt an, dass die Synthese noch nicht abgeschlossen ist, daher sind keine cost enthalten.
Sofortige Rückgabe (gemessen):
Später wird callback_url eine Nachricht wie folgt erhalten:
Es kann auch die Fish Tasks API verwendet werden, um aktiv Ergebnisse nach task_id abzurufen; die endgültigen Aufzeichnungen der response.cost stimmen mit den Kosten im Rückruf überein, siehe das Dokument.

Fehlerbehandlung

  • 400 token_mismatched: Fehlende oder ungültige Anfrageparameter (am häufigsten ist text leer oder format hat einen Wert, der nicht mp3/wav/pcm ist).
  • 401 invalid_token: Authentifizierungstoken existiert nicht oder ist ungültig.
  • 429 too_many_requests: Konto-Rate-Limit überschritten.
  • 500 api_error: Interner Serverfehler.
Beispiel für eine Fehlerantwort:
Parametervalidierungsfehler werden im message-Feld beschrieben, um ungültige Felder anzugeben, zum Beispiel:

Fazit

Die minimalen Kosten für die Integration von Fish TTS sind: In bestehendem Code, der api.fish.audio/v1/tts aufruft, das Authentifizierungstoken durch das Plattform-Token zu ersetzen und im Anfragekörper explizit format: "mp3" hinzuzufügen. Für lange Textszenarien wird empfohlen, callback_url für asynchrone Rückrufe zu verwenden; zur Entdeckung von Klonstimmen reference_id sollte die Fish Model Query und Fish Model Get verwendet werden.