Abena AI SDK Documentation
Welcome to the Abena AI SDK documentation. Integrate powerful AI services including Automatic Speech Recognition (ASR), Text-to-Speech (TTS), and Neural Translation into your applications.
AI Services. Integrate powerful intelligence into your applications.
Speech Recognition
Convert speech to text with enterprise-grade accuracy across multiple languages and audio formats.
Text-to-Speech
Generate natural-sounding speech from text with professional voice quality and customizable parameters.
Translation
Translate text between languages with neural machine translation and real-time processing capabilities.
Available SDKs. Choose your preferred development platform.
Available ASR Voices. Speech recognition models for different languages.
English (US) - Small
Model: model-en-us
Size: 40MB
Quality: Good accuracy, fast processing
Language: English (United States)
Akan Twi (GH) - Abena
Model: model-aka-gh
Size: 35MB
Quality: Experimental accuracy, fast processing
Language: Akan Twi (Ghana)
French (FR) - Small
Model: model-fr-fr
Size: 47MB
Quality: Good accuracy, fast processing
Language: French (France)
Get Available Voices
curl -X GET https://abena.mobobi.com/playground/api/v1/asr/voices.json
Available TTS Voices. Text-to-speech voices for different languages.
Akua (English Accent)
Voice ID: gh-eng-accent-medium_v3
Quality: Medium
Language: English Accent (Ghana)
Speakers: 1
Kwabena (English Accent)
Voice ID: gh-eng-accent-male-medium_v3
Quality: Medium
Language: English Accent (Ghana)
Speakers: 1
Abena (Akan Twi)
Voice ID: twi-gh-feli-medium
Quality: Medium
Language: Akan Twi (Ghana)
Speakers: 1
Kobby (English Pidgin)
Voice ID: gpe-medium_v1
Quality: Medium
Language: English Pidgin (Ghana)
Speakers: 1
Amani (Swahili)
Voice ID: swahili
Quality: Medium
Language: Swahili (Kenya)
Speakers: 1
Folami (Yoruba)
Voice ID: yoruba
Quality: Medium
Language: Yoruba (Nigeria)
Speakers: 1
James (Pidgin English)
Voice ID: nigerian_pidgin_p
Quality: Medium
Language: Pidgin English (Nigeria)
Speakers: 1
James (Pidgin English) MOBILE
Voice ID: nigerian_pidgin_s
Quality: Mobile
Language: Pidgin English (Nigeria)
Speakers: 1
Abubakar (Hausa)
Voice ID: hausa
Quality: Medium
Language: Hausa (Nigeria)
Speakers: 1
Mawuli (Ewe)
Voice ID: ewe
Quality: Medium
Language: Ewe (Ghana/Togo)
Speakers: 1
Get Available TTS Voices
curl -X GET https://abena.mobobi.com/playground/api/v1/tts/voices
Available Translation Languages. Supported languages for translation services.
English
Language Code: eng_Latn
Category: Major Languages
French
Language Code: fra_Latn
Category: Major Languages
Portuguese
Language Code: por_Latn
Category: Major Languages
Spanish
Language Code: spa_Latn
Category: Major Languages
Afrikaans
Language Code: afr_Latn
Category: African Languages
Amharic
Language Code: amh_Ethi
Category: African Languages
Arabic (Modern Standard)
Language Code: arb_Arab
Category: African Languages
Hausa
Language Code: hau_Latn
Category: African Languages
Igbo
Language Code: ibo_Latn
Category: African Languages
Somali
Language Code: som_Latn
Category: African Languages
Swahili
Language Code: swh_Latn
Category: African Languages
Twi
Language Code: twi_Latn
Category: African Languages
Ewe
Language Code: ewe_Latn
Category: African Languages
Wolof
Language Code: wol_Latn
Category: African Languages
Xhosa
Language Code: xho_Latn
Category: African Languages
Yoruba
Language Code: yor_Latn
Category: African Languages
Zulu
Language Code: zul_Latn
Category: African Languages
Get Available Languages
curl -X GET https://abena.mobobi.com/playground/api/v1/translate/languages
Python
Enterprise Python SDK for Abena AI Services - ASR, TTS, Translation with multi-language support.
Installation
pip install abenasdk
Quick Start
from abenasdk import AbenasClient
# Initialize client
client = AbenasClient(api_key="your-api-key")
# Speech Recognition
result = client.asr.transcribe("audio.wav", language="LANGUAGE_PLACEHOLDER")
print(f"π Transcription: {result['text']}")
# Text-to-Speech
client.tts.synthesize("Hello world!", language_code="TTS_LANGUAGE_PLACEHOLDER", output_file="speech.wav")
print("π Speech generated!")
# Translation
result = client.translator.translate("Hello", source_lang="TRANSLATION_SOURCE_PLACEHOLDER", target_lang="TRANSLATION_TARGET_PLACEHOLDER")
print(f"π Translation: {result['translation']}")
Node.js
Enterprise Node.js SDK for Abena AI Services with promise-based async/await API.
Installation
npm install abenasdk
Quick Start
const { AbenasClient } = require('abenasdk');
// Initialize client
const client = new AbenasClient('your-api-key');
async function example() {
// Speech Recognition
const asr = await client.asr.transcribe('audio.wav', 'LANGUAGE_PLACEHOLDER');
console.log('π Transcription:', asr.text);
// Text-to-Speech
await client.tts.synthesize('Hello world!', 'TTS_LANGUAGE_PLACEHOLDER', 'speech.wav');
console.log('π Speech generated!');
// Translation
const translation = await client.translator.translate('Hello', 'TRANSLATION_SOURCE_PLACEHOLDER', 'TRANSLATION_TARGET_PLACEHOLDER');
console.log('π Translation:', translation.translation);
}
example().catch(console.error);
Error Handling
const { ValidationError, APIError, FileError } = require('abenasdk');
try {
const result = await client.asr.transcribe('audio.wav');
} catch (error) {
if (error instanceof ValidationError) {
console.error('Invalid input:', error.message);
} else if (error instanceof FileError) {
console.error('File error:', error.message);
} else {
console.error('API error:', error.message);
}
}
Go
Enterprise Go SDK for Abena AI Services with idiomatic Go patterns and strong typing.
Installation
go get github.com/abena-ai-team/abenasdk-go
Quick Start
package main
import (
"fmt"
"log"
"github.com/abena-ai-team/abenasdk-go/pkg/abenasdk"
)
func main() {
// Initialize client
client, err := abenasdk.NewClient("your-api-key")
if err != nil {
log.Fatal(err)
}
// Speech Recognition
asr, err := client.ASR.Transcribe("audio.wav", "en")
if err != nil {
log.Fatal(err)
}
fmt.Printf("π Transcription: %s\n", asr.Text)
// Text-to-Speech
_, err = client.TTS.Synthesize("Hello world!", "TTS_LANGUAGE_PLACEHOLDER", "speech.wav")
if err != nil {
log.Fatal(err)
}
fmt.Println("π Speech generated!")
// Translation
translation, err := client.Translator.Translate("Hello", "TRANSLATION_SOURCE_PLACEHOLDER", "TRANSLATION_TARGET_PLACEHOLDER")
if err != nil {
log.Fatal(err)
}
fmt.Printf("π Translation: %s\n", translation.Translation)
}
Error Handling
result, err := client.ASR.Transcribe("audio.wav", "en")
if err != nil {
switch e := err.(type) {
case *abenasdk.ValidationError:
fmt.Printf("Invalid input: %v\n", e)
case *abenasdk.APIError:
fmt.Printf("API error (status %d): %v\n", e.StatusCode, e)
case *abenasdk.FileError:
fmt.Printf("File error: %v\n", e)
default:
fmt.Printf("Unknown error: %v\n", e)
}
return
}
cURL Examples
Direct HTTP API access for any platform or language. Perfect for testing and integration.
ASR (Speech Recognition)
curl -X POST https://abena.mobobi.com/playground/api/v1/asr/transcribe/ \
-H "Authorization: Bearer your-api-key" \
-F "audio_file=@audio.wav" \
-F "language=en"
TTS (Text-to-Speech)
curl -X POST https://abena.mobobi.com/playground/api/v1/tts/synthesize/ \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "Hello world!", "language_code": "TTS_LANGUAGE_PLACEHOLDER"}' \
--output speech.wav
Translation
curl -X POST https://abena.mobobi.com/playground/api/v1/translate/translate/ \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "Hello world!", "source_language": "TRANSLATION_SOURCE_PLACEHOLDER", "target_language": "TRANSLATION_TARGET_PLACEHOLDER"}'
React Native
Cross-platform mobile SDK for React Native applications. View on GitHub
import { AbenaSDK, useAbena } from '@abenasdk/react-native';
const App = () => {
const { isReady } = useAbena({ apiKey: 'YOUR_API_KEY' });
if (!isReady) return ;
return Abena SDK is Ready! ;
};
Swift (iOS)
Native iOS SDK with Swift Package Manager support. View on GitHub
import AbenaSDK
import SwiftUI
@main
struct YourApp: App {
init() {
AbenaSDK.configure(withAPIKey: "YOUR_API_KEY")
}
var body: some Scene { WindowGroup { ContentView() } }
}
Kotlin (Android)
Native Android SDK with Gradle integration and Kotlin support. View on GitHub
import com.abena.sdk.AbenaSDK
import com.abena.sdk.AbenaConfig
class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
val config = AbenaConfig.Builder("YOUR_API_KEY").build()
AbenaSDK.initialize(this, config)
}
}