# Interview transcription: transcribe interviews to text

Interview recordings to text, with each speaker labeled and quotes easy to check.

## From recording to quotes

Audo transcribes interviews from audio (WAV, MP3, M4A, AAC, FLAC, OGG, Opus, WebM, AIFF) and video (MP4, MOV, MKV, WebM, AVI) in 60 languages, labels up to 8 speakers, and takes recordings up to 10 hours long signed in, with the first 2 minutes of each file free, 3 times a day, and no sign-up. You get the text in speaker turns, SRT and VTT captions, and the time of every word.

Journalists search the text for a line and check it by ear before quoting it. Researchers read through qualitative interviews and code them for themes. Podcasters turn an interview episode into captions and show notes.

For the clearest transcript, keep each person close to a microphone. If the recording is noisy, run it through Remove noise or Audio enhancer first. For the whole workflow, from choosing verbatim to exporting, see How to transcribe an interview.

Tool: Transcribe (`transcribe_audio`). The same tool's other pages: https://audo.ai/transcribe.md, https://audo.ai/podcast-transcription.md, https://audo.ai/srt-file-generator.md. Price: 2 credits a minute — $0.02/min ($1.20/hr), with no subscription — of input for whole files, charged only when a job succeeds.

## Free API

```bash
curl -F file=@interview.m4a -F format=txt https://audo.ai/api/try/transcribe -D response.headers -o response.body
```

Read response.headers and response.body before naming media. Handle 202, 200 JSON and errors with the complete response client at https://audo.ai/docs/api?utm_source=markdown&utm_medium=agent#responses.

Free for the first 2 minutes of each file, 3 times a day per person, with no key or account. Uploads up to 100 MB, 2 at once from one address. The response is the result itself; a job that runs longer than about 30 seconds returns 202 with a link to check on it. With an API key (`-H "Authorization: Bearer $AUDO_API_KEY"`), omitting free runs the whole file with credits if the balance covers it, otherwise the free portion if quota remains. Set free=true to prohibit spending; for paid whole files use free=false with an approved positive max_credits. A free result cut short comes with finishUrl (and the Audo-Finish-Url header when the response is the file itself): give it to the person, who pays there (from $5, no sign-up), and the whole file runs; keep checking the status link, whose finishedBy names the whole-file job and its own status link. Details: https://audo.ai/docs/api.md

## Options

Form fields with the same names as the MCP tool's inputs:

- `language`: The spoken language, as a code such as en or ja. Default: detected.
- `verbatim`: Keeps filler words such as um and uh, so they can be cut later. Default true.
- `speaker_labels`: Labels who speaks when: Speaker 1, Speaker 2, and so on, in the order they first speak, up to 8 people. No names. Default true.
- `format`: what the free API returns: json (default), srt, vtt, or txt.

## Speakers

Transcription labels who speaks when, unless `speaker_labels` is false: Speaker 1, Speaker 2, and so on, numbered in the order people first speak, without real names. It finds at most 8 speakers.

- JSON: every word and sentence has `speaker` (a number from 1), and the transcript has `speaker_count`. A sentence never spans two speakers.
- TXT: with two or more speakers, one paragraph per turn, starting "Speaker 1: ".
- VTT: with two or more speakers, each cue names its speaker in a voice span, such as `<v Speaker 1>`.
- SRT: no names, so it stays clean for YouTube.
- No caption spans two speakers.
- The job's result has `speaker_labels` (`on`, `off`, or `failed`) and `speaker_count`.
- Reading the transcript: MCP `get_transcript` gives `speaker_count` and each sentence's `speaker`; the REST transcript endpoint gives `speakerCount` and `speaker`.

If labeling fails, the job still succeeds with every word, just without speakers: `speaker_labels` is `failed`, and the result has a `warning`.

## Languages

60 languages, detected automatically. To name one, set `language` to its code: `af` Afrikaans, `ar` Arabic, `hy` Armenian, `as` Assamese, `az` Azerbaijani, `bn` Bengali, `bs` Bosnian, `bg` Bulgarian, `yue` Cantonese, `ca` Catalan, `zh` Chinese (Simplified), `cs` Czech, `da` Danish, `nl` Dutch, `en` English, `et` Estonian, `fil` Filipino, `fi` Finnish, `fr` French, `gl` Galician, `de` German, `el` Greek, `gu` Gujarati, `he` Hebrew, `hi` Hindi, `hu` Hungarian, `is` Icelandic, `id` Indonesian, `it` Italian, `ja` Japanese, `kn` Kannada, `kk` Kazakh, `ko` Korean, `lv` Latvian, `lt` Lithuanian, `mk` Macedonian, `ms` Malay, `ml` Malayalam, `mr` Marathi, `ne` Nepali, `nb` Norwegian Bokmål, `or` Odia, `fa` Persian, `pl` Polish, `pt` Portuguese, `pa` Punjabi, `ro` Romanian, `ru` Russian, `sk` Slovak, `sl` Slovenian, `es` Spanish, `sw` Swahili, `sv` Swedish, `ta` Tamil, `te` Telugu, `th` Thai, `tr` Turkish, `uk` Ukrainian, `ur` Urdu, `vi` Vietnamese.

## From an assistant (MCP)

Add https://audo.ai/mcp and sign in (setup for each assistant: https://audo.ai/setup.md). The tool is `transcribe_audio`:

> Transcribes speech in an audio or video file, with a start and end time for every word and who speaks when (Speaker 1, Speaker 2, and so on, in the order they first speak). Use it when the person wants text or captions, or wants to cut by words. Not for lining up a script they already have (align_script). Set free to true to do the first 2 minutes at no cost, up to 3 times a day; otherwise it costs 2 credits a minute. Returns job_id; when done, the job lists TXT, SRT, VTT, and JSON files, and get_transcript reads them.

Example: "Use Audo to transcribe interview.m4a with speaker labels, and give me the text."

## More

- Every tool: https://audo.ai/llms.txt
- OpenAPI: https://audo.ai/api/openapi.json
- This page for people: https://audo.ai/interview-transcription?utm_source=markdown&utm_medium=agent
