DEV Community

Swift Labs
Swift Labs

Posted on Originally published at tts.deadlinkpatrol.com

tts-1-hd replacement: what to use after OpenAI shuts it down on Jan 6, 2027

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-hd with a shutdown date of Jan 6, 2027 and gpt-realtime-2.1-mini as the recommended replacement.
  • OpenAI's text-to-speech guide says this is a change of API workflow: gpt-realtime-2.1-mini isn't a supported model for /v1/audio/speech. Existing Speech API integrations can keep working until shutdown.
  • The same guide describes tts-1 as lower latency but lower quality than tts-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*" .
Enter fullscreen mode Exit fullscreen mode

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")
Enter fullscreen mode Exit fullscreen mode

Be clear on what you get:

  • MeloTTS; no separate HD tier, so compare samples. On TTS Swap, tts-1-hd gives the same output as tts-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). pcm gives raw 24 kHz 16-bit mono. opus, aac and flac return a 400 error.
  • speed is 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

— 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)