Transcription
Transcribe audio files, check job status and export documents.
Transcribe audio files, check job status and export documents.
Convert audio and video files to text — with optional speaker detection.
/api/transcribeMP3, MP4, WAV, M4A, WEBM, OGG — up to 100 MB per file.
Upload via multipart/form-data with optional configuration parameters.
| Parameter | Type | Description |
|---|---|---|
filerequired | File | The audio or video file to transcribe. |
language | string | Language of the recording for better recognition. |
speaker_detection | boolean | Enable speaker detection (true/false). |
anonymize | boolean | Automatically anonymize the transcript after processing |
The initial response contains the job ID and status 'processing'.
{
"job_id": "job_abc123def456",
"status": "processing",
"created_at": "2025-01-15T10: 30: 00Z"
}Query the status endpoint to get the finished transcription.
{
"job_id": "job_abc123def456",
"status": "completed",
"result": {
"text": "Good morning, welcome to the meeting. Let us begin with the quarterly review...",
"duration_seconds": 342,
"language": "en",
"segments": [
{
"speaker": "Speaker 1",
"start": 0,
"end": 3.2,
"text": "Good morning, welcome to the meeting."
},
{
"speaker": "Speaker 2",
"start": 3.5,
"end": 7.1,
"text": "Let us begin with the quarterly review."
}
]
}
}Speaker detection
With the anonymize parameter, the transcript is automatically processed through the anonymization pipeline after transcription. Personal names, locations, and other sensitive data are detected and replaced with placeholders.
1curl -X POST https://app.anymize.ai/api/transcribe \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -F #86efac">"file=@meeting.mp3" \4 -F #86efac">"language=de" \5 -F #86efac">"speaker_detection=true" \6 -F #86efac">"anonymize=true"Anonymization + Transcription
1curl -X POST https://app.anymize.ai/api/transcribe \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY" \3 -F #86efac">"file=@meeting-recording.mp3" \4 -F #86efac">"language=en" \5 -F #86efac">"speaker_detection=true"Check the current status of an asynchronous job.
/api/status/{jobId}| Parameter | Type | Description |
|---|---|---|
jobIdrequired | string | The job ID you received when creating the job. |
A job goes through the following states:
{
"job_id": "job_abc123def456",
"status": "processing",
"progress": 45,
"created_at": "2025-01-15T10: 30: 00Z"
}When the job is complete, the response contains the result.
{
"job_id": "job_abc123def456",
"status": "completed",
"result": {
"text": "The anonymized document content...",
"entities_found": 12,
"processing_time_ms": 2340
},
"created_at": "2025-01-15T10: 30: 00Z",
"completed_at": "2025-01-15T10: 30: 04Z"
}{
"job_id": "job_abc123def456",
"status": "failed",
"error": {
"message": "Unsupported file format",
"code": "invalid_format"
},
"created_at": "2025-01-15T10: 30: 00Z"
}Query the status at regular intervals until the job is finished.
Tip
1# Poll every 3 seconds until completed2while true; do3 RESULT=$(curl -s https://app.anymize.ai/api/status/job_abc123def456 \4 -H #86efac">"Authorization: Bearer YOUR_API_KEY")5 STATUS=$(echo $RESULT | jq -r #86efac">'.status')6 echo #86efac">"Status: $STATUS"7 if [ #86efac">"$STATUS" = "completed" ] || [ "$STATUS" = "failed" ]; then8 echo $RESULT | jq .9 break10 fi11 sleep 312doneExport completed transcriptions in various formats.
/api/v1/jobs/{jobId}/exportSpecify job ID, format, and optionally a variant.
| Parameter | Type | Description |
|---|---|---|
jobIdrequired | string | The job ID of the completed transcription. |
format | string | Output format: pdf, docx, or txt. |
textType | string | Export variant (e.g. anonymized or original). |
pdfPDF — Formatted document with layout and metadata.docxDOCX — Editable Word document.txtTXT — Plain text without formatting.The download includes appropriate Content-Type and Content-Disposition headers.
Content-Type: application/pdf
Content-Disposition: attachment; filename="document_anonymized.pdf"
Content-Length: 245832Choose between the original and anonymized version.
Tip
1curl -OJ https://app.anymize.ai/api/v1/jobs/job_abc123def456/export?format=pdf \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY"1curl -OJ #86efac">"https://app.anymize.ai/api/v1/jobs/job_abc123def456/export?format=docx&textType=original" \2 -H #86efac">"Authorization: Bearer YOUR_API_KEY"Common export errors and their causes.
{
"error": {
"message": "Job not found or not yet completed",
"type": "not_found",
"code": "job_not_found"
}
}