Transcribe API
Submit media for AI transcription and project creation. Supports both Video and Audio files.
POST
/api/v1/transcribeQuick Implementation
curl -X POST https://api.srtgen.com/api/v1/transcribe \ -H "x-api-key: <YOUR_API_KEY>" \ -F "file=@/path/to/your/video.mp4"
POSThttps://api.srtgen.com/api/v1/transcribe
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
file | File | Yes | The media file to transcribe (Multipart). Supported: Video (mp4, mov, avi, webm, mkv), Audio (mp3, wav, m4a, flac). Max 2GB. |
videoUrl | String | No* | External URL of the media (required if file is not provided in JSON body). |
name | String | No | Custom name for the project. |
languageCode | String | No | Source language code (e.g., 'en-us'). Defaults to 'auto' (auto-detect) if omitted. |
filterProfanity | Boolean | No | Whether to auto-censor explicit words. Default is false. |
disfluencies | Boolean | No | Whether to include filler words (e.g., 'uh', 'um'). Default is false. |
medicalMode | Boolean | No | Optimized transcription for healthcare/medical audio. Default is false. |
Advanced: URL + AI Settings
curl -X POST https://api.srtgen.com/api/v1/transcribe \ -H "x-api-key: <YOUR_API_KEY>" \ -F "videoUrl=https://example.com/medical_lecture.mp4" \ -F "languageCode=en-us" \ -F "filterProfanity=true" \ -F "disfluencies=false" \ -F "medicalMode=true"
POSThttps://api.srtgen.com/api/v1/transcribe
Success Response
A successful request returns a 200 OK status with the project and background job details.
- projectIdThe unique identifier for your project.
- status'inProgress' (transcription in progress).
- Note: Credits are calculated and deducted from your balance asynchronously after the transcription process is finalized.
{ "success": true, "projectId": "proj_8k2n9m1b", "status": "inProgress" }
Error Codes
| Status | Error Code | Description |
|---|---|---|
| 400 | missing_file | No file found in the 'file' or 'video' field. |
| 400 | unreachable_url | The provided videoUrl is unreachable or returned an error. |
| 400 | invalid_parameter | One of the parameters (e.g., videoUrl) is malformed. |
| 400 | file_read_failed | The uploaded file could not be read or is corrupted. |
| 401 | unauthorized | API Key is missing or invalid. |
| 403 | insufficient_balance | You don't have enough credits to process this media duration. |
| 403 | storage_quota_exceeded | The file exceeds your plan's remaining cloud storage quota. |
| 413 | payload_too_large | The file exceeds the system's absolute 2GB upload limit. |
| 500 | transcription_failed | The transcription job could not be initiated (AI provider outage). |
| 500 | server_error | Something went wrong, please try again later. |
Error Response Structure
{ "success": false, "error": "insufficient_balance", "message": "Your project requires 5 credits, but your balance is 2." }
Was this page helpful?