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
- Connectez-vous à votre Tableau de bord Moknah
- Souscrivez au forfait Pro ou contactez Ventes pour l’accès en entreprise.
- Accéder à API
- Cliquez Gérer les clés API
- Cliquez Nouvelle clé
- Copiez et conservez votre clé en lieu sûr.
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 |
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 :
Obtenir les voix disponibles pour la synthèse vocale
Convertir du texte en audio
TTS WebSocket en temps réel
Extraire le texte d’un fichier audio
STT en temps réel via WebSocket
Pour toute question ou tout problème concernant l’API, contactez-nous à l’adresse api@moknah.io.