POST /audio2dialog
POST/third-party/note-taker/audio2dialog
Transcribes an audio file into speaker-labeled segments. The task runs asynchronously — the response returns a task_id immediately and the result is retrieved by polling the status endpoint.
Request
Content-type: multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
audio | binary | Yes | Audio file to transcribe. Max 300 MB. Supported formats: mp3, mp4, wav, m4a, ogg, flac, aac, opus, webm. |
speakers | JSON string | No | Array of {"name", "gender"?} objects providing known participant names. gender is an optional hint with enum "male" | "female" | null; omit or pass null when unknown. Example: [{"name":"Alice","gender":"female"},{"name":"Bob","gender":"male"}] |
contextText | string | No | Free-form context such as a meeting agenda or domain glossary. Improves term recognition and speaker attribution. |
languageHint | string | No | ISO 639-1 language code (e.g. vi, en, ja). When omitted, language is detected automatically. |
Speaker hints
The speakers field is the most effective way to get correct names in the transcript. Provide it whenever you know who will be speaking. Without hints, segments are labeled speaker_1, speaker_2, etc.
Example
curl https://sandbox.lingint.ai/api/v1/third-party/note-taker/audio2dialog \
-H "X-API-Key: lk_..." \
-F "audio=@meeting.mp3" \
-F 'speakers=[{"name":"Alice","gender":"female"},{"name":"Bob","gender":"male"}]' \
-F "languageHint=vi"Response
202 Accepted
{
"ok": true,
"data": {
"task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}Poll the status endpoint to retrieve the dialog once the task completes. See Polling task status.