Embeddings
Store the model id with the vectors. Embeddings from different models are not comparable, and swapping models later requires re-indexing.
Speech to text
response_format accepts json, text, srt, vtt, or verbose_json. Use verbose_json when you need segment timestamps. For translation into English from another language, use /v1/audio/translations with the same parameters.
Text to speech
voice values and available formats depend on the model.
Choosing models
Billing notes
- Embeddings bill per input token; long documents are the main cost driver, so chunk before sending.
- Transcriptions bill per audio minute; TTS bills per input character. Check the model price before batch jobs.
- Failed requests that never reached the upstream are not billed.

