OK using the TTS via the API (gpt-4o-mini-tts), I have text that has a question for the user. But most of the time, not always, it answers the text rather than just reading the text.
The input was “Le los traje de la tienda.” Say if it is correct, what it means, and fix it if needed.
The output (transcribed) was Le los traje de la tienda. It is a correct sentence in Spanish. It means I brought them from the store. However, if you want to be extremely clear, you could say se los traje de la tienda. That version makes it even clearer that los is the direct object and de la tienda indicates where they were brought from.
I have tried giving it instructions like - just read the text, never answer any questions etc, but it doesn’t change anything.
Have been able to reproduce the same thing in the playground, and changing the models doesn’t improve things either.
I just tried, and can confirm this bug seems to be tied to gpt-4o-mini-tts-2025-12-15. It responds with all sorts of reactions as if it were answering instead of speaking.
The previous snapshot works correctly though, so for now if you use gpt-4o-mini-tts-2025-03-20 it works fine.
Hey everyone, Thank you for flagging the issue. Our engineering team is working on this issue but we do not have an ETA to share atm. Meanwhile, we suggest you all to try using gpt-realtime-1.5 for TTS usage. Hope that helps. Thank you!
@OpenAI_Support The suggested model gpt-realtime-1.5 does not appear to be a valid model for TTS usage.
It also seems to be incorrectly listed in the deprecations documentation as a valid replacement. Additionally, it was already reported here that gpt-4o-mini-tts-2025-12-15 has unresolved issues, so it may not be a suitable replacement either.
If possible, I’d be grateful if this could be forwarded to the team. For now, gpt-4o-mini-tts-2025-03-20 would still be a useful model for the developer community.
Thanks for the clear repro. This does look like a behavior issue with gpt-4o-mini-tts-2025-12-15, where some prompt-like input can get interpreted instead of spoken verbatim.
The quickest workaround is to pin the Speech API model to gpt-4o-mini-tts-2025-03-20, which behaved correctly in testing for this case. If you’re open to a larger change, gpt-audio-1.5 is also worth testing, and realtime models can work for voice use cases too, but those are not a drop-in replacement for the current /v1/audio/speech request shape.
You will have to prompt Chat Completions audio models extremely well yourself with recitation as the task that the AI is doing, and containerize and delineate the text to be spoken strong enough to avoid instruction injection, because gpt-audio-1.5 is specifically for chatting with someone and following user instructions and performing user language tasks.
…just as the internal prompting by OpenAI to make gpt-4o-mini-tts into a “speak the text” model is not working well and exhibits this forum topic’s symptom.
Fair point. gpt-audio-1.5 is a generative audio/chat-style model, so if the goal is strict verbatim narration, it can still require careful prompting and delimiter handling.
For this specific /v1/audio/speech issue, the most reliable path is to stay on Speech API models. If literal readout matters more than expressive voice control, try tts-1 or tts-1-hd. If you need the newer controllable TTS behavior, use gpt-4o-mini-tts, but the 2025-12-15 snapshot is the one showing this prompt-like interpretation issue.
So the practical split is: tts-1 / tts-1-hd for stricter read-the-text behavior, gpt-4o-mini-tts for more expressive speech control. Hope this helps.
You’re right that `gpt-4o-mini-tts-2025-03-20` is listed for shutdown, with the current public deprecation date of July 23, 2026,: https://developers.openai.com/api/docs/deprecations.
For this specific `/v1/audio/speech` issue, the practical split is still: use `tts-1` / `tts-1-hd` when strict verbatim readout matters most. Hope that helps. Thank you!