POST
Create Capture Endpoint
Upload audio, run STT, persist the capture. task/beam_size/vocabulary are per-recording overrides; when omitted the persisted capture-settings defaults apply. POST /api/voice/captures All requests authenticate with your PeachDesk API key in the X-API-Key header (an interactive session token in Authorization: Bearer also works тАФ see Authentication). Use the playground to send a live request and inspect the response.

Authorizations

X-API-Key
string
header
required

Organization API key (bibha_...). Takes precedence over the session credential, and is refused outright on user-session-only and super-admin routes.

Body

multipart/form-data
file
file
required
source
string
default:file
language
string | null
stt_model
string | null
task
string | null
beam_size
integer | null
vocabulary
string | null

Response

Successful Response

Response model for POST /captures.

Adds auto_refine and allow_auto_paste тАФ the server-side settings captured at the moment the capture was created. The client reads these to decide whether to chain a refinement request and whether to fire the synthetic-paste pipeline, so it doesn't need a synced local copy of the capture_settings table across sibling Tauri webviews.

id
string
required
audio_path
string
required
source
string
required
transcript_raw
string
required
created_at
string<date-time>
required
auto_refine
boolean
required
allow_auto_paste
boolean
required
language
string | null
duration_ms
integer | null
transcript_refined
string | null
stt_model
string | null
llm_model
string | null
refinement_flags
RefinementFlagsModel ┬╖ object | null

Boolean toggles that drive the refinement prompt builder.