Synthèse vocale SSML
Cette synthèse vocale lit un texte enrichi de balises SSML, un langage qui commande la voix. Vous ne collez pas un texte brut mais un texte annoté : là une pause, ici une emphase, ailleurs une prononciation imposée. Le résultat est un MP3 dont vous maîtrisez le débit et le ton.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Ce que le SSML permet de régler
Le SSML (Speech Synthesis Markup Language) encadre votre texte de balises que la voix interprète. Vous insérez une pause d’une durée précise avant une annonce importante, vous accentuez un mot clé, vous imposez la lecture d’un nombre chiffre par chiffre ou d’un sigle lettre par lettre. Là où la synthèse simple décide seule du rythme, le SSML vous rend la main : le même texte peut sonner pressé ou solennel selon les balises que vous posez.
À qui cette précision s’adresse
Écrire du SSML demande un peu de rigueur : c’est un outil pensé pour qui prépare des contenus audio soignés — modules de formation, messages de serveur vocal, narrations calibrées à la seconde. Un particulier qui veut simplement écouter un texte gagnera du temps avec la synthèse vocale classique. Dès qu’il faut placer un silence au bon endroit ou faire épeler un code de référence, en revanche, le contrôle par balises devient vite indispensable.
Un tarif serré, aux mille caractères
Le service se règle à l’usage, en dollars US : $0.002 par requête, puis $0.0025 par tranche de mille caractères. Le décompte porte sur votre texte ; les balises SSML, elles, ne sont pas facturées comme du contenu lu. Un script de trois mille caractères revient ainsi à environ $0.0095. Pas d’abonnement, pas de solde : vous payez chaque génération à la pièce, au moment où vous la lancez.
Une capacité en bêta
Le rendu SSML est proposé en version bêta. Les balises courantes — pauses, emphase, épellation, débit — sont prises en charge ; certaines annotations plus rares peuvent être ignorées ou rendues approximativement. Testez votre script sur un court extrait avant de générer un texte long, et ajustez les balises selon l’écoute. Vos retours nous aident à élargir le jeu de commandes reconnues au fil des mises à jour.
Cas d’usage
Serveur vocal d’entreprise
Menuiserie Rousseau & Fils fait épeler son numéro de commande chiffre par chiffre et ménage une pause avant chaque option du menu, pour un message d’accueil clair au téléphone.
Module de formation
Élodie Garnier cale des silences précis entre les étapes d’un tutoriel audio, afin de laisser à l’auditeur le temps de réaliser chaque manipulation.
Annonce calibrée
Studio Lumen SAS accentue les mots clés d’un spot de quinze secondes et fige le débit pour tenir exactement la durée imposée par la diffusion.
Lecture de données
Une application fait lire des références et des montants en imposant la prononciation, afin d’éviter qu’un code soit dit comme un mot ordinaire.
Questions fréquentes
Faut-il connaître le SSML pour s’en servir ?
Oui, au moins ses balises de base : pause, emphase, épellation et réglage du débit. Si vous cherchez seulement à écouter un texte sans annotation, la synthèse vocale simple est plus directe et ne demande aucun balisage.
Les balises sont-elles comptées dans le tarif ?
Le décompte porte sur le texte destiné à être lu, pas sur les balises de commande. Concrètement, annoter votre script n’alourdit pas la facture au prorata des balises ajoutées.
Quelles balises sont prises en charge ?
Les commandes courantes de pause, d’emphase, d’épellation et de vitesse fonctionnent. Comme l’outil est en bêta, certaines annotations rares peuvent être ignorées : mieux vaut tester un extrait avant de traiter un long texte.
Combien coûte la génération d’un script balisé ?
Le tarif est de $0.002 par requête plus $0.0025 par tranche de mille caractères, en dollars US. Un script de trois mille caractères revient à environ $0.0095, sans abonnement.
Mon script est-il enregistré quelque part ?
Non. Il est traité sur nos serveurs le temps de produire l’audio, via un transfert chiffré, puis effacé. Nous ne gardons pas de copie de vos textes annotés.
Puis-je automatiser la génération de plusieurs scripts ?
Oui. Au-delà de cette page, une API permet d’envoyer des scripts SSML en série et de récupérer les fichiers audio, ce qui convient aux catalogues de messages ou de modules.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/voice/tts-ssml \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/voice/tts-ssml", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/voice/tts-ssml",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/voice/tts-ssml", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/voice/tts-ssml", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "voice.tts_ssml",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 200 |
max_minutes | 180 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |