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.
|
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_similarityspeedfast_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.