Transcribe audio with a local runtime.
OpenAI-compatible speech-to-text. The local API takes the clip as inline base64 JSON (not multipart form data). Keep the encoded body small; the host agent caps the transcription body size. Pass a `model` id from `GET /v1/models`.
POST
/v1/audio/transcriptions
OpenAI-compatible speech-to-text. The local API takes the clip as inline
base64 JSON (not multipart form data). Keep the encoded body small; the
host agent caps the transcription body size. Pass a `model` id from
`GET /v1/models`.
Authentication
Bearer Token (b3iq_local) API Key (header: X-B3IQ-API-Key) Bearer Token API Key (header: X-B3IQ-Router-Signature)
Request Body required
application/jsonmodel
string
REQUIRED
audio
string
REQUIRED
Base64-encoded audio clip.
file_name
string
language
string
response_format
string
duration_seconds
number
Client-reported clip duration, used for metering only.
runtime_id
string
Responses
200
Transcription result.
application/jsontext
string
default
B3IQ-native problem response.
curl -X POST 'http://127.0.0.1:8831/v1/audio/transcriptions' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "model": "string", "audio": "string", "file_name": "string", "language": "string", "response_format": "string", "duration_seconds": 0, "runtime_id": "string"}'
const response = await fetch('http://127.0.0.1:8831/v1/audio/transcriptions', { method: 'POST', headers: { "Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify({ "model": "string", "audio": "string", "file_name": "string", "language": "string", "response_format": "string", "duration_seconds": 0, "runtime_id": "string" })});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.post('http://127.0.0.1:8831/v1/audio/transcriptions', headers=headers, json={ "model": "string", "audio": "string", "file_name": "string", "language": "string", "response_format": "string", "duration_seconds": 0, "runtime_id": "string"})print(response.json())
200
Response
{ "text": "<string>"}
API Playground
Try this endpoint
POST
/v1/audio/transcriptions

