Transcribe audio into text with a speech-to-text model.
POST https://opendunes.com/v1/audio/transcriptionsBilled, with an API key: Authorization: Bearer $OPENDUNES_API_KEY. The transcription models on sale are listed by GET /v1/models?output_modalities=transcription. The guide is Speech-to-Text.
Send the audio as a file, as the OpenAI library does:
curl https://opendunes.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENDUNES_API_KEY" \
-F model=mistralai/voxtral-mini-3b-2507 \
-F file=@message-vocal.mp3 \
-F language=fr \
-F response_format=jsonor inline, as base64 JSON:
curl https://opendunes.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENDUNES_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mistralai/voxtral-mini-3b-2507",
"input_audio": { "data": "<base64-encoded audio>", "format": "mp3" }
}'| Field | Description |
|---|---|
model | Required |
file or input_audio | Required. The audio, as a multipart file or as { data, format } |
language · prompt · temperature | Passed to the model |
response_format | json (default), verbose_json, text, srt or vtt |
timestamp_granularities[] | segment, word — with verbose_json |
json answers { "text": "…" }; verbose_json adds the segments and their timings; text, srt and vtt answer plain text. The answer carries X-Generation-Id. The audio is counted in the model's own unit — seconds, hours or tokens — as its price on the model page says. A model that is not a transcription model is a 404, and nothing is charged.