The Audio Transcription service provides automatic speech-to-text conversion for audio files, powered by AWS services through a serverless API.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/exechoko/dashboard_roles/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The transcription system allows you to:- Upload audio files - Support for MP3, WAV, M4A, and OGG formats
- Automatic transcription - AWS-powered speech recognition
- View results - Real-time access to transcription status and results
- Download transcripts - Get completed transcriptions
- History - Access previously transcribed files
The service uses AWS Lambda, S3, and Transcribe services through an API Gateway endpoint. Files are uploaded to S3, processed asynchronously, and results are stored for retrieval.
Supported Audio Formats
The system accepts the following audio file types:MP3
MPEG audio layer 3
WAV
Waveform audio format
M4A
MPEG-4 audio
OGG
Ogg Vorbis audio
Transcription Workflow
Upload file
The system:
- Generates a pre-signed S3 upload URL
- Uploads the file directly to AWS S3
- Initiates the transcription job
Monitor progress
Check the status of your transcription:
- Processing - AWS is transcribing the audio
- Completed - Transcription is ready
- Failed - An error occurred
API Configuration
The system connects to an AWS API Gateway endpoint:TRANSCRIPTION_API_URL in your .env file to configure the API endpoint.
Generating Upload URLs
Before uploading, the system requests a pre-signed URL from AWS:SSL verification is disabled for development environments. Enable verification in production by removing
CURLOPT_SSL_VERIFYPEER = false.Uploading Files
Once a pre-signed URL is obtained, upload the file directly to S3:Checking Transcription Results
Query the transcription status and results:Get All Results
Get Specific File Results
Search for transcription results by filename:Viewing Transcription History
Access the complete history of transcribed files:- File names
- Upload timestamps
- Transcription status
- Completed transcriptions
- Error messages (if any)
Routes
The transcription system uses these routes:| Route | Method | Purpose |
|---|---|---|
/transcription | GET | Show transcription interface |
/generate-upload-url | POST | Get S3 pre-signed URL |
/upload-file | POST | Upload file to S3 |
/get-results | GET | Get all transcription results |
/get-results-by-filename | GET | Get results for specific file |
/get-historial | GET | Get complete transcription history |
All routes require authentication via the
auth middleware.Error Handling
The system handles various error scenarios:cURL Errors
Invalid JSON Responses
HTTP Errors
Frontend Integration
The transcription interface uses AJAX to communicate with the backend:- Select file - User chooses audio file
- Request URL - Call
/generate-upload-urlwith filename and content type - Upload file - POST file to pre-signed URL via
/upload-file - Poll results - Periodically call
/get-results-by-filenameto check status - Display transcript - Show completed transcription when ready
AWS Architecture
The backend uses a serverless architecture:API Gateway
REST API endpoint for requests
Lambda Functions
Serverless processing logic
S3 Bucket
Audio file storage
AWS Transcribe
Speech-to-text engine
DynamoDB
Results storage
Best Practices
- File preparation - Convert audio to supported formats before upload
- File size - Compress large files to stay under 50 MB limit
- Audio quality - Better audio quality produces better transcriptions
- Check status - Poll periodically but not too frequently (every 5-10 seconds)
- Handle errors - Implement retry logic for failed uploads
- Timeout handling - Set appropriate timeout values for large files
- Progress feedback - Show upload and processing progress to users
- Result caching - Cache transcription results to avoid repeated API calls
Troubleshooting
Upload Fails
- Verify file format is supported
- Check file size is under 50 MB
- Ensure internet connection is stable
- Verify API endpoint is accessible
Transcription Never Completes
- Check AWS service status
- Verify audio file is not corrupted
- Ensure audio contains speech
- Review CloudWatch logs for Lambda errors
Empty Results
- Confirm file was successfully uploaded to S3
- Check transcription job started correctly
- Verify audio format is compatible with AWS Transcribe
- Review error logs in the transcription results
Security Considerations
Enable SSL verification in production by removing or setting
CURLOPT_SSL_VERIFYPEER = true in all cURL requests.Related Features
File Management
Manage uploaded audio files
AWS Integration
Other AWS-powered features