API text to speech gratuite : tarifs, Python et options illimitées
Chaque API text to speech gratuite a ses propres règles : des quotas mensuels qui se réinitialisent, des essais de douze mois qui expirent et des modèles open source sans compteur. Découvrez les prix réels, du code Python fonctionnel et un flux de travail dans le navigateur pour tester d’abord les voix.
Tapez « free text to speech API » dans une barre de recherche et vous obtenez trois réponses très différentes. Un quota mensuel offert par un géant du cloud. Un package Python qui emprunte discrètement les serveurs de quelqu’un d’autre. Un modèle open source que vous faites tourner sur votre propre machine. Les trois sont gratuits, mais une seule est vraiment illimitée, et ce n’est pas celle que la plupart des gens imaginent.
Cet article classe les options selon leur coût réel, présente un code Python fonctionnel pour chacune et se termine par une façon d’écouter les voix dans votre navigateur avant d’écrire la moindre ligne d’intégration. Les chiffres proviennent des pages tarifaires des fournisseurs et de synthèses publiées, à jour en octobre 2026. Les prix évoluent : vérifiez les montants avant de bâtir un budget dessus.
Ce que « gratuit » signifie vraiment
Les fournisseurs utilisent le mot « gratuit » pour trois types d’arrangements différents, et les confondre est le meilleur moyen de transformer un prototype en mauvaise surprise sur une facture.
Quotas mensuels récurrents
Google Cloud et Microsoft Azure remettent à zéro un quota gratuit chaque mois, sans date d’expiration. Google offre 4 millions de caractères de voix Standard, et le palier F0 d’Azure offre 0,5 million de caractères de voix neuronales. Restez sous la limite et la facture reste nulle indéfiniment. Si vous dépassez le quota chez Google, vous payez le tarif normal au caractère. Le palier F0 d’Azure est plafonné : vous atteignez une limite au lieu de recevoir une facture.
Essais de douze mois
Le quota d’Amazon Polly s’applique aux nouveaux comptes pendant leurs 12 premiers mois. AWS annonce 1 million de caractères neuronaux par mois, 500 000 caractères de format long et 100 000 caractères génératifs, et les synthèses publiées indiquent 5 millions de caractères pour les voix standard. Après le douzième mois, le même trafic coûte $4 par million de caractères pour les voix standard et $16 pour les voix neuronales. Un prototype gratuit en janvier peut donc générer une vraie ligne de facturation d’ici le janvier suivant.
ElevenLabs se situe entre les deux. Son offre gratuite donne environ 10 000 caractères par mois, soit seulement dix à quinze minutes d’audio, et elle exige une mention d’attribution tout en interdisant l’usage commercial. C’est largement suffisant pour tester une voix, et bien trop limité pour un produit. La même famille de voix est aussi disponible sur PicassoIA sous le nom ElevenLabs v3.
Open source et illimité
La seule option réellement illimitée est un logiciel que vous faites tourner vous-même. Piper fonctionne sur un simple CPU avec plus de 100 voix dans plus de 30 langues. Kokoro est un modèle de 82 millions de paramètres qui produit une parole naturelle et tournerait, selon les données publiées, environ 100 fois plus vite que le temps réel sur un GPU. Personne ne mesure votre usage, car personne ne vous héberge. Le prix, c’est votre propre matériel, le temps de configuration, et la vérification de la licence de chaque voix avant de vendre quoi que ce soit généré avec elle.
Les offres gratuites comparées côte à côte
Le tableau des tarifs
Fournisseur et offre
Quota gratuit
Expire-t-il ?
Tarif après le quota
Google Cloud Standard
4 M caractères par mois
Non
$4 par 1 M
Google Cloud Neural2
Environ 1 M caractères par mois
Non
$16 par 1 M
Azure Neural (F0)
0,5 M caractères par mois
Non
Paiement à l’usage
Amazon Polly Standard
5 M caractères par mois
Après 12 mois
$4 par 1 M
Amazon Polly Neural
1 M caractères par mois
Après 12 mois
$16 par 1 M
ElevenLabs Free
Environ 10 000 caractères par mois
Non
Forfaits payants
Piper ou Kokoro
Aucune limite
Non
Votre matériel
💡 Les quotas se comptent par compte, par mois et par niveau de voix. Les voix standard et premium puisent dans des réserves distinctes : testez donc la voix exacte que vous comptez livrer.
Ce que permet un million de caractères
Les exemples de tarification d’AWS représentent environ 23 heures et 8 minutes de parole par million de caractères. Utilisez cette valeur comme ordre de grandeur. Les 4 millions de caractères Standard de Google correspondent à environ 90 heures d’audio par mois, et les 0,5 million d’Azure à environ 11 heures.
Un article de blog de 1 500 mots compte près de 9 000 caractères. À cette taille, le palier gratuit d’Azure permet de lire à voix haute environ 55 articles par mois, et celui de Google plus de 400. Un bouton de lecture à voix haute sur un blog de taille moyenne tient dans un palier gratuit, à condition de stocker chaque fichier audio au lieu de le régénérer à chaque affichage de page.
Comptez avec soin. La plupart des fournisseurs mesurent chaque caractère envoyé, y compris les espaces, la ponctuation et les balises de mise en forme. Supprimez donc le HTML avant la synthèse et n’envoyez que du texte brut. Mesurez une semaine de trafic réel avant de vous fier à une estimation.
Options Python sans frais
Trois packages couvrent la plupart des scripts rapides. Ils s’installent avec pip, ne nécessitent aucun compte de facturation et fonctionnent en quelques lignes, mais ils ne se valent pas.
gTTS en quatre lignes
from gtts import gTTS
tts = gTTS("Your order has shipped.", lang="en")
tts.save("order.mp3")
gTTS est une enveloppe non officielle autour du point d’accès vocal utilisé par Google Traduction. Il n’existe ni identifiant ni quota publié, et c’est précisément le problème : Google peut limiter ou modifier ce point d’accès sans prévenir. Il convient à un script de cours. Il est risqué pour une fonctionnalité destinée aux clients.
pyttsx3 fonctionne hors ligne
import pyttsx3
engine = pyttsx3.init()
engine.setProperty("rate", 170)
engine.save_to_file("Your order has shipped.", "order.wav")
engine.runAndWait()
pyttsx3 pilote les voix déjà installées dans votre système d’exploitation : SAPI5 sous Windows, NSSpeechSynthesizer sous macOS et eSpeak sous Linux. Aucun appel réseau, aucune limite. Il existe aussi une voix qui ressemble à un GPS de 2005 : jugez-la par vous-même avant de vous engager.
edge-tts pour de meilleures voix
import asyncio
import edge_tts
async def main():
speech = edge_tts.Communicate("Your order has shipped.", "en-US-AriaNeural")
await speech.save("order.mp3")
asyncio.run(main())
edge-tts se connecte au même service de lecture à voix haute que celui du navigateur Edge. Les voix sont de qualité neuronale et le package est gratuit, mais c’est un client non officiel, sans contrat de service derrière lui. Traitez-le comme gTTS : bien pour des projets personnels, un pari risqué lorsque des utilisateurs payants en dépendent.
Modèles neuronaux en local
Piper et Kokoro sont les deux à essayer en premier. Piper prend un fichier de voix téléchargé et écrit l’audio directement depuis la ligne de commande :
echo "Your order has shipped." | piper --model en_US-lessac-medium.onnx --output_file order.wav
Il est assez léger pour un Raspberry Pi 4, ce qui en fait le choix habituel pour les bornes hors ligne, la domotique et tout ce qui doit continuer à fonctionner sans internet. Kokoro demande plus de mémoire mais sonne nettement plus naturel, et il est très rapide sur un GPU.
Appeler une API cloud depuis Python
Quand vous avez besoin d’un SLA, d’un balisage SSML ou de dizaines de langues, un fournisseur cloud est la voie la plus honnête. Le schéma est le même partout : vous vous authentifiez, vous envoyez le texte, vous recevez les octets audio.
Un exemple avec Google Cloud
from google.cloud import texttospeech
client = texttospeech.TextToSpeechClient()
response = client.synthesize_speech(
input=texttospeech.SynthesisInput(text="Your order has shipped."),
voice=texttospeech.VoiceSelectionParams(
language_code="en-US", name="en-US-Standard-C"
),
audio_config=texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.MP3
),
)
with open("order.mp3", "wb") as f:
f.write(response.audio_content)
L’authentification passe par la variable d’environnement GOOGLE_APPLICATION_CREDENTIALS, qui pointe vers un fichier de compte de service : aucun secret ne se trouve donc dans le script. Remplacez en-US-Standard-C par une voix Neural2 et l’appel reste identique. Seuls le quota utilisé et le tarif changent.
Mettre en cache avant de payer
import hashlib
import pathlib
def cached_speech(text, synthesize):
name = hashlib.sha256(text.encode()).hexdigest() + ".mp3"
path = pathlib.Path("audio_cache") / name
if not path.exists():
path.parent.mkdir(exist_ok=True)
path.write_bytes(synthesize(text))
return path
Calculer une empreinte (hachage) du texte signifie qu’une phrase répétée ne coûte rien la deuxième fois. Pour une fonctionnalité de lecture à voix haute, cette seule habitude suffit souvent à rester dans le palier gratuit. Deux autres habitudes aident : découper les longs textes aux limites de phrases, car la plupart des fournisseurs plafonnent une requête à quelques milliers de caractères, et encapsuler chaque appel dans une nouvelle tentative avec attente exponentielle en cas de réponse de limitation de débit.
Options illimitées et leurs pièges
Cherchez « illimité » et les mêmes trois promesses reviennent. Chacune a un prix.
L’auto-hébergement coûte du temps. Vous installez les modèles, gérez les dépendances, surveillez la mémoire du GPU et mettez tout à jour lorsqu’une version casse quelque chose. Pour quelques milliers de requêtes par mois, un palier cloud gratuit coûte moins cher que vos heures de travail. À partir de millions de requêtes, faire tourner Piper ou Kokoro sur votre propre serveur commence à être rentable.
Les points d’accès non officiels cassent. gTTS et edge-tts reposent sur des services dont les propriétaires n’ont jamais promis quoi que ce soit aux développeurs. Ils peuvent ralentir, changer de format ou disparaître. Si une fonctionnalité compte pour vos clients, prévoyez une voix de secours fournie par un fournisseur pris en charge.
Les forfaits « illimités » limitent autre chose. Certains services par abonnement annoncent une parole illimitée, puis plafonnent la simultanéité, les droits commerciaux ou la qualité des voix. Lisez le paragraphe sur l’usage raisonnable avant de rattacher votre produit au forfait.
La qualité varie plus que ne le suggère le prix affiché. Une voix Standard et une voix neuronale d’un même fournisseur peuvent sonner à des années-lumière l’une de l’autre, si bien qu’un quota généreux sur le palier le moins cher ne correspond pas forcément à la voix que vous vouliez vraiment.
Le volume est la raison pour laquelle cela compte. Une fonctionnalité de lecture à voix haute qui lit chaque article aux visiteurs, y compris aux personnes qui s’appuient sur l’audio pour consulter le web, peut épuiser un quota mensuel en une seule semaine chargée.
Choisir la bonne option gratuite
Votre situation
Meilleure option gratuite
Points de vigilance
Script ou démo du week-end
gTTS ou edge-tts
Non officiel, peut cesser de fonctionner
Application ou appareil hors ligne
pyttsx3 ou Piper
Voix monotones de pyttsx3
Petite fonctionnalité en production
Google Standard ou Azure F0
Quota remis à zéro chaque mois
Gros volume, coût fixe
Kokoro ou Piper auto-hébergés
Temps GPU et licences vocales
Livre audio ou voix off de vidéo
Un outil dans le navigateur, sans code
Pas d’accès API
La plupart des projets réels combinent deux lignes : une voix locale ou cloud gratuite pour le développement, et un fournisseur officiel pour la version que touchent vos clients.
Avant la mise en production, faites un test en trois phrases sur la voix choisie : une avec un prix comme $1 200,50, une avec une abréviation comme Dr. ou SQL, et une avec un nom difficile à prononcer. Ces trois phrases révèlent la plupart des problèmes de normalisation, et elles coûtent moins de cent caractères de votre quota.
Utiliser Speech 2.8 HD sur PicassoIA
Parfois, vous n’avez pas besoin d’intégration, seulement d’un bon fichier de voix off. Speech 2.8 HD sur PicassoIA fonctionne dans le navigateur, ce qui vous permet de tester voix et réglages avant de décider quoi construire. Au moment de la rédaction, l’API pour développeurs de PicassoIA propose des modèles d’image et de vidéo plutôt que de la parole : il s’agit donc d’un flux de travail dans le navigateur, et non d’un remplacement direct des fournisseurs ci-dessus.
Collez votre script
Ouvrez la page du modèle et collez jusqu’à 10 000 caractères dans le champ de texte. Insérez des pauses avec des marqueurs tels que <#0.5#>, qui ajoute une demi-seconde de silence. Découpez un long script en scènes et générez chacune séparément, afin qu’une seule mauvaise ligne ne vous oblige jamais à tout refaire.
Réglez la voix et l’émotion
Choisissez une voix (la voix par défaut est Wise_Woman) et une émotion : auto, happy, sad, angry, fearful, disgusted, surprised, calm, fluent ou neutral. L’indication de langue prend en charge plus de 40 langues : un même script peut donc devenir une version espagnole ou japonaise en un seul changement dans la liste déroulante. Ajustez ensuite la diction :
Vitesse : 0,5 à 2,0, avec 1,0 par défaut
Hauteur : moins 12 à plus 12 demi-tons
Volume : 0 à 10, avec 1,0 par défaut
💡 Pour les vidéos explicatives, essayez une vitesse de 1,1 et gardez la hauteur à deux demi-tons de zéro au maximum. Des écarts plus importants commencent à sonner artificiels.
Exportez au bon format
Le MP3 est le format par défaut et atteint 256 kbit/s, ce qui convient aux podcasts et aux vidéos. WAV et FLAC sont sans perte, pour le montage, et PCM fournit de l’audio brut pour les pipelines. Activez les métadonnées de sous-titres lorsque vous voulez des horodatages par phrase pour les légendes.
D’autres modèles valent la peine d’être testés sur le même script :
Qwen3 TTS pour cloner une voix ou en concevoir une nouvelle
Clonage vocal de MiniMax pour une voix personnalisée
Créer votre première voix off
Le script, la voix et la bande-son sont trois tâches distinctes, et chacune a son modèle. Rédigez le script avec Claude Sonnet 5 ou Gemini 3.5 Flash, générez la narration avec Speech 2.8 HD, puis placez une nappe musicale en dessous, à faible volume, créée avec Lyria 3, Music 2.6 ou Stable Audio 2.5.
Un plan simple vous mène de zéro à une voix prête à l’emploi en une seule séance :
Rédigez un script de 150 mots et générez-le avec trois voix différentes.
Choisissez la meilleure et notez ses réglages de vitesse, de hauteur et d’émotion.
Sélectionnez dans le tableau l’option gratuite qui correspond à votre volume mensuel.
Stockez chaque fichier généré, afin que chaque phrase ne soit payée qu’une seule fois.
Ouvrez PicassoIA, collez un paragraphe de votre propre projet et essayez trois voix avec trois émotions différentes. Dix minutes d’écoute vous en apprendront plus que n’importe quelle page tarifaire, et elles règlent le choix de la voix avant que vous n’écriviez la moindre ligne d’intégration. Pendant que vous y êtes, générez une image miniature ou une courte vidéo pour accompagner l’audio, puis construisez à partir de la voix que vous avez préférée.