KUMA collecte des enregistrements audio en Mina/Ewe et entraîne un modèle capable de comprendre ce qu'un locuteur veut faire — commander un trajet, une livraison, ou autre chose.
Les modèles de reconnaissance vocale sont entraînés sur des corpus existants. Pour le Mina et l'Ewe, ces corpus sont quasi inexistants. Il n'y a pas de modèle capable de comprendre ces langues parce qu'il n'y a pas encore de données pour les entraîner.
KUMA est un outil de collecte. Des locuteurs enregistrent des phrases, les transcriptions sont vérifiées, et les données sont structurées pour l'entraînement.
Le fossé entre les langues dominantes et les langues africaines dans les systèmes ASR n'est pas marginal. Il est structurel.
Un locuteur enregistre une phrase. Le pipeline transcrit l'audio et extrait une intention structurée.
// voix : "Je veux aller a la Place de la Paix" { "intent": "COMMANDE_TRAJET", "confidence": 0.94, "entities": { "destination": "Place de la Paix", "destination_normalized": "Place de la Paix, Lomé" }, "transcription": "Je veux aller a la Place de la Paix" }
Accès programmatique à la détection d'intention vocale en Mina/Ewe. Un flow simple en trois étapes — credentials, token, appel.
client_id
+ client_secret par email.
POST /auth/token.
Le secret ne circule plus après cette étape.
POST /analyze,
récupérez un request_id
immédiatement, puis pollez GET /result/{id}
pour l'intention détectée.
# 1. Obtenir un token import httpx resp = httpx.post("https://api.kuma.ai/auth/token", data={ "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, }) token = resp.json()["access_token"] # 2. Soumettre un audio headers = {"Authorization": f"Bearer {token}"} with open("audio.wav", "rb") as f: r = httpx.post("https://api.kuma.ai/analyze", headers=headers, files={"audio": f}) request_id = r.json()["request_id"] # 3. Récupérer l'intention result = httpx.get( f"https://api.kuma.ai/result/{request_id}", headers=headers, ).json() print(result["intent"]) # → "COMMANDE_TRAJET"
# 1. Obtenir un token TOKEN=$(curl -s -X POST https://api.kuma.ai/auth/token \ -d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET" \ | jq -r .access_token) # 2. Soumettre un audio REQUEST_ID=$(curl -s -X POST https://api.kuma.ai/analyze \ -H "Authorization: Bearer $TOKEN" \ -F "audio=@audio.wav" \ | jq -r .request_id) # 3. Récupérer l'intention curl https://api.kuma.ai/result/$REQUEST_ID \ -H "Authorization: Bearer $TOKEN"
client_secret
ne circule qu'une seule fois pour obtenir un token. Le JWT expire après 1h.
En cas de compromission, contactez-nous pour révoquer l'accès immédiatement.
/analyze
consomme 1 crédit. Quota épuisé ? Contactez-nous pour l'augmenter.
request_id
et traite en arrière-plan. Pollez
GET /result/{id}
pour récupérer l'intention.
Deux façons de participer : enregistrer des phrases et corriger des transcriptions. Ou intégrez directement l'API dans votre application.
Le rôle annotateur est attribué après inscription. Contact : williams.stanley.desouza@gmail.com