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.

AI SERVICE

Speech Recognition

Convert speech to text with enterprise-grade accuracy across multiple languages and audio formats.

AI SERVICE

Text-to-Speech

Generate natural-sounding speech from text with professional voice quality and customizable parameters.

AI SERVICE

Translation

Translate text between languages with neural machine translation and real-time processing capabilities.

Available SDKs. Choose your preferred development platform.

Python
BACKEND SDK

Python

Enterprise SDK with comprehensive validation and security. View on GitHub

Node.js
BACKEND SDK

Node.js

Promise-based async API with TypeScript support. View on GitHub

Go
BACKEND SDK

Go

High-performance SDK with idiomatic Go patterns. View on GitHub

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)
    }
}