transcribe-1. That includes requests you did not explicitly send to transcribe-1:
POST /v1/asrrequests with nomodelheader, or with a value that is not an exact, lowercase match, such asTranscribe-1-Pro.- The Python and JavaScript SDKs, when you don’t set the
modelheader. - The OpenAI-, Groq-, and OpenRouter-compatible transcription endpoints, with
fish-audio/transcribe-1or an alias such aswhisper-1,gpt-4o-transcribe, orwhisper-large-v3. - The ElevenLabs-compatible speech-to-text endpoint, which ignores
model_id. - OpenAI Realtime-compatible transcription sessions opened with
?intent=transcriptionand nomodel, or withfish-audio/transcribe-1.
What is changing
transcribe-1 is deprecated and will be retired on December 31, 2026. After that date, every request that transcribe-1 serves today is served by transcribe-1-pro. Requests keep working, and no error is returned.
We recommend that you switch to transcribe-1-pro before then, so you can test your transcripts on your own schedule.
What happens if you do nothing
After December 31, 2026, your requests are served bytranscribe-1-pro and billed as transcribe-1-pro. Both models cost $0.36 / audio hour, so your cost does not change. See Pricing & Rate Limits.
Your transcripts can still change, because transcribe-1-pro returns more than transcribe-1 by default:
textcan include speaker markers such as<|speaker:0|>when more than one person speaks.textcan include emotion and vocal-event cues such as[laughter].- With timestamps requested, the response also includes
speaker_turns. - Error bodies add
codeandrequest_idtostatusandmessage.
Migrate to transcribe-1-pro
Send the model header
Select the model with the model HTTP header, and send model: transcribe-1-pro, in lowercase, with every request. model is not a form or body field.
Keep plain transcripts, if you need them
If your code expectstext without speaker markers or event cues, send diarize=false and tag_audio_events=false:
diarize or tag_audio_events. If you need plain transcripts, call POST /v1/asr directly, as above, or remove the markers and cues from text in your code.
To use the speaker markers instead, see Multi-speaker conversations and Emotion and vocal-event cues.
If you use a compatible endpoint
The OpenAI-, Groq-, OpenRouter-, and ElevenLabs-compatible endpoints, and OpenAI Realtime-compatible transcription sessions, keep working after December 31, 2026, and their requests are served bytranscribe-1-pro. You don’t need to change the model name you send.
These endpoints don’t accept diarize or tag_audio_events. If your application needs plain transcripts, or you want to control speaker markers and event cues, move to the native Speech to Text API with model: transcribe-1-pro, and test before December 31, 2026.
Check your error handling
transcribe-1-pro errors are JSON with status, message, code, and request_id. Code that reads only status and message keeps working; to branch on the cause, use code. See Errors.
Support
Need help? Check out these resources:- API Reference - Complete API documentation
- Create a Voice Clone - Create a voice clone model
- Generate Speech - Generate realistic speech
- Real-time Streaming - WebSocket for real-time streaming
- Discord Community - Get help from the community
- Support Email - Contact our support team

