Delivering state-of-the-art Arabic speech recognition accuracy with just a simple API call.
Munist is designed to deliver state-of-the-art accuracy for Arabic speech recognition.
With just a simple API call, you can turn Arabic audio into clean, high-quality text — no SDKs or libraries required.
👉 Subscribe on our portal, and after subscribing, you can create your own API key to start using Munist.
Get started today and unlock powerful Arabic transcription capabilities!
📜 API Quickstart
Endpoint:
POST https://api.cntxt.tools/audio/transcribe
Authentication:
Authorization: Bearer YOUR_API_KEY
How to get an API Key:
- Subscribe through our portal.
- After subscribing, you can generate and manage your API key directly from your account dashboard.
- Include the API key in every request using the Authorization header.
🛠️ Request Details
Request Type: POST
Content-Type: multipart/form-data
File Field Name: file
Supported Audio Formats: .mp3 (audio/mpeg)
🧩 Example Usage
cURL
curl -X 'POST' \
‘https://api.cntxt.tools/audio/transcribe’ \
-H 'accept: */*' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@arabic_sample.mp3;type=audio/mpeg'
Python (requests)
import requests
url = "https://api.cntxt.tools/audio/transcribe"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"accept": "*/*"
}
files = {
"file": ("arabic_sample.mp3", open("arabic_sample.mp3", "rb"), "audio/mpeg")
}
response = requests.post(url, headers=headers, files=files)
print(response.status_code)
print(response.json())
Node.js (node-fetch + form-data)
const fetch = require('node-fetch');
const FormData = require('form-data');
const fs = require('fs');
const form = new FormData();
form.append('file', fs.createReadStream('arabic_sample.mp3'), {
contentType: 'audio/mpeg'
});
fetch(‘https://api.cntxt.tools/audio/transcribe’, {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
...form.getHeaders()
},
body: form
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
JavaScript (Browser)
async function transcribeAudio() {
const formData = new FormData();
const fileInput = document.querySelector('input[type="file"]');
formData.append('file', fileInput.files[0]);
const response = await fetch(‘https://api.cntxt.tools/audio/transcribe’, {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
},
body: formData
});
const result = await response.json();
console.log(result);
}
// Usage:
// <input type="file" onchange="transcribeAudio()" />
PHP (cURL)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => ‘https://api.cntxt.tools/audio/transcribe’,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'accept: */*'
],
CURLOPT_POSTFIELDS => [
'file' => new CURLFile('arabic_sample.mp3', 'audio/mpeg')
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
Java (OkHttp)
import java.io.File;
import okhttp3.*;
public class ArabicSpeechToText {
public static void main(String[] args) throws Exception {
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("audio/mpeg");
File file = new File("arabic_sample.mp3");
RequestBody formBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(),
RequestBody.create(file, mediaType))
.build();
Request request = new Request.Builder()
.url("https://api.cntxt.tools/audio/transcribe")
.post(formBody)
.addHeader("Authorization", "Bearer YOUR_API_KEY")
.addHeader("accept", "*/*")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}
⚡ Notes
- Subscribe on the portal to gain access.
- Create and manage your own API key after subscribing.
- Use your API key in every request to authenticate.
- Munist offers state-of-the-art Arabic speech transcription built for real-world scale and reliability.