API Reference
FishSpeech Open API endpoint reference.
API Reference
The FishSpeech Open API is the server-side interface for production audio workflows. Use it when your product needs text to speech, speech to text, voice management, or lip-sync automation without relying on the web console.
Base URL:
https://fishaudio.org/api/open/v1Authentication:
Authorization: Bearer YOUR_API_TOKENMachine-readable schema:
GET /api/openapi.jsonCurrent Public Surfaces
| Surface | Current overseas API status | Docs |
|---|---|---|
| Profile | Public v1 endpoint for account, tier, credits, and quota checks | Profile |
| Text to Speech | Public sync HTTP and async job endpoints | Sync HTTP, Async Jobs |
| Realtime TTS | Availability is controlled by account and product rollout | Realtime TTS |
| Speech to Text | Public HTTP transcription endpoint | Speech to Text |
| Realtime ASR | Availability is controlled by account and product rollout | Realtime ASR |
| Images | Product capability page; public endpoint availability is schema-driven | Images |
| Videos | Product capability page; public endpoint availability is schema-driven | Videos |
| Voices | Public v1 endpoints for listing, creating, and deleting voice models | Voices |
| Lip Sync | Public async job endpoints for source video plus audio workflows | Lip Sync |
| Usage | Account usage guidance; use profile today and schema for new usage endpoints | Usage |
Request Model
All requests should be made from your server. Browser clients and mobile apps should call your own backend first, then your backend calls the Open API with the token.
curl https://fishaudio.org/api/open/v1/profile \
-H "Authorization: Bearer YOUR_API_TOKEN"Use JSON for most endpoints. Voice creation may use multipart form data when the enabled provider requires reference audio. Binary audio responses are used by sync TTS when you request direct audio instead of cached metadata.
Response Model
Successful responses are endpoint-specific. Async endpoints return job or task objects that your application should poll until a terminal status is reached. Sync media endpoints may return binary data or JSON metadata depending on request options.
Errors use a JSON body:
{
"code": "invalid_request",
"message": "The request payload is invalid.",
"requestId": "req_xxx"
}Log requestId when it is present. It is the fastest way for support to trace a failed request.
Billing And Credits
Open API calls consume account credits or API quota according to the endpoint and enabled model. Some endpoints charge when a task is accepted; others charge when media generation succeeds. Your integration should display a clear retry state and should not assume that every failed request costs credits.
For balance-sensitive workflows, call Profile before starting large batches and after important jobs complete. Long-running jobs should also persist the returned task id so you can recover from client restarts without creating duplicate work.
Compatibility
Legacy Open API paths remain available during the compatibility window, but new integrations should use /api/open/v1. The migration guide lists known path replacements and rollout order.
The overseas docs intentionally do not use the CN current paths. If you are integrating the global site, follow the paths under https://fishaudio.org/api/open/v1 and confirm new surfaces with GET /api/openapi.json.