Skip to content

Create speech

HttpResponse audio().speech().create(SpeechCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/audio/speech

Generates audio from the input text.

ParametersExpand Collapse
SpeechCreateParams params
String input

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

maxLength4096

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

TTS_1("tts-1")
TTS_1_HD("tts-1-hd")
GPT_4O_MINI_TTS("gpt-4o-mini-tts")
GPT_4O_MINI_TTS_2025_12_15("gpt-4o-mini-tts-2025-12-15")
Voice voice

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.

ALLOY("alloy")
ASH("ash")
BALLAD("ballad")
CORAL("coral")
ECHO("echo")
SAGE("sage")
SHIMMER("shimmer")
VERSE("verse")
MARIN("marin")
CEDAR("cedar")
Optional<String> instructions

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

maxLength4096
Optional<ResponseFormat> responseFormat

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

MP3("mp3")
OPUS("opus")
AAC("aac")
FLAC("flac")
WAV("wav")
PCM("pcm")
Optional<Double> speed

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

minimum0.25
maximum4
Optional<StreamFormat> streamFormat

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

SSE("sse")
AUDIO("audio")

Create speech

package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.core.http.HttpResponse;
import com.openai.models.audio.speech.SpeechCreateParams;
import com.openai.models.audio.speech.SpeechModel;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        SpeechCreateParams params = SpeechCreateParams.builder()
            .input("input")
            .model(SpeechModel.TTS_1)
            .voice(SpeechCreateParams.Voice.ASH)
            .build();
        HttpResponse speech = client.audio().speech().create(params);
    }
}
Returns Examples