Guide de l’utilisateur Référence de l’API

Pour commencer

Tout ce dont vous avez besoin pour effectuer votre première requête API

URL de base

Moknah propose deux types de points de terminaison selon votre cas d’utilisation :

API REST standard (pour les demandes individuelles):

https://moknah.io/api/v1/

API WebSocket en temps réel (pour une diffusion en continu):

wss://moknah.io/api/v1/

Authentification

L’API Moknah utilise Clés API pour l’authentification. Incluez votre clé API dans le Authorization en-tête utilisant le Porteur schéma avec chaque requête HTTP et chaque négociation de connexion WebSocket.

Authorization: Bearer YOUR_API_KEY

Obtenir votre clé API

  1. Connectez-vous à votre Tableau de bord Moknah
  2. Souscrivez au forfait Pro ou contactez Ventes pour l’accès en entreprise.
  3. Accéder à API
  4. Cliquez Gérer les clés API
  5. Cliquez Nouvelle clé
  6. Copiez et conservez votre clé en lieu sûr.
Gardez votre clé en sécurité

Ne divulguez jamais votre clé API dans le code côté client ou dans des dépôts publics. Considérez-la comme un mot de passe.

Exemple HTTP rapide

Voici un exemple complet pour générer de la parole à partir de texte en utilisant l’API REST standard :

curl -X POST "https://moknah.io/api/v1/tts/generate/" \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "مرحبا بك في منصة مكنة",
    "voice_id": 1
  }' \
  --output speech.mp3
import requests

response = requests.post(
    "https://moknah.io/api/v1/tts/generate/",
    headers={
        "Authorization": f"Bearer your_api_key",
    },
    json={
        "text": "مرحبا بك في منصة مكنة",
        "voice_id": 1
    }
)

if response.status_code == 200:
    with open("speech.mp3", "wb") as f:
        f.write(response.content)
    print("Audio enregistré !")
else:
    print(f"Erreur : {response.json()}")
const response = await fetch(
    'https://moknah.io/api/v1/tts/generate/',
    {
        method: 'POST',
        headers: {
            'Authorization': 'Bearer your_api_key',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            text: 'مرحبا بك في منصة مكنة',
            voice_id: 1
        })
    }
);

if (response.ok) {
    const blob = await response.blob();
    // Utilisez le blob audio
    console.log("Audio généré !");
} else {
    const error = await response.json();
    console.error(error);
}

Format de réponse

Réponses de succès

Les réponses réussies varient selon le point de terminaison :

  • Génération TTS (POST) : Renvoie les données audio binaires complètes (audio/mpeg)
  • Flux TTS (WSS) : Diffuse en continu des segments MP3 binaires à mesure qu’ils sont générés.
  • Autres points de terminaison : Renvoie des données JSON structurées

En-têtes de limitation de débit (HTTP uniquement)

Chaque réponse HTTP inclut des informations sur les limites de débit (les WebSockets appliquent ces limites en fermant les connexions) :

En-tête Description
RateLimit-Limit Nombre maximal de requêtes par minute
RateLimit-Remaining Requêtes restantes dans la fenêtre actuelle
RateLimit-Reset Horodatage Unix de réinitialisation de la limite
Moknah-Credits-Remaining Votre solde de crédit restant

Codes d’erreur courants

Code Type Description
400 INVALID_REQUEST Paramètres invalides ou JSON mal formé
401 UNAUTHORIZED Clé API invalide ou manquante
402 INSUFFICIENT_CREDITS Le compte ne dispose pas de suffisamment de crédits.
429 RATE_LIMIT_EXCEEDED Trop de requêtes (HTTP)
4290 CONCURRENT_LIMIT Trop de connexions actives (WSS)
500 INTERNAL_SERVER_ERROR Erreur de serveur
En savoir plus

Voir le Erreurs page contenant des conseils détaillés sur la gestion des erreurs.

Prochaines étapes

Maintenant que tout est configuré, explorez les points de terminaison disponibles :

PUBLIER Lister les voix

Obtenir les voix disponibles pour la synthèse vocale

PUBLIER Générer de la parole

Convertir du texte en audio

WSS Flux de parole

TTS WebSocket en temps réel

PUBLIER Transcrire la parole

Extraire le texte d’un fichier audio

WSS Transcription du flux

STT en temps réel via WebSocket

Support API

Pour toute question ou tout problème concernant l’API, contactez-nous à l’adresse api@moknah.io.