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

Synthèse vocale (TTS)

Convertir du texte en une voix au rendu naturel

PUBLIER /api/v1/tts/generate/

Convertissez du texte en parole grâce à la synthèse vocale par IA. Génère un fichier audio MP3.

Authentification

Incluez votre clé API dans l’en-tête Authorization.

Corps de la requête

Paramètre Obligatoire Type Description
text requis chaîne Texte à convertir (1500 caractères maximum)
output_format facultatif chaîne Format de sortie audio souhaité. Spécifié sous la forme codec_fréquenceÉchantillonnage_débit (par ex. mp3_22050_32). La valeur par défaut est mp3_44100_128. Consultez la section « Formats de sortie » ci-dessous pour la liste complète.
voice_id requis nombre entier Identification vocale de la liste des voix.
prerecording facultatif nombre entier 1 (Amélioration de base) ou 2 (Amélioration par IA)
voice_settings facultatif chaîne (JSON) Options de personnalisation de la voix

Formats de sortie pris en charge

Le paramètre output_format peut prendre l’une des valeurs suivantes :

  • MP3 : mp3_22050_32, mp3_24000_48, mp3_44100_32, mp3_44100_64, mp3_44100_96, mp3_44100_128, mp3_44100_192
  • PCM : pcm_8000, pcm_16000, pcm_22050, pcm_24000, pcm_32000, pcm_44100, pcm_48000
  • Opus : opus_48000_32, opus_48000_64, opus_48000_96, opus_48000_128, opus_48000_192

Cette section sert de référence, permettant aux utilisateurs de choisir le format approprié sans encombrer le tableau principal des demandes.

Objet de paramètres vocaux

Paramètre Type Gamme Par défaut Description
temperature nombre entier 0 – 100 25 Contrôle la variabilité et l’expressivité de la parole. Des valeurs faibles produisent une parole plus stable et prévisible, tandis que des valeurs élevées accroissent la variation, la spontanéité et la créativité du phrasé.
voice_similarity nombre entier 0 – 100 100 Détermine dans quelle mesure la parole générée correspond au profil vocal sélectionné. Des valeurs élevées préservent l’identité vocale d’origine, tandis que des valeurs plus faibles permettent davantage de variations au niveau du ton et de l’articulation.
speed flotter 0.7 – 1.2 1.0 Ajuste le débit de la parole. Les valeurs inférieures à 1,0 ralentissent le débit pour plus de clarté, tandis que les valeurs supérieures à 1,0 l’accélèrent.
enable_emotions booléen false / true false Permet la génération de parole expressive sur le plan émotionnel. Lorsque cette fonction est activée, le modèle ajuste dynamiquement le rythme, l’intonation et l’accentuation en fonction du contexte émotionnel.
fast_mode nombre entier 0, 1, or 2 0 Réduit la latence de synthèse au détriment de la qualité audio.
  • 0: Désactivé (qualité maximale, latence normale)
  • 1: Réduction modérée de la latence
  • 2: Réduction maximale de la latence (qualité la plus basse)

Règles et contraintes des paramètres vocaux

  • Lorsque enable_emotions est défini sur true, les champs suivants ne doivent pas être inclus dans voice_settings :
    • voice_similarity
    • speed
    • fast_mode
  • Les requêtes incluant l’un de ces champs alors que les émotions sont activées seront rejetées avec une erreur 400 INVALID_REQUEST.

Exemple

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

response = requests.post(
    "https://moknah.io/api/v1/tts/generate/",
    headers={
        "Authorization": "Bearer your_api_key",
        "Content-Type": "application/json"
    },
    json={
        "text": "مرحبا بك في منصة مكنة",
        "voice_id": 1,
        "prerecording": 1,
        "voice_settings": {
            "speed": 1.0,
            "temperature": 25
        }
    }
)

with open("speech.mp3", "wb") as f:
    f.write(response.content)
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,
            prerecording: 1,
            voice_settings: {
                speed: 1.0,
                temperature: 25
            }
        })
    }
);

const blob = await response.blob();
// Save or play the audio

Réponse

Renvoie des données audio MP3 binaires avec les en-têtes suivants :

En-tête Description
Content-Type audio/mpeg

Erreurs

Statut Code Description
400 INVALID_REQUEST Paramètres invalides
401 UNAUTHORIZED Clé API invalide
402 INSUFFICIENT_CREDITS Crédits insuffisants
429 RATE_LIMIT_EXCEEDED Trop de requêtes
Support API

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