Learn about the models that power the Hamsa API.
Flagship models
Text to Speech
Jobs API
Async TTS via
/v1/jobs/text-to-speechNatural-sounding output optimized for Arabic dialects
Multiple Arabic dialects + English
Async job-based — result delivered via webhook
Realtime API
Sync TTS via
/v1/realtime/ttsLow latency — returns WAV audio directly
Arabic dialects + English
Optimized for conversational AI and voice agents
Speech to Text
Batch API
Async STT via
/v1/jobs/transcribeHigh accuracy transcription for Arabic dialects
Word-level timestamps
Speaker diarization support
Async job-based — result delivered via webhook
Realtime API
Sync STT via
/v1/realtime/sttArabic dialects + English
Base64-encoded audio input
Returns transcription directly
End-of-speech detection
Models overview
The Hamsa API offers audio processing optimized for Arabic language, with support for multiple dialects and English.Hamsa TTS — Jobs API
The Jobs API (/v1/jobs/text-to-speech) is an async TTS endpoint. It creates a job and delivers the audio result via webhook. Best for batch processing and media content generation.
Use cases:
- Content Creation: Generate Arabic audio content, podcasts, and videos
- Accessibility: Audio versions of written Arabic content
- E-Learning: Educational content in Arabic with natural pronunciation
- Media Production: Professional-quality voiceovers
text, voiceId, webhookUrl, webhookAuth
→ See the TTS Quickstart for examples.
Hamsa TTS — Realtime API
The Realtime API (/v1/realtime/tts) returns WAV audio directly in the response. Designed for real-time applications and voice agents.
Use cases:
- Voice Agents: Real-time voice agents and phone calls
- Interactive Applications: Chatbots requiring immediate voice response
- Live Conversations: Conversational AI applications
text, speaker, dialect, mulaw, sampleRate, expressiveness
Supported dialects
→ See the TTS Quickstart for examples.
Hamsa STT — Batch API
The Batch API (/v1/jobs/transcribe) is an async STT endpoint. Submit a media URL and receive the transcription via webhook or polling. Choose from two models:
Use cases:
- Transcription Services: Convert Arabic audio/video content to text
- Meeting Documentation: Capture and document Arabic conversations with speaker identification
- Media Subtitling: Generate SRT subtitles for Arabic media content
- Content Analysis: Process and index Arabic audio content
- Word-level timestamps for each transcribed segment
- Speaker diarization for multi-speaker audio
- Automatic Arabic dialect detection (set
languagetoar) - SRT subtitle export with configurable formatting
- Automatic punctuation and formatting
mediaUrl, model, language, webhookUrl, returnSrtFormat, srtOptions
→ See the STT Quickstart for examples.
Hamsa STT — Realtime API
The Realtime API (/v1/realtime/stt) accepts base64-encoded audio and returns the transcription directly. For streaming, use the WebSocket API.
Use cases:
- Voice Agents: Real-time speech recognition for conversational AI
- Live call transcription: Transcribe Arabic calls in real time
- Interactive applications: Immediate transcription for chatbots and voice interfaces
- Synchronous — returns transcription in the response
- End-of-speech detection with configurable threshold
- Arabic and English language support
audioBase64, language, isEosEnabled, eosThreshold
→ See the STT Quickstart for examples.
Model selection guide
Requirements
Requirements
Batch / media content
Use the Jobs API (
/v1/jobs/text-to-speech) for async processing with webhook delivery.Real-time / voice agents
Use the Realtime API (
/v1/realtime/tts) or WebSocket for low-latency streaming.Arabic Dialects
Both TTS endpoints support 15 Arabic dialects + English. Choose based on latency requirements.
Use case
Use case
Content creation
Use the Jobs API for professional Arabic content, media, and video narration.
Voice Agents
Use the Realtime API / WebSocket for real-time conversational applications.
Transcription
Use the Batch API (
/v1/jobs/transcribe) with Hamsa-General-V2.0 for media transcription or Hamsa-Conversational-V1.0 for conversational audio.Character limits
For longer content, consider splitting the input into multiple requests.