Skip to content
Primary navigation

Create speech

audio.speech.create(SpeechCreateParams**kwargs) -> BinaryResponseContent
POST/audio/speech

Generates audio from the input text.

Returns the audio file content, or a stream of audio events.

ParametersExpand Collapse
input: str

The text to generate audio for. The maximum length is 4096 characters.

maxLength4096
model: Union[str, SpeechModel]

One of the available TTS models: tts-1, tts-1-hd, gpt-4o-mini-tts, or gpt-4o-mini-tts-2025-12-15.

Accepts one of the following:
str
Literal["tts-1", "tts-1-hd", "gpt-4o-mini-tts", "gpt-4o-mini-tts-2025-12-15"]
Accepts one of the following:
"tts-1"
"tts-1-hd"
"gpt-4o-mini-tts"
"gpt-4o-mini-tts-2025-12-15"
voice: Union[str, Literal["alloy", "ash", "ballad", 7 more]]

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, and cedar. Previews of the voices are available in the Text to speech guide.

Accepts one of the following:
str
Literal["alloy", "ash", "ballad", 7 more]

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, and cedar. Previews of the voices are available in the Text to speech guide.

Accepts one of the following:
"alloy"
"ash"
"ballad"
"coral"
"echo"
"sage"
"shimmer"
"verse"
"marin"
"cedar"
instructions: Optional[str]

Control the voice of your generated audio with additional instructions. Does not work with tts-1 or tts-1-hd.

maxLength4096
response_format: Optional[Literal["mp3", "opus", "aac", 3 more]]

The format to audio in. Supported formats are mp3, opus, aac, flac, wav, and pcm.

Accepts one of the following:
"mp3"
"opus"
"aac"
"flac"
"wav"
"pcm"
speed: Optional[float]

The speed of the generated audio. Select a value from 0.25 to 4.0. 1.0 is the default.

minimum0.25
maximum4
stream_format: Optional[Literal["sse", "audio"]]

The format to stream the audio in. Supported formats are sse and audio. sse is not supported for tts-1 or tts-1-hd.

Accepts one of the following:
"sse"
"audio"
ReturnsExpand Collapse
BinaryResponseContent

Create speech

from pathlib import Path
import openai

speech_file_path = Path(__file__).parent / "speech.mp3"
with openai.audio.speech.with_streaming_response.create(
  model="gpt-4o-mini-tts",
  voice="alloy",
  input="The quick brown fox jumped over the lazy dog."
) as response:
  response.stream_to_file(speech_file_path)
Returns Examples