TTS Swap › Guides

gpt-4o-mini-tts replacement: what to use after January 6, 2027

From Swift Labs, makers of TTS Swap. Written with AI help and checked against OpenAI's docs, OpenAI's community forum and our own service on November 9, 2026. Not affiliated with OpenAI.

Short answer: OpenAI shuts down gpt-4o-mini-tts on January 6, 2027, along with tts-1 and tts-1-hd. The replacement OpenAI lists is gpt-realtime-2.1-mini, which runs on the Realtime API, not on /v1/audio/speech. If your code only needs text in and audio out, an OpenAI-compatible endpoint keeps your audio.speech.create call running. TTS Swap does that, but it does not apply the instructions parameter, so tone and style prompts have no effect there.

What OpenAI says

So you can't just change gpt-4o-mini-tts to gpt-realtime-2.1-mini in audio.speech.create. That call isn't supported.

Find where you use it

grep -rnE "gpt-4o-mini-tts|instructions=" --include="*.py" --include="*.js" --include="*.ts" --include="*.env*" .

Check config files and environment variables too. The model name is often stored outside the code, and instructions is easy to miss.

Your options

Option Keeps /v1/audio/speech code instructions (tone, style) Work involved
OpenAI Realtime API (gpt-realtime-2.1-mini) No session.instructions / response.instructions; test that it reads your text exactly Rewrite to sessions and streamed events
Another speech provider with its own API Usually no Varies New client code, new voices
An OpenAI-compatible speech server (hosted or self-hosted) Yes Varies by server; check Change the base URL and API key
TTS Swap Yes Not applied Change the base URL and API key

If you rely on instructions to set tone, accent or pacing, TTS Swap is not a match. Compare the Realtime API and other providers against your current output.

If you pass instructions but could live without it (internal tools, prototypes, accessibility read-aloud, batch narration), an OpenAI-compatible endpoint is the least work.

Using TTS Swap with gpt-4o-mini-tts code

TTS Swap answers the same /v1/audio/speech request. Change the base URL and API key; your calls can keep model="gpt-4o-mini-tts".

from openai import OpenAI

client = OpenAI(base_url="https://tts.deadlinkpatrol.com/v1", api_key="sk-tts-…")
client.audio.speech.create(model="gpt-4o-mini-tts", voice="alloy", input="Hello", response_format="wav").write_to_file("hello.wav")

Be clear on what you get:

Listen to the unedited samples on the home page before you decide.

FAQ

When does gpt-4o-mini-tts stop working? January 6, 2027, according to OpenAI's deprecations page.

Can I just change gpt-4o-mini-tts to gpt-realtime-2.1-mini? No. OpenAI's guide says gpt-realtime-2.1-mini isn't supported on /v1/audio/speech. It needs the Realtime API.

Does TTS Swap support the instructions parameter? No. The field is ignored, so the output doesn't change with it.

Can I move back later? Before January 6, 2027, yes: change the base URL and API key back to OpenAI's and keep using gpt-4o-mini-tts. After that date, gpt-4o-mini-tts is gone, so moving back means a supported OpenAI model and API workflow, or another compatible provider with that provider's matching key. Always change the URL and key together; a URL without its matching key fails with a 401.

Next steps

TTS Swap by Swift Labs. Written with AI help. Not affiliated with OpenAI. · Terms · Privacy · Manage or cancel subscription