post /audio/speech
Generates audio from the input text.
Returns the audio file content, or a stream of audio events.
-
input: stringThe text to generate audio for. The maximum length is 4096 characters.
-
model: string or SpeechModelOne of the available TTS models:
tts-1,tts-1-hd,gpt-4o-mini-tts, orgpt-4o-mini-tts-2025-12-15.-
string -
SpeechModel = "tts-1" or "tts-1-hd" or "gpt-4o-mini-tts" or "gpt-4o-mini-tts-2025-12-15"-
"tts-1" -
"tts-1-hd" -
"gpt-4o-mini-tts" -
"gpt-4o-mini-tts-2025-12-15"
-
-
-
voice: string or "alloy" or "ash" or "ballad" or 7 more or object { id }The voice to use when generating the audio. Supported built-in voices are
alloy,ash,ballad,coral,echo,fable,onyx,nova,sage,shimmer,verse,marin, andcedar. You may also provide a custom voice object with anid, for example{ "id": "voice_1234" }. Previews of the voices are available in the Text to speech guide.-
string -
"alloy" or "ash" or "ballad" or 7 more-
"alloy" -
"ash" -
"ballad" -
"coral" -
"echo" -
"sage" -
"shimmer" -
"verse" -
"marin" -
"cedar"
-
-
ID object { id }Custom voice reference.
-
id: stringThe custom voice ID, e.g.
voice_1234.
-
-
-
instructions: optional stringControl the voice of your generated audio with additional instructions. Does not work with
tts-1ortts-1-hd. -
response_format: optional "mp3" or "opus" or "aac" or 3 moreThe format to audio in. Supported formats are
mp3,opus,aac,flac,wav, andpcm.-
"mp3" -
"opus" -
"aac" -
"flac" -
"wav" -
"pcm"
-
-
speed: optional numberThe speed of the generated audio. Select a value from
0.25to4.0.1.0is the default. -
stream_format: optional "sse" or "audio"The format to stream the audio in. Supported formats are
sseandaudio.sseis not supported fortts-1ortts-1-hd.-
"sse" -
"audio"
-
curl https://api.openai.com/v1/audio/speech \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"input": "input",
"model": "string",
"voice": "string"
}'curl https://api.openai.com/v1/audio/speech \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini-tts",
"input": "The quick brown fox jumped over the lazy dog.",
"voice": "alloy"
}' \
--output speech.mp3curl https://api.openai.com/v1/audio/speech \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini-tts",
"input": "The quick brown fox jumped over the lazy dog.",
"voice": "alloy",
"stream_format": "sse"
}'