Kapture V3Latest
You can use our Speech to Text (ASR) API to detect speech and convert it into text. Kapture V3 supports 10 languages from all over India. Same API as Kapture V1, with a smaller language set. This allows for great transcription services, voice commands, subtitles, and voice-enabled applications, promising high accuracy with support for various accents, dialects, and audio formats.
Quick start
- 1
Get an API key
Create a key in the Console and replace
YOUR_API_KEYin the examples below. - 2
Install the SDK
pip install fonadalabs - 3
Make your first request
Transcribe an audio file. Replace audio.wav with your file and set the language code.
from fonadalabs import ASRClient client = ASRClient(api_key="YOUR_API_KEY") result = client.transcribe_file("audio.wav", language_id="hi", model="v3") print(result.text)
Overview
Our ASR (Automatic Speech Recognition) API converts spoken language into written text with high accuracy and low latency. Our models are trained on diverse datasets covering multiple languages, accents, and speaking styles across India to ensure reliable transcription service across various use cases.
- Long-audio file transcription in a single request (any length, up to 25MB)
- Batch processing for audio file transcription
Try a sample transcription:
Explore our voice library to find the perfect voice for your project.
API Usage
Use our models to convert speech to text using REST API endpoint with simple requests for single and batch transcribing.
Transcribe Audio File - Basic Request
You can transcribe a single audio using the endpoint which returns the transcript immediately after processing.
curl -X POST https://api.fonada.ai/v3/asr/transcribe \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@audio.wav" \
-F "language_id=hi"Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| file | file | ✓ | Audio: wav, mp3, flac, m4a, ogg, opus, aac. Any length. Max 25MB. |
| language_id | string | ✓ | Language code (e.g. , "hi" for Hindi, "en" for English). |
Response Format
{
"job_id": "3d02014b-6ddf-45e3-94bc-8e6f69da6834",
"text": "Sir नहीं ऐसा कुछ होता तो मैं बताता है ऐसा कुछ नहीं है sir.",
"language": "hi",
"audio_duration_s": 3.12,
"num_chunks": 1,
"chunk_durations_s": [3.12],
"chunk_texts": ["Sir नहीं ऐसा कुछ होता तो मैं बताता है ऐसा कुछ नहीं है sir."],
"transcript_chunks": [
{
"idx": 0,
"text": "Sir नहीं ऐसा कुछ होता तो मैं बताता है ऐसा कुछ नहीं है sir.",
"duration_s": 3.12,
"start_s": 0.0,
"end_s": 3.12
}
],
"bucket": null,
"storage_prefix": null,
"processing_time_ms": 1731.9,
"credits_used": 9
}Fonadalabs SDK
You can get richer ASR experiences with our official SDK. Install it once and tap into high-level modules for file, batch, and custom transcription workflows.
Install the SDK
pip install fonadalabsTranscribe a Single File
You can use high-level HTTP client to submit local recordings. The SDK falls back to values from .env, so you can keep credentials out of source control while overriding settings at runtime.
from fonadalabs import ASRClient
AUDIO_PATH = "your_audio_path"
LANG = "hi"
your_api = "your_api_key"
if __name__ == "__main__":
client = ASRClient(api_key=your_api)
try:
result = client.transcribe_file(
AUDIO_PATH,
language_id=LANG,
model="v3",
)
print("Transcription Complete")
print("----------------------------")
print(f"Language : {result.language_id}")
print(f"Text : {result.text}")
print(f"Duration : {result.audio_duration_s}s")
print(f"Chunks : {result.num_chunks}")
print(f"Credits : {result.credits_used}")
print("----------------------------")
except Exception as e:
print(f"Error: {e}")
finally:
client.close()
Supported Formats
Audio: wav, mp3, flac, m4a, ogg, opus, aac. Any length. Max 25MB.
MP3
Sample rates: 8kHz - 48kHz
Channels: Mono/Stereo
Bit rate: 16bit/24bit
WAV
Sample rates: 8kHz - 48kHz
Channels: Mono/Stereo
Bit rate: 16bit/24bit
FLAC
Sample rates: 8kHz - 48kHz
Channels: Mono/Stereo
Bit rate: 16bit/24bit
M4A
Sample rates: 8kHz - 48kHz
Channels: Mono/Stereo
Bit rate: 16bit/24bit
OGG
Sample rates: 8kHz - 48kHz
Channels: Mono / Stereo
Bit rate: 16bit/24bit
OPUS
Any length. Max 25MB.
AAC
Any length. Max 25MB.
Supported Languages
Kapture V3 supports 10 languages with optimized accuracy for regional accents and dialects. This is the only difference from Kapture V1. Any other language_id returns 400 unsupported_language before credits are charged.
| Language | Code | Native Name |
|---|---|---|
| English | en | English |
| Bengali | bn | বাংলা |
| Gujarati | gu | ગુજરાતી |
| Hindi | hi | हिन्दी |
| Kannada | kn | ಕನ್ನಡ |
| Malayalam | ml | മലയാളം |
| Marathi | mr | मराठी |
| Punjabi | pa | ਪੰਜਾਬੀ |
| Tamil | ta | தமிழ் |
| Telugu | te | తెలుగు |
Pricing
Priced per hour, billed per second of audio.
| Model | Price | Credits | Billing |
|---|---|---|---|
| Kapture V1 / V3 | ₹24.19 per hour | 2,016 credits | Billed per second |
The same rate applies to single-file and long-audio requests. See the full pricing page.
Best Practices
Follow these recommendations to achieve optimal transcription accuracy and performance.
Audio Quality
- • Use high-quality microphones and recording equipment
- • Record in quiet environments with minimal background noise
- • Maintain consistent distance from the microphone
- • Use 16kHz+ sample rate for better accuracy
Speaking Guidelines
- • Speak clearly and at a moderate pace
- • Avoid speaking too fast or too slow
- • Use natural pauses between sentences
- • Minimize overlapping speech in multi-speaker scenarios
Error Handling
- • Implement retry logic for network failures
- • Check
language_idagainst the supported list to avoid 400 unsupported_language - • Monitor API rate limits and usage quotas
