TTS Swap · Migration guide: tts-1 · gpt-4o-mini-tts · curl · Node · Python · tts-1 shutdown facts · free key

Migrating off OpenAI tts-1 and gpt-4o-mini-tts

Source: OpenAI's deprecations page, entry "2026-10-01: Text-to-speech models", lists tts-1, tts-1-hd and both gpt-4o-mini-tts snapshots (gpt-4o-mini-tts-2025-03-20, gpt-4o-mini-tts-2025-12-15) with a shutdown date of Jan 6, 2027 and gpt-realtime-2.1-mini as the recommended replacement. Checked 2026-11-02.

ModelShutdown (per OpenAI)OpenAI's replacement
tts-1Jan 6, 2027gpt-realtime-2.1-mini
tts-1-hdJan 6, 2027gpt-realtime-2.1-mini
gpt-4o-mini-tts (both snapshots)Jan 6, 2027gpt-realtime-2.1-mini

Find every call site

grep -rnE "audio\.speech|tts-1|gpt-4o-mini-tts|/v1/audio/speech" --include=*.{py,js,ts,go,rb} .

OpenAI's deprecations page also says GET /v1/models returns an optional shutdown_date field per model, so you can check programmatically.

Your three options

  1. OpenAI's path: gpt-realtime-2.1-mini on the Realtime API. This is a different workflow (a session over WebSocket/WebRTC with streamed audio events), not a model-name swap on /v1/audio/speech. It is a conversational model, so test that it reads your text exactly.
  2. Another OpenAI-compatible /v1/audio/speech provider or a self-hosted server. Usually a base_url + key change. Check output format, voices, speed, error shapes and data handling.
  3. TTS Swap (this site): same request shape, change base_url and key. Honest differences: one MeloTTS voice per language (voice names all map to it), audio comes back as WAV even if you ask for mp3, speed is accepted but not applied. Details on the home page.

Snippets

curl · Node · Python

Try it free

Get a free key on the home page (10,000 characters a month, no card), then run one of the snippets above.

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