Référence de l’API
Toutes les routes publiques, avec leurs paramètres et leurs réponses. Cette page est générée automatiquement à partir de l’API : elle ne peut pas diverger du service réel.
Adresse : https://api.lexiafrik.com · Authentification : en-tête X-API-Key(voir Authentification). Un astérisque rouge * marque un champ obligatoire.
x ? sont facultatifs et peuvent valoir null.Transcription
Envoyer de l’audio, suivre un job asynchrone.
get/v1/tasks/{task_id}
Suivre l'état d'un job de transcription
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
task_id * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200
| Champ | Type | Description |
|---|---|---|
audio_url | string ? | |
error | string ? | |
full_text | string ? | |
language | string ? | |
mean_rtf | number ? | |
model | string ? | |
n_segments | integer ? | |
original | OriginalFileInfo ? | |
sample_rate | integer ? | |
segments | SegmentResult[] ? | |
status * | string | |
task_id * | string | |
timestamp | string ? | |
title | string ? | |
total_duration_s | number ? | |
total_inference_s | number ? |
Erreurs possibles : 401 (Unauthorized), 403 (Forbidden), 404 (Not Found). Voir Erreurs.
get/v1/tasks/{task_id}/original
Lien de téléchargement du fichier original (audio/vidéo chargé)
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
task_id * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200
| Champ | Type | Description |
|---|---|---|
expires_at | string ? | |
filename | string ? | |
url * | string | |
url_expires_in * | integer |
Erreurs possibles : 403 (Forbidden), 404 (Not Found), 410 (Gone). Voir Erreurs.
post/v1/transcribe
Transcrire un fichier audio en Wolof
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Corps (multipart/form-data)
| Champ | Type | Description |
|---|---|---|
file * | string | |
include_segments | boolean | Inclure les segments dans la réponse (défaut: texte complet uniquement)défaut false |
keep_audio | boolean | Conserver un audio compressé pour la réécoute. false = seul le texte est conservédéfaut true |
language | string | Langue BCP-47 ou code court (wo, ha, yo…). Défaut : wo-SN. Voir GET /v1/languages |
max_segment_s | number | Durée max d'un segment (s)défaut 30 · min 5 · max 60 |
min_segment_s | number | Durée min d'un segment (s)défaut 1 · min 0.5 · max 10 |
min_silence_ms | integer | Durée min de silence pour couper (ms)défaut 250 · min 100 · max 3000 |
silence_thresh_dbfs | integer | Seuil de silence (dBFS)défaut -35 · min -60 · max -10 |
Réponse 200
| Champ | Type | Description |
|---|---|---|
full_text * | string | |
language | string ? | |
mean_rtf * | number | |
model * | string | |
n_segments * | integer | |
request_id * | string | |
sample_rate | integer ? | |
segments | SegmentResult[] ? | |
success | boolean | défaut true |
timestamp * | string | |
total_duration_s * | number | |
total_inference_s * | number |
Erreurs possibles : 401 (Unauthorized), 413 (Request Entity Too Large), 415 (Unsupported Media Type), 429 (Too Many Requests). Voir Erreurs.
post/v1/transcribe-url
Transcrire un fichier audio/vidéo chargé ou une URL directe (job asynchrone)
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
include_segments | boolean | Inclure les segments dans la réponse (défaut: texte complet uniquement)défaut false |
keep_audio | boolean | Conserver un audio compressé pour la réécoute (lecteur). false = seul le texte est conservédéfaut true |
language | string ? | Langue BCP-47 ou code court (wo, ha, yo…). Défaut : wo-SN. Voir GET /v1/languages |
max_segment_s | number | Durée max d'un segment (s)défaut 30 · min 5 · max 60 |
min_segment_s | number | Durée min d'un segment (s)défaut 1 · min 0.5 · max 10 |
min_silence_ms | integer | Durée min de silence pour couper (ms)défaut 250 · min 100 · max 3000 |
silence_thresh_dbfs | integer | Seuil de silence (dBFS)défaut -35 · min -60 · max -10 |
title | string ? | Titre affiché (ex. nom du fichier d'origine)≤ 255 car. |
upload_key | string ? | Clé retournée par POST /v1/uploads |
url | string ? | URL directe d'un fichier audio/vidéo (https) |
webhook_url | string ? | URL de callback quand le job est terminé |
Réponse 202
| Champ | Type | Description |
|---|---|---|
message | string | défaut "Transcription en cours. Suivez la progression via GET /v1/tasks/{task_id}." |
status | string | défaut "processing" |
task_id * | string |
Erreurs possibles : 401 (Unauthorized), 403 (Forbidden), 429 (Too Many Requests). Voir Erreurs.
post/v1/uploads
Obtenir une URL d'upload direct pour un fichier audio/vidéo
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
content_type | string | Content-Type qui sera envoyé lors du PUTdéfaut "application/octet-stream" · ≤ 100 car. |
filename * | string | Nom du fichier (extension utilisée pour la validation)≤ 255 car. |
Réponse 200
| Champ | Type | Description |
|---|---|---|
expires_in * | integer | |
headers * | object | |
max_size_mb * | integer | |
method | string | défaut "PUT" |
upload_key * | string | |
upload_url * | string |
Historique
Retrouver, corriger et supprimer vos transcriptions.
get/v1/transcriptions
Lister ses transcriptions
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
page | requête | integer | défaut 1 · min 1 |
page_size | requête | integer | défaut 20 · min 1 · max 100 |
status | requête | string ? | |
cs_language | requête | string ? | Langue détectée (wo, fr, en, ar)≤ 8 car. |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
delete/v1/transcriptions/{request_id}
Supprimer une transcription (données et fichiers audio)
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
request_id * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
get/v1/transcriptions/{request_id}
Détail d'une transcription
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
request_id * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
patch/v1/transcriptions/{request_id}
Corriger le texte ou les tags
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
request_id * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
edited_text | string ? | ≤ 200000 car. |
tags | Tag[] ? |
Réponse 200 : Successful Response
get/v1/transcriptions/{request_id}/audio
URL de lecture de l'audio complet
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
request_id * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
get/v1/transcriptions/{request_id}/segments
Segments (pagination, recherche)
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
request_id * | chemin | string | |
offset | requête | integer | défaut 0 · min 0 |
limit | requête | integer ? | Absent = tous les segments (export)min 1 · max 100000 |
q | requête | string ? | Texte, correction, tag ou langue (wolof, fr…)≤ 200 car. |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
delete/v1/transcriptions/{request_id}/segments/{segment_id}
Supprimer un segment
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
request_id * | chemin | string | |
segment_id * | chemin | integer | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
patch/v1/transcriptions/{request_id}/segments/{segment_id}
Corriger le texte ou les tags d'un segment
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
request_id * | chemin | string | |
segment_id * | chemin | integer | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
edited_text | string ? | ≤ 200000 car. |
tags | Tag[] ? |
Réponse 200 : Successful Response
get/v1/transcriptions/{request_id}/segments/{segment_id}/audio
URL de lecture de l'audio d'un segment
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
request_id * | chemin | string | |
segment_id * | chemin | integer | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
Clés API
Une clé par application ; la clé principale ne se révoque pas.
get/v1/keys
Lister les clés de son compte
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
post/v1/keys
Créer une clé supplémentaire (une par application)
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
description | string ? | ≤ 256 car. |
name * | string | ≤ 64 car. |
notify | boolean | défaut true |
Réponse 201 : Successful Response
delete/v1/keys/{key_hash}
Révoquer une clé du compte (pas la principale)
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
key_hash * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
patch/v1/keys/{key_hash}
Renommer une clé du compte
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
key_hash * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
name * | string | ≤ 64 car. |
Réponse 200 : Successful Response
post/v1/keys/{key_hash}/rotate
Remplacer une clé du compte par une nouvelle
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
key_hash * | chemin | string | |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
description | string ? | ≤ 256 car. |
name | string ? | ≤ 64 car. |
notify | boolean | défaut true |
Réponse 201 : Successful Response
Compte et usage
Identité de la clé, consommation, offre et crédit.
get/v1/billing/account
Offre, quota mensuel et portefeuille
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
get/v1/billing/ledger
Journal du portefeuille
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
limit | requête | integer | défaut 50 · min 1 · max 500 |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
get/v1/billing/plans
Grille tarifaire officielle
Réponse 200 : Successful Response
get/v1/usage
Consulter votre consommation
Retourne le nombre de requêtes et secondes audio utilisées aujourd'hui et au total.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200
| Champ | Type | Description |
|---|---|---|
api_key_name * | string | |
daily_limit_seconds * | integer | |
member_since * | string | |
remaining_seconds * | number | |
tier * | string | |
today_audio_seconds * | number | |
today_requests * | integer | |
total_audio_seconds * | number | |
total_requests * | integer |
get/v1/usage/dashboard
Usage du compte : jour, mois, historique, langues, par clé
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
period | requête | string | défaut "7d" |
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
get/v1/whoami
Identité de la clé ou de la session
Compte (clé principale) et clé réellement utilisée. Sert au SaaS à valider une clé brute sans accès à la base.
Paramètres
| Nom | Où | Type | Description |
|---|---|---|---|
authorization | en-tête | string ? | Bearer <jeton d'accès> : session utilisateur (/v1/auth), ex. mobile |
Réponse 200 : Successful Response
Connexion d’un terminal
Flux utilisé par lexiafrik login (RFC 8628).
post/v1/auth/device
Terminal : démarrer la connexion (device code)
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
client_name | string ? | ≤ 100 car. |
Réponse 200 : Successful Response
post/v1/auth/device/token
Terminal : récupérer la clé API une fois la connexion approuvée
Corps (application/json)
| Champ | Type | Description |
|---|---|---|
device_code * | string | ≤ 200 car. |
Réponse 200 : Successful Response
Langues et santé
Informations publiques.
get/health
Health Check
Réponse 200
| Champ | Type | Description |
|---|---|---|
device | string ? | |
engine | string ? | |
model | string ? | |
status | string | défaut "ok" |
version * | string |
get/v1/languages
Langues disponibles pour la transcription
Réponse 200 : Successful Response