---
title: "Transcribe Audio"
method: POST
path: "/api/voice/transcribe"
tags: ["voice"]
---

# Transcribe Audio

`POST /api/voice/transcribe`

## Request

- Base URL: `https://api.qomplement.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.qomplement.com/api/voice/transcribe`
- Auth: HTTP bearer

Transcribe an uploaded audio clip via OpenAI Whisper.

Returns ``{"text": "<transcribed text>"}``. Errors surface as standard
HTTP responses so the frontend can show a user-friendly toast.

## Request body `multipart/form-data`

- BodyTranscribeAudioApiVoiceTranscribePost
  - `audio` string, binary, required: Audio clip from the chat composer mic.
  - `language` string, nullable: ISO-639-1 hint for Whisper. Optional; Whisper auto-detects.
  - `prompt` string, nullable: Optional context string passed to Whisper so domain vocabulary (product names, connector names like 'Qomplement', 'Kirbi') gets transcribed correctly. Capped at 200 chars server-side.

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-09** `6fe617c112ef`: 1 info
  - endpoint added
- **2026-08-29** `7a7c8e2b5afc`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/qomplement/apis/qomplement-api/changes/api/voice/transcribe/post.md)

---

[API](https://skmtc.dev/qomplement/apis/qomplement-api.md) - [All operations](https://skmtc.dev/qomplement/apis/qomplement-api/llms.txt) - [OpenAPI document](https://skmtc.dev/qomplement/apis/qomplement-api/revisions/6fe617c112ef?raw)
