Transcription
Submit batch transcription jobs, poll status, and retrieve Amharic transcripts from audio URLs.
The KI-AVA Amharic API transcribes audio files asynchronously. Use it for batch use cases like transcribing the DW Amharic archive.
Workflow
- Submit a request to create a transcription job with audio file URL(s)
- Receive a unique
job_idimmediately - Processing happens in the background
- Poll the status endpoint to check progress
- Retrieve results when status is "completed" (e.g. via
transcript_urls)
1. Submit a transcription job
POST to /transcribe with audio_urls and language (e.g. am for Amharic):
curl -X POST "https://kiava-api.lesan.ai/transcribe" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio_urls": ["https://example.com/audio.mp3"],
"language": "am"
}'2. Check job status
GET /transcribe/{job_id} to see status (pending, processing, completed, or failed):
curl -X GET "https://kiava-api.lesan.ai/transcribe/YOUR_JOB_ID" \
-H "X-API-Key: YOUR_API_KEY"3. Get transcription results
When status is completed, use transcript_urls from the status response. Each URL points to a JSON file (signed URL, valid for a limited time). Download the JSON to get segments and full text:
# Get status, then download first transcript
TRANSCRIPT_URL=$(curl -s -H "X-API-Key: YOUR_API_KEY" \
"https://kiava-api.lesan.ai/transcribe/YOUR_JOB_ID" | jq -r '.transcript_urls[0]')
curl "$TRANSCRIPT_URL"Supported languages and formats
- Languages – e.g.
am(Amharic),ti(Tigrinya) - Formats – .aac, .flac, .m4a, .mp3, .mp4, .mkv, .wav, .webm, .3gpp
- Limits – Max 1GB per file; files must be accessible via public or pre-signed URLs
Rate limits
- 100 job submissions per hour per API key
- Max 10 concurrent jobs per API key
- Jobs expire after 48 hours by default (configurable up to 168 hours)
For detailed API documentation, see the API Reference.