Key Concepts
A few ideas that apply across every VoiceMaker module.
Modules
The API is organized into four modules, each billed independently:
| Module | What it does |
|---|---|
| Transcription (ASR) | Speech-to-text from audio files |
| Text-to-Speech (TTS) | Text-to-audio in Nigerian languages |
| Animate | Lip-synced video from an image + audio |
| Explain (LLM) | Explanations, summaries, translations |
Synchronous vs. asynchronous
Some operations return a result immediately; others run as background jobs you poll (or receive a webhook for).
| Operation | Mode | Returns |
|---|---|---|
POST /dev/v1/tts/generate | Synchronous | 200 with audio_url |
POST /dev/v1/transcribe | Asynchronous | 202 with job_id |
POST /dev/v1/animate/generate | Asynchronous | 202 with job_id |
For async jobs, poll the matching GET .../{job_id} endpoint until status is
completed or failed.
Jobs and statuses
Asynchronous jobs move through these statuses:
queued → processing → completed (or failed)
Credits
Every billable request consumes credits from your account balance. Credits are metered per module (per second of audio, per character, per token). See Rate Limits & Credits for the full pricing table.
Supported languages
VoiceMaker is purpose-built for Nigerian languages.
| Language | Code | Live |
|---|---|---|
| English | en | Yes |
| Yoruba | yo | Yes |
| Hausa | ha | Yes |
| Nigerian Pidgin | pcm | Yes |
| Igbo | ig | Coming soon |
For transcription, you can also pass auto to detect the language automatically.