Transcriptions (Speech-to-Text)
Uses the standard Transcriptions protocol format.
POST https://wrouter.ai/v1/audio/transcriptionsRequest must be multipart/form-data.
Form fields
| Field | Type | Required | Notes |
|---|---|---|---|
file | file | ✓ | mp3 mp4 m4a wav webm flac …, ≤ 25 MB |
model | string | ✓ | e.g. whisper-1, gpt-4o-transcribe, paraformer-v2 |
language | string | ISO-639-1 (e.g. en, zh); auto-detect if omitted | |
prompt | string | Style/glossary hint | |
response_format | string | json (default), text, srt, verbose_json, vtt | |
temperature | number | 0–1, default 0 | |
timestamp_granularities | array | ["word"] or ["segment"]; requires response_format=verbose_json |
Examples
bash
curl https://wrouter.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $WROUTER_API_KEY" \
-F file=@./meeting.mp3 \
-F model=whisper-1 \
-F language=en \
-F response_format=srtpython
from openai import OpenAI
client = OpenAI(api_key="sk-...", base_url="https://wrouter.ai/v1")
with open("audio.mp3","rb") as f:
text = client.audio.transcriptions.create(
model="whisper-1",
file=f,
language="en",
).textTranslations
POST /v1/audio/translations translates any-language audio into English. Same fields, but language is ignored.