Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation
Theme

Audio

Models
Literal["whisper-1", "gpt-transcribe", "gpt-4o-transcribe", 3 more]
Literal["json", "text", "srt", 3 more]

The format of the output, in one of these options: json, text, srt, verbose_json, vtt, or diarized_json. For gpt-4o-transcribe and gpt-4o-mini-transcribe, the only supported format is json. For gpt-4o-transcribe-diarize, the supported formats are json, text, and diarized_json, with diarized_json required to receive speaker annotations.

AudioSpeech

Turn audio into text or text into audio.

Create speech
audio.speech.create(**kwargs) -> BinaryResponseContent
POST
/audio/speech
Models
Literal["tts-1", "tts-1-hd", "gpt-4o-mini-tts", "gpt-4o-mini-tts-2025-12-15"]

AudioTranscriptions

Turn audio into text or text into audio.

Create transcription
audio.transcriptions.create(**kwargs) -> TranscriptionCreateResponse
POST
/audio/transcriptions
Models
class Transcription: …

Represents a transcription response returned by model, based on the provided input.

Represents a transcription response returned by model, based on the provided input.

class TranscriptionDiarized: …

Represents a diarized transcription response returned by the model, including the combined transcript and speaker-segment annotations.

class TranscriptionDiarizedSegment: …

A segment of diarized transcript text with speaker metadata.

Literal["logprobs"]
class TranscriptionLanguage: …

A language detected in transcribed audio.

class TranscriptionSegment: …

Emitted when a diarized transcription returns a completed segment with speaker information. Only emitted when you create a transcription with stream set to true and response_format set to diarized_json.

class TranscriptionTextDeltaEvent: …

Emitted when there is an additional text delta. This is also the first event emitted when the transcription starts. Only emitted when you create a transcription with the Stream parameter set to true.

class TranscriptionTextDoneEvent: …

Emitted when the transcription is complete. Contains the complete transcription text. Only emitted when you create a transcription with the Stream parameter set to true.

class TranscriptionTextSegmentEvent: …

Emitted when a diarized transcription returns a completed segment with speaker information. Only emitted when you create a transcription with stream set to true and response_format set to diarized_json.

class TranscriptionVerbose: …

Represents a verbose json transcription response returned by model, based on the provided input.

class TranscriptionWord: …

AudioTranslations

Turn audio into text or text into audio.

Create translation
Deprecated
audio.translations.create(**kwargs) -> TranslationCreateResponse
POST
/audio/translations
Models
class Translation: …
class TranslationVerbose: …

AudioVoice Consents

Turn audio into text or text into audio.

Create voice consent
audio.voice_consents.create(**kwargs) -> VoiceConsent
POST
/audio/voice_consents
Delete voice consent
audio.voice_consents.delete(consent_id) -> VoiceConsentDeleted
DELETE
/audio/voice_consents/{consent_id}
List voice consents
audio.voice_consents.list(**kwargs) -> SyncCursorPage[VoiceConsent]
GET
/audio/voice_consents
Retrieve voice consent
audio.voice_consents.retrieve(consent_id) -> VoiceConsent
GET
/audio/voice_consents/{consent_id}
Update voice consent
audio.voice_consents.update(consent_id, **kwargs) -> VoiceConsent
POST
/audio/voice_consents/{consent_id}
Models

AudioVoices

Turn audio into text or text into audio.

Create voice
audio.voices.create(**kwargs) -> Voice
POST
/audio/voices
Delete voice
audio.voices.delete(voice_id) -> VoiceDeleted
DELETE
/audio/voices/{voice_id}
Models
class Voice: …

A custom voice that can be used for audio output. Voices created from text prompts are supported only in Live.

class VoiceDeleted: …