Three OpenAI speech models to be discontinued, AssemblyAI offers migration path

OpenAI will remove the tts-1, tts-1-hd and gpt-4o-mini-tts models from its API on January 6, 2027. AssemblyAI says developers using the OpenAI SDK can switch to its speech service by changing the base URL and key.
- OpenAI will shut down the tts-1, tts-1-hd and gpt-4o-mini-tts models on January 6, 2027.
- The gpt-realtime-2.1-mini recommended by OpenAI requires a different API workflow.
- AssemblyAI can be used with its own base URL and API key while retaining the OpenAI SDK.
- AssemblyAI-TTS-1 offers models for six languages and costs $15 per 1 million characters.
- During migration, formats, speed, instructions and voice-name behavior may also differ.
Three affected models to be shut down in January
OpenAI published its deprecation notice on October 1. The tts-1, tts-1-hd, and March 20, 2025 and December 15, 2025 versions of gpt-4o-mini-tts will be shut down on January 6, 2027.
OpenAI's deprecation page identifies the gpt-realtime-2.1-mini model as the successor. AssemblyAI points out, however, that according to OpenAI's own text-to-speech guide, this model is not supported on the /v1/audio/speech endpoint. Using the Realtime API would therefore require a different workflow, with sessions and events instead of per-utterance HTTP requests.
The OpenAI SDK can be retained
AssemblyAI's compatibility route uses the same POST /audio/speech request format on its own base URL. Developers can keep using the OpenAI SDK and change the base URL, API key and model name when initializing the client.
The US data-handling zone uses https://tts.us.assemblyai.com/v1/openai, while the European zone uses https://tts.eu.assemblyai.com/v1/openai. AssemblyAI's examples use the assemblyai-tts-en model. The service offers models for English, Spanish, French, German, Italian and Portuguese, with thousands of available voices, according to AssemblyAI.
According to the provider, AssemblyAI-TTS-1 is designed for conversational voice agents and focuses on details such as confirmation codes, prices, dates and names. The price is $15 per 1 million characters, with billing based on input characters. The service offers unlimited concurrency.
Models, voices and compatibility differences
OpenAI model names cannot be transferred directly. If a developer continues sending, for example, the tts-1 name, they will receive a 400 model_not_found error. Available model names include assemblyai-tts-en, assemblyai-tts-es, assemblyai-tts-de, assemblyai-tts-it, assemblyai-tts-pt and assemblyai-tts-fr, as well as the language-neutral assemblyai-tts-1.
For English, AssemblyAI voices can be mapped to OpenAI voice names. For example, alloy maps to aai-jane, echo to aai-paul, and nova to aai-eve. This mapping applies only to English. In other languages, all these names use the aai-jane voice. For agents in other languages, developers must provide a language-specific voice slug or UUID.
AssemblyAI's compatibility route accepts MP3, PCM, WAV, mulaw and alaw formats. Opus, aac and flac are not supported. Only a value of 1 is supported for speed, and the service ignores the instructions field. Input length can range from 1 to 5000 Unicode code points, while responses provide character-based usage data rather than token statistics.
What does this mean for developers?
According to AssemblyAI's documentation, the migration requires most integrations to change two client settings, the base URL and API key, along with the model name. In the Python and JavaScript examples, the rest of the request remains unchanged.
Before migrating, developers should check the voices, formats, speed settings and instructions field they use. The service's model list can be queried without a key at the /v1/openai/models endpoint. AssemblyAI says voice migration checks are also supported by response headers containing the identifier of the voice currently in use.
