asiri

African language
AI, one API away.

Translate, transcribe, and synthesise speech across 19+ African languages. Sunbird AI, Khaya AI and HuggingFace unified behind a single, consistent interface.

Translation🎙 Speech-to-Text🔊 Text-to-Speech
19+
African languages
3
AI providers, 1 API
Free
to start, no card
LugandaAcholiAtesoRunyankoreLugbaraYorubaTwiEweGaDagbaniKikuyuLuoKimeruKusaalSwahiliFrenchArabicAfrikaans
Try Live Demo↗
Lugandalug•
Acholiach•
Atesoteo•
Runyankorenyn•
Lugbaralgg•
Yorubayo•
Twitw•
Eweee•
Gagaa•
Dagbanidag•
Kikuyuki•
Luoluo•
Kimerumer•
Kusaalkus•
Swahilisw•
Frenchfr•
Arabicar•
Afrikaansaf•
Lugandalug•
Acholiach•
Atesoteo•
Runyankorenyn•
Lugbaralgg•
Yorubayo•
Twitw•
Eweee•
Gagaa•
Dagbanidag•
Kikuyuki•
Luoluo•
Kimerumer•
Kusaalkus•
Swahilisw•
Frenchfr•
Arabicar•
Afrikaansaf•

One API, routed across three providers

Every request is routed, verified, and monitored through Fasiri's core layer before it ever reaches a provider. You just write the code.

Translation
Speech-to-Text
Text-to-Speech
↓ Fasiri routing layer ↓
Sunbird AI
Khaya AI
HuggingFace

Three steps to African language AI

Fasiri handles provider selection, fallback routing, and error recovery automatically. You just write the code.

01

Generate API Key

Instant access to unified model endpoints no account verification, no credit card required.

Get Your Free Key↗
02

Install the SDK

Full TypeScript/Python typing, async streaming support and built-in error handling.

$ pip install fasiri
03

Translate Anything

Automated multi-provider failover across Sunbird, Khaya, and HuggingFace.

Auto-routing & Fallback Active
PROVIDER NETWORK

Best-in-class AI, unified

Fasiri routes each request to the provider with the deepest expertise for that language. If one fails, the next takes over.

5
01

Sunbird AI

Built specifically for Ugandan languages. Powers translation, speech-to-text, and text-to-speech for Luganda, Acholi, Ateso, Runyankore, and Lugbara.

TranslationSpeech-to-TextText-to-Speech
02

Khaya AI

Purpose-built for West and East African languages. GhanaNLP's translation API v2 covering Yoruba, Twi, Ewe, Ga, Dagbani, Kikuyu, Luo, and more.

Translation
9
4
03

HuggingFace

Helsinki-NLP opus-mt models for Swahili, French, Arabic, and Afrikaans. Acts as the universal fallback layer when primary providers are unavailable.

Translation
fasiri
API

Works with every stack.

Power your applications with unified African language AI capabilities. From single API translation calls to full Python SDK integrations, all in one consistent interface.

See how it works →
API REQUEST
$pip install fasiri
import { Fasiri } from 'fasiri';

const client = new Fasiri({ apiKey: 'fsri_...' });

// Translate English -> Luganda
const result = await client.translate({
  text: 'Good morning, how are you?',
  target: 'lug'
});

console.log(result.translatedText);
// "Wasuze otya, oli otya?"

FAQ

+What is Fasiri?

Fasiri (Swahili: to interpret) is a unified API and Python SDK for African language translation, speech-to-text, and text-to-speech. It brings together providers like Sunbird AI, Khaya AI, and HuggingFace into a single interface.

+What capabilities does Fasiri support?

Fasiri supports text translation for over 19 African languages, Speech-to-Text (STT) transcription for Ugandan languages (Luganda, Acholi, Ateso, Runyankore, Lugbara, Swahili), and Text-to-Speech (TTS) synthesis.

+What is the difference between Cloud Mode and Direct Mode?

Cloud Mode uses the hosted Fasiri API with a single key while handling fallback and routing automatically. Direct Mode lets you bring your own provider keys (Sunbird AI, Khaya AI, HuggingFace) to manage your own billing with zero account dependencies.

+How does provider routing work?

Requests are dynamically routed based on language strengths (e.g., Sunbird AI for Ugandan languages, Khaya AI for West African languages, HuggingFace for Swahili). If a primary provider fails, Fasiri automatically attempts the next provider in the chain.

+How can I get started with the Python SDK?

You can install the SDK via PyPI, initialize the client using your API key (or provider keys), and call method endpoints such as client.translate('Good morning', target='lug') sync or async with full type safety.