Originally published at tts.deadlinkpatrol.com. Facts checked November 8, 2026.
From Swift Labs, makers of TTS Swap. Written with AI help and checked against OpenAI's docs and our own service on November 8, 2026. Not affiliated with or endorsed by OpenAI.
Short answer: OpenAI shuts down tts-1-hd on January 6, 2027, along with tts-1 and gpt-4o-mini-tts. The replacement OpenAI lists is gpt-realtime-2.1-mini, which runs on the Realtime API, not on /v1/audio/speech. If you picked tts-1-hd for its voice quality, compare samples from OpenAI's Realtime API and other providers against your current output. TTS Swap keeps your /v1/audio/speech code running; it uses MeloTTS, with no separate HD tier, so compare samples.
What OpenAI says
- OpenAI's deprecations page (entry "2026-10-01: Text-to-speech models") lists
tts-1-hdwith a shutdown date of Jan 6, 2027 andgpt-realtime-2.1-minias the recommended replacement. - OpenAI's text-to-speech guide says this is a change of API workflow:
gpt-realtime-2.1-miniisn't a supported model for/v1/audio/speech. Existing Speech API integrations can keep working until shutdown. - The same guide describes
tts-1as lower latency but lower quality thantts-1-hd. That quality gap is why people chose HD, and it's what to check in any replacement.
So you can't just swap the model name from tts-1-hd to gpt-realtime-2.1-mini in audio.speech.create. That call isn't supported.
Find where you use it
grep -rnE "tts-1-hd" --include="*.py" --include="*.js" --include="*.ts" --include="*.env*" .
Check config files and environment variables too. The model name is often stored outside the code.
Your options
| Option | Keeps /v1/audio/speech code |
Voice quality | Work involved |
|---|---|---|---|
OpenAI Realtime API (gpt-realtime-2.1-mini) |
No | OpenAI voices | Rewrite to sessions and streamed events |
| Another speech provider with its own API | Usually no | Varies; compare samples | New client code, new voices |
| An OpenAI-compatible speech server (hosted or self-hosted) | Yes | Varies by model | Change the base URL and API key |
| TTS Swap | Yes | MeloTTS, one voice per language; no separate HD tier, so compare samples | Change the base URL and API key |
If you chose tts-1-hd for how it sounds, compare samples from the Realtime API and other providers against your current output before you decide. Quality varies, and only your own listening test can tell you whether a replacement works for you.
If you mostly need the code to keep working (internal tools, prototypes, accessibility read-aloud, batch narration where voice quality matters less), an OpenAI-compatible endpoint is the least work.
Using TTS Swap with tts-1-hd code
TTS Swap answers the same /v1/audio/speech request. Change the base URL and API key; your calls can keep model="tts-1-hd".
from openai import OpenAI
client = OpenAI(base_url="https://tts.deadlinkpatrol.com/v1", api_key="sk-tts-…")
client.audio.speech.create(model="tts-1-hd", voice="alloy", input="Hello", response_format="wav").write_to_file("hello.wav")
Be clear on what you get:
-
MeloTTS; no separate HD tier, so compare samples. On TTS Swap,
tts-1-hdgives the same output astts-1. - The voice won't sound like OpenAI's. Audio comes from the open-source MeloTTS model, with one voice per language. Every voice name gets that same voice.
-
WAV comes back even when you ask for mp3 (the default).
pcmgives raw 24 kHz 16-bit mono. opus, aac and flac return a 400 error. -
speedis accepted but not applied yet. -
Languages: English by default; es, fr, zh, ja or ko via
extra_body={"language":"es"}. - Limits: up to 4,096 characters per request. Paid keys are $19/month for 1,000,000 characters a month, 20 requests per minute per key. A shared daily capacity cap applies to the whole service. Over a limit you get an OpenAI-style 429.
- Free key: 10,000 characters a month, 5 requests per minute, email only, no card. Free keys share a daily capacity limit, so on busy days they may get a 429 until 00:00 UTC.
Listen to the unedited samples on the home page before you decide.
FAQ
When does tts-1-hd stop working?
January 6, 2027, according to OpenAI's deprecations page.
Can I just change tts-1-hd 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.
Is there an HD version on TTS Swap?
No. tts-1-hd is accepted as a model name, but it produces the same MeloTTS audio as tts-1. There's no separate HD tier, so compare samples.
Can I move back later?
Before January 6, 2027, yes: change the base URL and API key back to OpenAI's and keep using tts-1-hd. After that date, tts-1-hd is gone, so moving back means a supported OpenAI model and API workflow (such as gpt-realtime-2.1-mini on the Realtime API), 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
- Get a free key or a paid key ($19/month) on the home page.
- Copy-paste snippets: the tts-1 migration guide.
- Keeping the rest of your setup safe: Using OPENAI_BASE_URL to move text-to-speech off tts-1.
— Swift Labs. Migration guide: https://tts.deadlinkpatrol.com/migrate/tts-1?utm_source=devto&utm_medium=crosspost&utm_campaign=tts-1-hd-replacement
Top comments (0)