POST https://api.acedata.cloud/fish/tts.
Ansökningsprocess
För att använda Fish TTS API, gå först till Ace Data Cloud-konsolen för att hämta din API-token och spara den för senare användning.
Om du ännu inte har loggat in eller registrerat dig omdirigeras du automatiskt till inloggningssidan, där du uppmanas att registrera dig och logga in. När detta är klart återgår du automatiskt till den aktuella sidan.
En API-token kan användas för att anropa alla plattformens tjänster, utan att behöva ansöka separat för varje tjänst. Vid första ansökan får du en kostnadsfri kvot för gratis testning; när kvoten inte räcker till kan du fylla på det gemensamma saldot i konsolen.
📘 Fullständig dokumentation: Fish TTS API →
Begärandehuvuden
Fält i begärandetexten
Engångskloning accepterar endast HTTPS-ljud-URL:er och accepterar inte MessagePack, Base64, data-URI:er eller URL:er med autentiseringsuppgifter. Referensljud rekommenderas vara 10–270 sekunder; Studio använder det mer konservativa intervallet 10–60 sekunder.
Exempel 1: Minimal begäran (text + format=mp3)
audio_url pekar på denna plattforms CDN och kan laddas ned direkt med GET eller spelas upp i <audio>. Det slutliga lyckade svaret returnerar också cost på toppnivå, där amount är de Credits som faktiskt dras för denna gång; om det finns ett kontorabatt anger list_amount kvoten före rabatt. Länken fungerar långsiktigt, men det rekommenderas ändå att du sparar en kopia i din egen lagring.
Exempel 2: Använd klonad röst reference_id
Nedan används en offentlig spansk röst på Fish-plattformen (_id kan hämtas via Fish Model Query):
Exempel 3: Engångskloning av röst i realtid (references)
Placera referensljudet på en offentlig HTTPS-adress och ange den exakta originaltext som faktiskt sägs i det. Denna röst används endast för denna syntes och skapar ingen långsiktig modell:
Exempel 3: Justera talhastighet / volym (prosody)
speed större än 1 ökar hastigheten, mindre än 1 sänker den; enheten för volume är dB, 0 innebär ingen förändring, positiva värden ökar och negativa värden dämpar.
Exempel 5: Byt modell + kontrollera bithastighet
Byt till den stabila modellen via HTTP-huvudetmodel: s1, och lägg till mp3_bitrate: 128 i begärandetexten för att styra MP3-bithastigheten:
Exempel 6: PCM-råvågform
För scenarier där realtidssammanslagning behöver göras i webbläsaren, eller efterföljande bearbetning behöver göras på klienten (mixning, hastighetsändring), rekommenderaspcm:
Länkens filändelse följerformati begäran:mp3ger.mp3, medanwavochpcmger.wav(WAV-behållare, 16-bitars PCM).
Asynkront återanrop (callback_url)
Syntes av lång text kan ta från drygt tio sekunder till flera tiotals sekunder, och om anslutningen avbryts behöver den göras om. Efter att callback_url skickats i begärandetexten returnerar gränssnittet omedelbart {task_id, started_at}. När uppströmsprocessen verkligen är klar återanropas den URL:en med det fullständiga resultatet som POST JSON, med samma task_id och toppnivå-cost för den slutliga debiteringen för denna gång i begärandetexten. Den initiala uppgiftsbekräftelsen har ännu inte slutfört syntesen och innehåller därför inte cost.
callback_url att ta emot något i stil med:
task_id; response.cost i slutstatusposten överensstämmer med cost i återanropet, se den dokumentationen för detaljer.
Felhantering
400 token_mismatched: Begärandeparametrar saknas eller är ogiltiga (vanligast är atttextär tom, eller attformathar ett annat värde änmp3/wav/pcm).401 invalid_token: Auktoriseringstoken finns inte eller är ogiltig.429 too_many_requests: Kontots hastighetsgräns har utlösts.500 api_error: Internt serverfel.
message, till exempel:
Slutsats
Den minsta kostnaden för att integrera Fish TTS är att i befintlig kod som anroparapi.fish.audio/v1/tts byta autentisering till denna plattforms token och uttryckligen inkludera format: "mp3" i begärandetexten. För scenarier med lång text rekommenderas asynkront återanrop med callback_url; för att hitta den klonade röstens reference_id, använd Fish Model Query tillsammans med Fish Model Get.
