Skip to main content
Detta gränssnitt är baserat på Fish Audio officiella TTS API, med skillnader endast i autentiseringsmetod (användning av token från denna plattform) och asynkron callback (callback_url-utvidgning), begärningskroppens struktur är densamma som upstream. Adressen är POST https://api.acedata.cloud/fish/tts.

Ansökningsprocess

För att använda Fish TTS API, börja med att gå till Ace Data Cloud-konsolen för att hämta din API-token, som du kan spara för framtida bruk. Om du inte är inloggad eller registrerad kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in, och efter att ha slutfört detta kommer du automatiskt att återvända till den aktuella sidan. En API-token räcker för att anropa alla tjänster på plattformen, det behövs ingen separat ansökan för varje tjänst. Första ansökan ger en gratis kvot för att prova; om kvoten är otillräcklig kan du ladda på allmän balans i konsolen.
📘 Fullständig dokumentation: Fish TTS API →

Begärningshuvud

Begärningskroppsfält

Fältnamn är helt identiska med upstream. Förutom callback_url hänvisar övriga fält till Fish officiella TTS-dokumentation.

Exempel 1: Minsta begäran (text + format=mp3)

Svar (testat):
audio_url pekar på plattformens CDN, kan direkt GET-ladda ner eller spelas i <audio>. Länken är långvarig, men det rekommenderas fortfarande att spara en kopia i din egen lagring.

Exempel 2: Använda klonad röst reference_id

Nedan används en offentlig spansktalande röst på Fish-plattformen (_id kan hämtas via Fish Model Query):
Svar (testat):

Exempel 3: Justera talhastighet / volym (prosody)

Svar (testat):
speed större än 1 ökar hastigheten, mindre än 1 sänker den; volume enhet dB, 0 betyder oförändrad, positiva värden ökar, negativa värden minskar.

Exempel 4: Byta modell + kontrollera bitrate

Genom HTTP-huvudet model: s1 byter vi till den stabila modellen, lägg till mp3_bitrate: 128 i begärningskroppen för att kontrollera MP3-bitraten:
Återkomst (verklig mätning):

Exempel 5: PCM råvågform

Behöver göra realtidskoppling i webbläsaren, eller göra efterbehandling (mixning, hastighetsändring) på klienten, rekommenderas att använda pcm:
Återkomst (verklig mätning):
Länkens filändelse följer begäran i format: mp3 ger .mp3, wav och pcm ger .wav (WAV-container, 16 bit PCM).

Asynkron återkoppling (callback_url)

Långa texter kan ta flera sekunder till flera minuter att sammanfoga, om anslutningen bryts behöver den försöka igen. När callback_url skickas i begäran kommer gränssnittet omedelbart att returnera {task_id, started_at}, när den verkliga uppgiften är klar kommer det kompletta resultatet att återkopplas till den URL:en i POST JSON-format, med samma task_id i begäran.
Omedelbar återkomst (verklig mätning):
Senare kommer callback_url att ta emot något som:
Det går också att använda Fish Tasks API för att aktivt hämta resultatet med task_id, se den dokumentationen för mer information.

Felhantering

  • 400 token_mismatched: Begärningsparametrar saknas eller är ogiltiga (vanligast är att text är tom, eller att format har ett värde utöver mp3/wav/pcm).
  • 401 invalid_token: Autentiseringstoken finns inte eller är ogiltig.
  • 429 too_many_requests: Utlöst konto hastighetsbegränsning.
  • 500 api_error: Intern serverfel.
Exempel på felrespons:
Parametervalideringsfel kommer att placera den ursprungliga pydantic-felmeddelandet från upstream i message-fältet, vilket underlättar att lokalisera vilket fält som är ogiltigt, till exempel:

Slutsats

Den minimi kostnaden för att integrera Fish TTS är: att i den befintliga koden som anropar api.fish.audio/v1/tts byta autentisering till plattformens token och i begäran uttryckligen inkludera format: "mp3". För långa textscenarier rekommenderas att använda callback_url för asynkron återkoppling; för att upptäcka klonade röster reference_id, vänligen kombinera med Fish Model Query och Fish Model Get.