SpyBara
Go Premium

go/resources/audio/subresources/speech/index.md 2026-06-10 15:48 UTC to 2026-06-12 00:01 UTC

152 added, 0 removed.

2026
Fri 26 17:57 Thu 25 20:59 Wed 24 22:02 Tue 23 22:00 Wed 17 18:02 Tue 16 21:57 Fri 12 00:01 Wed 10 15:48 Tue 9 06:34 Fri 5 06:45 Thu 4 06:52 Tue 2 06:51

Speech

Create speech

client.Audio.Speech.New(ctx, body) (*Response, error)

post /audio/speech

Generates audio from the input text.

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

Parameters

  • body AudioSpeechNewParams

    • Input param.Field[string]

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

    • Model param.Field[SpeechModel]

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

      • string

      • type SpeechModel string

        • const SpeechModelTTS1 SpeechModel = "tts-1"

        • const SpeechModelTTS1HD SpeechModel = "tts-1-hd"

        • const SpeechModelGPT4oMiniTTS SpeechModel = "gpt-4o-mini-tts"

        • const SpeechModelGPT4oMiniTTS2025_12_15 SpeechModel = "gpt-4o-mini-tts-2025-12-15"

    • Voice param.Field[AudioSpeechNewParamsVoiceUnion]

      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. You may also provide a custom voice object with an id, for example { "id": "voice_1234" }. Previews of the voices are available in the Text to speech guide.

      • string

      • type AudioSpeechNewParamsVoiceString2 string

        • const AudioSpeechNewParamsVoiceString2Alloy AudioSpeechNewParamsVoiceString2 = "alloy"

        • const AudioSpeechNewParamsVoiceString2Ash AudioSpeechNewParamsVoiceString2 = "ash"

        • const AudioSpeechNewParamsVoiceString2Ballad AudioSpeechNewParamsVoiceString2 = "ballad"

        • const AudioSpeechNewParamsVoiceString2Coral AudioSpeechNewParamsVoiceString2 = "coral"

        • const AudioSpeechNewParamsVoiceString2Echo AudioSpeechNewParamsVoiceString2 = "echo"

        • const AudioSpeechNewParamsVoiceString2Sage AudioSpeechNewParamsVoiceString2 = "sage"

        • const AudioSpeechNewParamsVoiceString2Shimmer AudioSpeechNewParamsVoiceString2 = "shimmer"

        • const AudioSpeechNewParamsVoiceString2Verse AudioSpeechNewParamsVoiceString2 = "verse"

        • const AudioSpeechNewParamsVoiceString2Marin AudioSpeechNewParamsVoiceString2 = "marin"

        • const AudioSpeechNewParamsVoiceString2Cedar AudioSpeechNewParamsVoiceString2 = "cedar"

      • type AudioSpeechNewParamsVoiceID struct{…}

        Custom voice reference.

        • ID string

          The custom voice ID, e.g. voice_1234.

    • Instructions param.Field[string]

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

    • ResponseFormat param.Field[AudioSpeechNewParamsResponseFormat]

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

      • const AudioSpeechNewParamsResponseFormatMP3 AudioSpeechNewParamsResponseFormat = "mp3"

      • const AudioSpeechNewParamsResponseFormatOpus AudioSpeechNewParamsResponseFormat = "opus"

      • const AudioSpeechNewParamsResponseFormatAAC AudioSpeechNewParamsResponseFormat = "aac"

      • const AudioSpeechNewParamsResponseFormatFLAC AudioSpeechNewParamsResponseFormat = "flac"

      • const AudioSpeechNewParamsResponseFormatWAV AudioSpeechNewParamsResponseFormat = "wav"

      • const AudioSpeechNewParamsResponseFormatPCM AudioSpeechNewParamsResponseFormat = "pcm"

    • Speed param.Field[float64]

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

    • StreamFormat param.Field[AudioSpeechNewParamsStreamFormat]

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

      • const AudioSpeechNewParamsStreamFormatSSE AudioSpeechNewParamsStreamFormat = "sse"

      • const AudioSpeechNewParamsStreamFormatAudio AudioSpeechNewParamsStreamFormat = "audio"

Returns

  • type AudioSpeechNewResponse interface{…}

Example

package main

import (
  "context"
  "fmt"

  "github.com/openai/openai-go"
  "github.com/openai/openai-go/option"
)

func main() {
  client := openai.NewClient(
    option.WithAPIKey("My API Key"),
  )
  speech, err := client.Audio.Speech.New(context.TODO(), openai.AudioSpeechNewParams{
    Input: "input",
    Model: openai.SpeechModelTTS1,
    Voice: openai.AudioSpeechNewParamsVoiceUnion{
      OfAudioSpeechNewsVoiceString2: openai.String("alloy"),
    },
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", speech)
}

Domain Types

Speech Model

  • type SpeechModel string

    • const SpeechModelTTS1 SpeechModel = "tts-1"

    • const SpeechModelTTS1HD SpeechModel = "tts-1-hd"

    • const SpeechModelGPT4oMiniTTS SpeechModel = "gpt-4o-mini-tts"

    • const SpeechModelGPT4oMiniTTS2025_12_15 SpeechModel = "gpt-4o-mini-tts-2025-12-15"