Tous les articles
·8 min de lecture·Yom Akakpo

Kokoro, F5, ElevenLabs : la stratégie TTS qui m'évite de cramer mes crédits

Une chaîne vidéo IA qui itère sérieusement consomme entre vingt et trente versions audio par épisode. À ce volume, le choix du moteur TTS n'est plus une question de qualité — c'est une question de cash flow. Voici la grille.

ttsai-videoelevenlabskokoropipeline

J'ai cramé six cents euros de crédits ElevenLabs en quatre jours, début 2026. Pas par négligence — par méconnaissance. Je venais de lancer ma deuxième chaîne, je travaillais sur les hooks d'épisode, et chaque ré-écriture de script déclenchait un nouveau rendu audio complet pour vérifier la prosodie. Vingt itérations sur l'épisode 01. Quinze sur l'épisode 02. Onze sur l'épisode 03. À environ trois mille caractères par épisode et la voix Liam à un certain coût par caractère, la facture est arrivée à temps pour me rappeler que la qualité ElevenLabs avait un prix proportionnel à mes mauvaises habitudes de travail.

C'est en ouvrant le dashboard de facturation ce matin-là que j'ai décidé d'arrêter de bricoler. Une stratégie TTS sérieuse, dimensionnée pour une chaîne de production qui itère. Trois moteurs, un par phase du cycle de vie d'un script.

Le résultat, six mois plus tard, sur huit chaînes actives : zéro dépassement budgétaire ElevenLabs, une qualité publication intacte, et environ douze euros mensuels au total en synthèse vocale au lieu de plusieurs centaines.

Voici la grille.

Le malentendu fondamental sur les moteurs TTS

La conversation publique autour des moteurs de synthèse vocale est presque toujours posée comme une question de qualité. « ElevenLabs c'est mieux que XTTS », « Kokoro est gratuit mais plus rigide », « F5 a une meilleure prosodie sur des longues prises ». Toutes ces affirmations sont défendables et toutes manquent le point opérationnel.

Pour quelqu'un qui produit une chaîne vidéo en continu, la question pertinente n'est pas « quel est le meilleur moteur ». C'est : « quel moteur dois-je utiliser à cette étape précise du cycle de production ». Itérer un script à coups de rendus ElevenLabs, c'est utiliser un steak Wagyu pour goûter un assaisonnement. Valider le mixage final sur du Kokoro, c'est l'inverse — vous risquez de publier un montage qui sonne bien sur le moteur d'itération et flop sur le moteur de production. Les deux erreurs ont le même symptôme apparent (« mon son est moins bon que prévu ») et deux causes opposées.

La grille suivante distingue trois étapes du cycle de vie d'un script et le moteur qui convient à chacune.

Tier 1 — Kokoro pour itérer le script

Le moteur. Kokoro est un modèle open-source de synthèse vocale développé par Hexgrad, distribué sous licence permissive. La voix ff_siwis que j'utilise pour les chaînes francophones est l'une des plus convaincantes du registre gratuit — pas au niveau d'ElevenLabs, mais à un niveau largement suffisant pour entendre le rythme d'un texte et détecter les phrases qui s'enroulent mal.

La cadence. Environ une seconde par segment sur un MacBook Pro M3. Pour un épisode de soixante secondes découpé en douze segments, ça donne douze secondes de rendu complet. À ce coût computationnel, une boucle d'itération de vingt versions reste sous les cinq minutes de temps machine cumulé.

Quand l'utiliser. À chaque écriture ou ré-écriture de script. Tant que vous travaillez sur les mots — la formulation d'un hook, l'enchaînement de deux segments, le rythme d'une phrase qui ne tombe pas juste — Kokoro est l'outil. Il n'a aucune raison d'être absent de votre flux à cette étape.

Ce qu'il rate. La prosodie subtile sur les phrases longues, les insertions emphatiques, la respiration entre deux idées. Une voix Kokoro vous dit si un script fonctionne ; elle ne vous dit pas combien il fonctionne. C'est le bon outil pour rejeter, pas pour valider.

Tier 2 — F5 local pour valider le montage

Le moteur. F5-TTS est un modèle de synthèse vocale zero-shot publié en 2024 — vous lui donnez un échantillon de voix de référence (quinze secondes suffisent) et il génère n'importe quel texte dans cette voix. Le résultat est qualitativement très proche d'ElevenLabs sur du contenu court, avec un avantage substantiel : il tourne en local, sans crédits.

La cadence. Beaucoup plus lente. Environ trois minutes par segment sur un MacBook M3, plus selon la longueur. Un épisode de soixante secondes tourne entre vingt-cinq et quarante minutes de rendu complet. À cette vitesse, il est exclu de l'utiliser pour itérer.

Quand l'utiliser. Une fois que le script est verrouillé et que vous voulez vérifier le rendu audio en conditions quasi-finales avant de payer ElevenLabs. C'est le banc d'essai. Vous rendez l'épisode complet une fois, vous montez la vidéo finale par-dessus, vous regardez le montage, vous identifiez les éventuels segments qui auraient besoin d'une autre prononciation ou d'une autre césure.

Ce qu'il rate. La consistance long-format. Sur huit ou dix segments, F5 peut introduire une légère dérive de timbre que ElevenLabs n'aurait pas. Ce n'est pas bloquant pour la validation du montage, mais c'est la raison principale pour ne pas le publier tel quel.

Tier 3 — ElevenLabs pour la version publiable

Le moteur. Le standard de l'industrie en 2026, sans ambiguïté. La voix Liam que j'utilise pour fr-quiz-host sur Cocorico passe à peu près le test de Turing audio — un viewer attentif soupçonne qu'il s'agit d'une voix synthétique, un viewer scrollant son fil ne remarque rien.

La cadence. Environ cinq secondes par segment, soit une minute pour un épisode complet. Le temps de calcul est trivial ; le facteur limitant est uniquement le crédit consommé.

Quand l'utiliser. Une fois et une seule, sur la version définitive du script qui sera publiée. Idéalement après avoir validé sur F5 que le découpage et le rythme tiennent. Le rendu ElevenLabs n'est pas une étape d'itération — c'est un acte de publication.

Ce qu'il rate. Très peu. Sur du contenu court (moins de quatre-vingt-dix secondes), la qualité est suffisante pour cinquante pour cent de votre audience qui ne fera pas la distinction avec une voix humaine. Sur des contenus plus longs, la signature « voix IA » commence à transparaître — pas un problème pour les Shorts, à surveiller pour les podcasts ou les vidéos YouTube longues.

Le mécanisme qui rend l'itération soutenable : le cache par hash

Le tableau ci-dessous est inutile sans la mécanique qui le sous-tend. À vingt itérations par épisode et quatre-vingts épisodes mensuels, on parle de mille six cents rendus audio potentiels. La seule manière de tenir économiquement, même en restant majoritairement sur Kokoro et F5, est de ne pas re-rendre ce qui n'a pas changé.

Mon orchestrateur Python calcule, pour chaque segment de chaque épisode, un hash SHA-256 du contenu textuel concaténé avec le moteur cible et la voix demandée. Ce hash sert de clé de cache. La logique tient en trois règles :

  1. Si le hash d'un segment est déjà en cache, le fichier audio est réutilisé sans re-rendu.
  2. Si je modifie une virgule dans le segment 7, seul le segment 7 voit son hash changer, et seul lui est re-rendu. Les onze autres restent intacts.
  3. Si je passe de Kokoro à F5 sur un même script, tous les hashs changent (parce que le moteur est inclus dans la clé), et l'épisode complet est re-rendu sur F5. Comportement attendu.

Le résultat opérationnel est qu'une itération de script — typiquement, je modifie un ou deux segments par passe — coûte le rendu d'un ou deux segments, pas du tout l'épisode. À l'échelle, c'est ce qui rend les vingt itérations Kokoro par épisode économiquement gratuites et techniquement rapides.

Le tableau récap

| Tier | Moteur | Coût | Cadence | Phase | Verdict | |---|---|---|---|---|---| | 1 | Kokoro ff_siwis | 0 € | ~1 s/segment | Itération script | Le bon outil pour rejeter | | 2 | F5 local | 0 € | ~3 min/segment | Validation montage | Le bon outil pour valider | | 3 | ElevenLabs Liam | ~0,05 € / 1000 chars | ~5 s/segment | Rendu publiable | Le bon outil pour publier |

Les chiffres réels sur un mois

Voici la décomposition exacte de ma consommation TTS en mai 2026, qui m'a coûté précisément onze euros et quatorze centimes. Huit chaînes, soixante-quatorze épisodes publiés, un volume d'itération moyen de seize passes par épisode.

  • Kokoro : 1 184 rendus de segments (soixante-quatorze épisodes × seize itérations × une moyenne de neuf segments effectivement modifiés par itération). Coût direct : zéro. Coût opportunité : environ trois heures de calcul cumulé.
  • F5 local : 74 rendus complets (une validation par épisode publié). Coût direct : zéro. Coût opportunité : environ trente-cinq heures de calcul cumulé.
  • ElevenLabs : 74 rendus complets sur la voix Liam. Environ 230 000 caractères au total. Coût direct : onze euros et quatorze centimes.

À comparer avec un scénario où chaque itération serait rendue sur ElevenLabs : 1 184 rendus de segments à environ trois cents caractères chacun, soit 350 000 caractères supplémentaires par mois. Au tarif courant, cela représenterait environ dix-sept euros de plus par mois — et nous parlons d'un volume relativement modeste. Sur une chaîne de production qui itérerait dix fois plus, l'écart deviendrait absurde.

Le cas particulier qu'il faut anticiper

La stratégie trois tiers a une faille connue : la dérive de prosodie entre F5 et ElevenLabs. Vous validez un montage sur F5, vous lancez la publication sur ElevenLabs, et un segment qui sonnait juste en F5 sonne soudain bancal en ElevenLabs (ou l'inverse). C'est rare mais ça arrive, typiquement sur les phrases avec une question rhétorique en fin ou une emphase non balisée.

Ma règle pratique pour limiter le risque : les segments critiques — hook ouverture, twist clé, punchline finale — sont systématiquement validés en condition prod sur ElevenLabs avant le verrouillage du script. Cela représente un coût supplémentaire négligeable (deux ou trois segments rendus en ElevenLabs au lieu de F5), et élimine 95% des dérives constatées.

Si vous n'avez qu'une chose à retenir

La stratégie TTS trois tiers n'est pas une optimisation de coût. C'est un changement de cadre conceptuel : un moteur de synthèse vocale n'est pas un outil, c'est un instrument calibré pour une étape du cycle de production. Itérer avec un instrument de production, c'est mal utiliser le matériel. Publier avec un instrument d'itération, c'est mal lire son rôle.

Le bon réflexe pour quiconque commence à produire à volume : avant d'optimiser le rendu publi, optimiser le coût de l'itération. La majorité du gain économique vit dans la première moitié du cycle, pas dans la dernière.


Le pipeline complet — orchestrateur Python qui choisit le tier selon un flag CLI, cache par hash, publication MCP via Shortflow vers six plateformes — est décrit dans le post pillar sur les huit chaînes. Si vous voulez tester la couche publication sans monter votre propre pipeline, créer un compte Shortflow ouvre un essai gratuit de sept jours avec MCP activé.