Transcribe
https://api.curriculo.me/public/transcribe/On this page
Stateless. Transcribes one or more audio or video recordings, without generating a summary. To get a summary as well, use POST /summary/.
Price: about $0.002 per minute of audio, rounded up to the next $0.001 per request (a 60-minute recording costs $0.109). See Pricing and billing.
Request
multipart/form-data
| Field | Type | Notes |
|---|---|---|
media (required) | file[] | One or more audio or video recordings, up to 12 MB in total. |
language | string | Optional ISO 639-1 hint for the recording's language. |
curl -X POST https://api.curriculo.me/public/transcribe/ \
-H 'Authorization: Bearer key_abc123_yoursecret' \
-F 'media=@interview.m4a' \
-F 'language=en'Longer recordings
The synchronous upload is limited to 12 MB. For anything larger, send a public link to POST /transcribe/async: recordings up to 1 GB and 2 hours.
curl -X POST https://api.curriculo.me/public/transcribe/async \
-H 'Authorization: Bearer key_abc123_yoursecret' \
-H 'Content-Type: application/json' \
-d '{"media_url": "https://example.com/interviews/interview.mp4"}'The task's result contains transcript_text and transcript_entries. Entries are empty when no timestamps are available. See Background processing and callbacks.
Errors
| Status | Typical cause |
|---|---|
413 | A recording over 12 MB. Use /transcribe/async. |
400 | media is missing. |
503 | Media transcription is not enabled. |
504 | Processing exceeded 300 seconds. Use /transcribe/async. |
Choosing between transcribe and summary
| You need | Use |
|---|---|
| The words only, to store or search | POST /transcribe/ |
| Highlights, red flags, skills and a recommendation | POST /summary/, which also returns the transcript for a recording |
| A recording over 12 MB or longer than the 300 second request limit | POST /transcribe/async with a media_url |
Common questions
What is the largest recording I can send? 12 MB on the synchronous call. Through /transcribe/async, a public link to a recording of up to 1 GB and 2 hours.
Do I need to set language? No. It is an optional hint. Set it when you know the language, for example es, to help with short or noisy recordings.
Is the recording stored? Not on the synchronous call. An async task keeps its result so you can poll for it; see Data handling.
Next steps
- Summarise an interview: a summary and a recommendation from the same recording.
- Background processing and callbacks: polling and signed callbacks for long recordings.
- Errors: what each status means and when to retry.
New to the Curriculo API? Start with the Quickstart.
Updated