Use this page to see what changed in each release and whether an integration needs attention. For endpoint-level details, follow the linked product guides and Full API Reference.
v1.4 — Generation and understanding
| Change | What it means for your integration |
|---|---|
| Image generation | POST /v1/images/generations is an OpenAI-compatible image endpoint: send a catalog model plus a prompt and receive base64 images, billed only on success. See Image Generation. |
| Video generation (async) | POST /v1/videos accepts a prompt and model with video output, returns a job_id immediately, then GET /v1/videos/{job_id} and GET /v1/videos/{job_id}/content poll and download the finished video. Cost is reserved on submit and settled on completion; failed jobs are never charged. See Video Generation. |
| Document understanding | POST /v1/documents/analyze extracts and summarizes private PDF invoices, receipts, and contracts (up to 15 MiB) with model instructions. See Document Understanding. |
| Image understanding (Vision) | POST /v1/vision/analyze reads a private JPEG/PNG/WebP/GIF (up to 10 MiB) and returns model-generated observations. See Vision. |
| Video understanding | POST /v1/video/analyze sends one private MP4/MPEG/MOV/WebM (up to 8 MiB) and returns a scene or activity summary. See Video Understanding. |
| Multimodal chat input | POST /v1/chat/completions accepts standard image_url and video_url content parts, with a modality pre-flight guard that rejects a wrong model before an upstream call is burned. |
| Raised gateway body caps | The chat route accepts larger bodies (about 14.5 MB) for base64 image/video uploads, while the global per-request cap stays at 5 MB for other routes. |
| Dynamic voice model inventory | The set of STT/TTS models Ngamia can serve is derived live from the provider catalog rather than hardcoded — always fetch GET /v1/models for current transcription/speech offerings. |
| Configurable voice defaults | Deployments can set server-side defaults for STT, text, TTS, and voice (VOICE_DEFAULT_STT_MODEL etc.), so voice callers can omit model fields. |
| One-time signup credits | New accounts receive a one-time credit grant (default 100 credits) on first verification, configurable via SIGNUP_BONUS_CREDITS. |
| USD-to-credit settlement rates | Voice, image, and video stages settle against the upstream-reported usage.cost converted to credits at the configured rate (default 3000), so billing follows real usage rather than estimates. |
| CamelAccounts sign-in | POST /v1/auth/camel signs in with a verified CamelAccounts access token, alongside the existing email/phone and Google/GitHub flows. See Register, login & sessions. |
v1.3 — Multimodal and voice gateway
| Change | What it means for your integration |
|---|---|
| Paid multimodal model catalog | GET /v1/models exposes enabled billable models with input/output modalities, supported parameters, and applicable pricing fields. Fetch it at runtime instead of hardcoding model availability. |
| Complete embeddings endpoint | POST /v1/embeddings returns OpenAI-compatible vectors from models advertising embeddings output. |
| Speech-to-text | POST /v1/audio/transcriptions accepts base64 JSON or multipart audio and supports Kiswahili language hints. |
| Text-to-speech | POST /v1/audio/speech returns raw MP3 or PCM bytes from speech-capable models. |
| Ongea na Ngamia | POST /v1/voice/responses combines Kiswahili transcription, localized text response, and optional base64 audio. |
| Voice-aware credit and activity records | Voice stages use reservations and expose service type, duration, characters, generation id, and settled usage when available. |
| Public security boundary | Developer examples use placeholders and document server-side credential storage, voice-note privacy, and prompt trust boundaries. |
v1.2
| Change | What it means for your integration |
|---|---|
| JWT support for selected gateway operations | POST /v1/chat/completions and GET /v1/billing/balance accept either a JWT or an API key. A logged-in dashboard can test a prompt without minting a gateway key first. |
| Automatic model-catalog synchronization | GET /v1/models reflects enabled model availability and current catalog pricing without a manual catalog update. Fetch the live list rather than hardcoding model ids. |
| Branded HTML email layout | OTP, security-alert, and API-key-created emails use a shared responsive template. Delivery semantics remain unchanged. |
| More reliable mobile-money confirmations | Payment status handling is more dependable; continue polling a pending payment until it resolves. |
| More reliable SMS delivery | OTP and notification delivery has improved; clients should still handle expired or missing codes through the normal retry flow. |
| Social-login callback redirect | Social callbacks redirect to the frontend with tokens in the URL fragment instead of returning raw JSON from the callback route. |
v1.1 — Workspaces
Ngamia introduced per-user namespaces through /v1/workspaces. Workspaces scope API keys and activity records, and every account receives an automatically created default workspace. See Profile & workspaces and API keys.
v1.0 — Initial release
The first release included:
- Registration, OTP verification by email or phone, login, JWT and refresh-token sessions, and Google or GitHub social login.
- API-key creation, listing, renaming, and revocation.
- A unified model catalog across providers with live pricing.
- The OpenAI-compatible
POST /v1/chat/completionsgateway with streaming and non-streaming responses. - Credit-based billing charged from recorded token usage.
- TZS mobile-money top-ups through M-Pesa, Tigo Pesa, and Airtel Money.
- Email and SMS notifications with per-channel opt-out settings.
- A personal activity feed and period summaries.
- Rate limiting and
Idempotency-Keysupport for payments and gateway requests. - The initial complete API reference.
Integration guidance
When upgrading an existing client, the safest routine is to fetch the current model list, keep API keys server-side, preserve idempotency keys when retrying a logical request, and read the current Errors guide before adding new retry behavior. Release notes describe customer-visible behavior; the endpoint pages remain the source of truth for request and response fields.