Skip to content

KhayaClient

khaya.KhayaClient(api_key, config=None)

High-level interface to the Khaya API.

Provides translation, automatic speech recognition (ASR), and text-to-speech (TTS) for African languages.

Parameters:

Name Type Description Default
api_key str

Your Khaya API key. Can also be set via the KHAYA_API_KEY environment variable.

required
config Settings | None

Optional pre-built Settings instance. When provided, api_key is ignored.

None

Example::

import os
from khaya import KhayaClient

with KhayaClient(os.environ["KHAYA_API_KEY"]) as khaya:
    result = khaya.translate("Hello", "en-tw")
    print(result.text)

Async example::

async with KhayaClient(api_key) as khaya:
    result = await khaya.atranslate("Hello", "en-tw")
    print(result.text)

translate(text, language_pair='en-tw')

Translate text from one language to another.

Parameters:

Name Type Description Default
text str

The text to translate.

required
language_pair str

Source-target language pair (e.g. "en-tw").

'en-tw'

Returns:

Type Description
TranslationResult

TranslationResult with .text, .source_language, and .target_language.

transcribe(audio_file_path, language='tw')

Transcribe an audio file to text.

Parameters:

Name Type Description Default
audio_file_path str

Path to the .wav audio file.

required
language str

Language spoken in the audio (e.g. "tw" for Twi).

'tw'

Returns:

Type Description
TranscriptionResult

TranscriptionResult with .text and .language.

synthesize(text, language, speaker=None)

Synthesize speech from text.

Parameters:

Name Type Description Default
text str

The text to convert to speech.

required
language str

Target language code (e.g. "twi" for Asante Twi).

required
speaker str | None

Optional speaker voice — "male_low", "male_high", or "female".

None

Returns:

Type Description
SynthesisResult

SynthesisResult with .audio bytes and a .save(path) helper.

atranslate(text, language_pair='en-tw') async

Async version of :meth:translate.

atranscribe(audio_file_path, language='tw') async

Async version of :meth:transcribe.

asynthesize(text, language, speaker=None) async

Async version of :meth:synthesize.