> ## Documentation Index
> Fetch the complete documentation index at: https://impossibl.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Audio transcription

> Transcribe completed audio files with openai/gpt-transcribe through the OpenAI-compatible audio transcriptions endpoint.

Use `openai/gpt-transcribe` for high-accuracy speech-to-text from completed audio
files. The endpoint accepts OpenAI-compatible multipart requests and returns text.
Files can be up to 25 MB.

## Transcribe a file

```bash theme={null}
curl https://api.impossibl.com/v1/audio/transcriptions \
  -H "Authorization: Bearer imp-rt-..." \
  -F file=@/path/to/audio.wav \
  -F model=openai/gpt-transcribe
```

```json theme={null}
{
  "text": "Bonjour, pouvez-vous m'entendre ?",
  "languages": [{ "code": "fr" }]
}
```

The gateway bills successful requests at **\$0.0045 per audio minute**. Failed
upstream requests and cancelled streams are not charged.

## Add transcription context

Use `prompt` for unstructured recording context, `keywords[]` for expected terms,
and `languages[]` for expected language codes.

```bash theme={null}
curl https://api.impossibl.com/v1/audio/transcriptions \
  -H "Authorization: Bearer imp-rt-..." \
  -F file=@/path/to/audio.wav \
  -F model=openai/gpt-transcribe \
  -F 'prompt=a support call about account AC-42' \
  -F 'keywords[]=AC-42' \
  -F 'keywords[]=billing' \
  -F 'languages[]=en' \
  -F 'languages[]=fr'
```

For this model, use `languages[]`, not the singular `language` field.

## Stream a completed file

Set `stream=true` to receive `transcript.text.delta` events followed by a final
`transcript.text.done` event.

```bash theme={null}
curl -N https://api.impossibl.com/v1/audio/transcriptions \
  -H "Authorization: Bearer imp-rt-..." \
  -F file=@/path/to/audio.wav \
  -F model=openai/gpt-transcribe \
  -F stream=true
```
