transcrevo docs

Introduction

How the transcrevo transcription API works: send audio by URL or by file and get the text back with timestamps and optional speaker separation.

The transcrevo API converts audio into text. You send the audio (a public URL or the file itself) and get the full transcription back, with automatic language detection and optional speaker separation.

Base URL

https://api.transcrevo.com

How it works

  1. Create the transcript with POST /v1/transcripts.
  2. It runs asynchronously: the response comes back immediately with status: "processing".
  3. Poll GET /v1/transcripts/{id} until status becomes done (the text is in text) or failed (the reason is in error).

Quickstart

Audio on a public URL, one request:

curl https://api.transcrevo.com/v1/transcripts \
  -H "Authorization: Bearer $TRANSCREVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com/podcast.mp3" }'
{
	"data": {
		"id": "6b9f2b81-1c9a-4f4e-9d5f-8f2a7c1e3b90",
		"status": "processing",
		"text": null,
		"words": null,
		"error": null,
		"language": null,
		"durationSeconds": 0,
		"speakerCount": null,
		"cost": 0,
		"currency": "USD",
		"model": "trv-1",
		"url": "https://example.com/podcast.mp3",
		"createdAt": "2026-08-24T18:00:00.000Z"
	}
}

Then poll until it finishes:

curl https://api.transcrevo.com/v1/transcripts/6b9f2b81-1c9a-4f4e-9d5f-8f2a7c1e3b90 \
  -H "Authorization: Bearer $TRANSCREVO_API_KEY"

Local file? Send the file and use the id you get back:

UPLOAD_ID=$(curl -s -X POST https://api.transcrevo.com/v1/uploads \
  -H "Authorization: Bearer $TRANSCREVO_API_KEY" \
  --data-binary @meeting.mp3 | jq -r .data.id)

curl https://api.transcrevo.com/v1/transcripts \
  -H "Authorization: Bearer $TRANSCREVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{ \"uploadId\": \"$UPLOAD_ID\", \"speakers\": true }"

Response envelope

Every JSON response uses the same envelope:

  • Success: { "data": ... }
  • Error: { "error": { "code": "...", "message": "...", "fields": { ... } } }. message says what happened, code is what your code should branch on. See Errors.

Next steps

On this page