Speech to Text
Transcribe audio through the Open API.
CN API paths use a separate contract
This English reference describes the global FishAudio Open API. For Kitta Audio China integrations, use the CN API Reference, API Playground, and API Keys in this site.
Speech to Text
Speech to Text converts an audio URL into text and optional segment metadata. Use it for uploaded audio, call recordings, creator workflows, and backend transcription jobs.
POST /api/open/v1/speech/transcriptions
Authorization: Bearer FISHSPEECH_API_KEY
Content-Type: application/jsonRequest
{
"audioUrl": "https://example.com/audio.mp3",
"language": "en"
}audioUrl must be reachable by the API service. If your files are private, generate a short-lived signed URL that remains valid long enough for processing. language is optional. Use a language hint such as en, zh, or ru when you know the source language.
curl https://fishaudio.org/api/open/v1/speech/transcriptions \
-H "Authorization: Bearer FISHSPEECH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"audioUrl":"https://example.com/audio.mp3","language":"en"}'Response
{
"text": "This is the transcription result.",
"duration": 12.4,
"segments": [],
"credits_used": 13,
"quota_remaining": 987987
}Segment shape can vary by model and account capability. Your parser should treat segment metadata as optional and use text as the primary result.
Billing And Credits
Transcription typically charges by audio duration. Validate file duration on your side when possible, especially before submitting user-uploaded recordings. If your product allows many uploads at once, queue jobs and check account balance between batches.
When a request fails before audio processing starts, credits should not be treated the same as a completed transcription. Use response fields and profile checks for operational reconciliation.
Errors
| Status | Meaning | Action |
|---|---|---|
400 | Invalid URL, unsupported audio, or malformed JSON | Fix the request |
401 | API key is missing or invalid | Refresh credentials |
402 | Credits or quota are insufficient | Stop the batch |
422 | Audio was reachable but could not be processed | Ask the user for a different file |
500 | Transcription service failed | Retry with backoff if the URL remains valid |
Continue with runnable API checks
Docs and executable requests stay in the same CN-site surface. After reading the reference, open the API Playground for curl examples or manage API keys in the developer workspace.