SpyBara
Go Premium

go/resources/audio/subresources/speech/index.md 2026-07-07 08:02 UTC to 2026-07-09 20:58 UTC

1 added, 3 removed.

2026
Fri 31 21:03 Thu 30 23:58 Wed 29 15:02 Sat 25 05:59 Thu 23 18:00 Wed 22 20:02 Mon 20 20:00 Fri 17 17:00 Thu 16 20:57 Wed 15 02:58 Tue 14 06:58 Mon 13 15:59 Sun 12 06:58 Fri 10 23:02 Thu 9 20:58 Tue 7 08:02

Speech

Create speech

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

post /audio/speech

Create speech

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"