FishSpeech Docs
API Reference

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/v1

Authentication:

Authorization: Bearer YOUR_API_TOKEN

Machine-readable schema:

GET /api/openapi.json

Current Public Surfaces

SurfaceCurrent overseas API statusDocs
ProfilePublic v1 endpoint for account, tier, credits, and quota checksProfile
Text to SpeechPublic sync HTTP and async job endpointsSync HTTP, Async Jobs
Realtime TTSAvailability is controlled by account and product rolloutRealtime TTS
Speech to TextPublic HTTP transcription endpointSpeech to Text
Realtime ASRAvailability is controlled by account and product rolloutRealtime ASR
ImagesProduct capability page; public endpoint availability is schema-drivenImages
VideosProduct capability page; public endpoint availability is schema-drivenVideos
VoicesPublic v1 endpoints for listing, creating, and deleting voice modelsVoices
Lip SyncPublic async job endpoints for source video plus audio workflowsLip Sync
UsageAccount usage guidance; use profile today and schema for new usage endpointsUsage

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.

On this page