Studio YouTube - scripts, textes et bibles des huit chaines
  • Python 73.7%
  • Rust 8.5%
  • JavaScript 5.8%
  • HTML 5.2%
  • Svelte 4.1%
  • Other 2.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-18 23:07:44 +02:00
.commandcode/taste Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
.forgejo/workflows ci(tableau): tests Rust en profil dev, le binaire release reste construit 2026-10-17 07:01:10 +02:00
00-doctrine Intro de Crayon : l'invitation se pose en surimpression sur l'épisode (STUD-1138) 2026-10-13 18:07:08 +00:00
_archives Une seule lecture du code d'épisode, au socle ; inventaire des calculs des onglets 2026-10-13 14:32:54 +00:00
_cles-api Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
_essais Flèche de désignation : refus si le plan change pendant l'effet (STUD-616) 2026-10-12 07:30:13 +00:00
_infra Merge remote-tracking branch 'origin/main' into lots/hermes-1696 2026-10-17 11:32:29 +02:00
_reseaux docs(reseaux) : le garde-chromium respecte l'arrêt volontaire des navigateurs 2026-10-18 08:46:04 +02:00
_tableau test(porte) : les replis du garde, de TikTok, de Sujets et du Short à images verticales 2026-10-18 20:17:56 +00:00
_travail État partagé : le relevé de rythme passe dans la base SQLite (rythme.json) 2026-10-16 13:59:42 +02:00
agents Mika : Sonnet par défaut, Opus sur liste, réveils sur événement et pas à heure fixe, 3 passes par ticket et par jour (quota) 2026-10-14 06:17:16 +00:00
Ancetres Drama 3 : les voix choisies à l écoute, écrites dans les chartes (voix.drama3) et en tête du guide des voix 2026-10-14 07:33:07 +00:00
autopilotes Couverture : le cliquet passe dans la base du service d'état (STUD-1110) 2026-10-15 15:09:43 +02:00
Boite-a-Pourquoi Drama 3 : les voix choisies à l écoute, écrites dans les chartes (voix.drama3) et en tête du guide des voix 2026-10-14 07:33:07 +00:00
controle Merge remote-tracking branch 'origin/main' into lots/hermes-1696 2026-10-17 09:04:26 +02:00
Deja-Vu Drama 3 : les voix choisies à l écoute, écrites dans les chartes (voix.drama3) et en tête du guide des voix 2026-10-14 07:33:07 +00:00
effet-sonore Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
generiques Intro de Crayon : l'invitation se pose en surimpression sur l'épisode (STUD-1138) 2026-10-13 18:07:08 +00:00
Mammouth-Mental Mammouth Mental S22 : fiche, chapitres et sous-titres de la version validée (STUD-859) 2026-10-14 04:35:33 +00:00
Minute-Chat Merge pull request 'Minute Chat L23 peureux : description et chapitres (STUD-856)' (#1600) from branche/claude-opus-L23-description into main 2026-10-14 10:28:31 +02:00
Minute-Nature publier-short*.py, publier-shorts.py, publier-v2.py : collecte ciblée du tableau après la confirmation de l'API 2026-10-13 20:25:19 +00:00
Minute-Sport Minute Sport F06 basket : chapitres recalés sur le montage avec génériques (STUD-1076) 2026-10-13 23:44:05 +00:00
moteur-motion Le texte dessiné se mesure : coupé, chevauché, ou sous le badge de durée 2026-10-09 16:33:46 +00:00
Og-et-Boulou publier-short*.py, publier-shorts.py, publier-v2.py : collecte ciblée du tableau après la confirmation de l'API 2026-10-13 20:25:19 +00:00
outils Les dossiers de passage des bancs sortent du tmpfs /tmp (t_5d5edc3d) 2026-10-14 21:56:58 +02:00
schemas Réglage pilote du tableau : multica par défaut 2026-10-14 16:10:46 +02:00
souffles-voix STUD-736 : liens .md morts repointes, citations de voix_respire qualifiees, registre des autopilotes a 18 lignes 2026-10-11 22:06:55 +00:00
.gitignore Relevé : chaque étape a son délai et son journal, et la page dit la vraie cause 2026-10-15 15:34:25 +02:00
A-REPRENDRE-2026-10-05.md Merge remote-tracking branch 'origin/branche/mika-verification-telephone' into branche/commandcode-gratuit-reconciliation-55 2026-10-03 14:30:37 +00:00
abonnement.py Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
ABOUT-MONEYPRINTERTURBO.md Documents d'entrée : ABOUT renommé (outil tiers), liens morts de LIVRE réparés, inventaire de OUTILS généré, voix en vigueur dite 2026-10-07 13:22:55 +00:00
AGENTS.md AGENTS.md : où va un nouveau code du tableau, et comment les bancs le tiennent (STUD-1191, garde-fou 4) 2026-10-14 02:09:58 +02:00
budget.json Budget Runware par épisode, seconde génération justifiée, requête payée réutilisée (STUD-1136) 2026-10-13 20:06:06 +00:00
budget.py Budget Runware par épisode, seconde génération justifiée, requête payée réutilisée (STUD-1136) 2026-10-13 20:06:06 +00:00
cadences.json Cadences : banc des lecteurs et sources datées au relevé (STUD-1042) 2026-10-13 19:08:06 +00:00
cadrage.py Plafond du jour de 3 $ sur toute la génération payante, registre unique au service d'état (STUD-1140) 2026-10-13 18:49:37 +00:00
CALENDRIER.md Cadences : CALENDRIER.md et les bibles générés depuis cadences.json (STUD-1042) 2026-10-13 19:08:06 +00:00
CAPACITES.md CAPACITES : le chemin CommandCode est hors service, les deux mesures 2026-10-12 12:13:45 +00:00
charte.py exiger_fish refusait Fish S2 pour toutes les chaînes (sortie 1 inconditionnelle, STUD-560) alors que tout est en fish_s2 depuis le 2026-10-13 : lit la charte, refuse seulement ce qui n'est pas fish_s2; banc et textes alignés (STUD-1128) 2026-10-13 19:02:01 +00:00
claude_studio.py API Claude du studio (claude_studio.py, budget gardé) et contrôles visuels (texte dans les images, vignettes à 120 px) 2026-10-13 09:47:32 +00:00
COLLABORATIONS.md Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
collecte_apres.py publier.py : collecte ciblée du tableau juste après la confirmation de l'API 2026-10-13 20:18:29 +00:00
COMPARATIF-FOURNISSEURS-2026-09-28.md Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
compte-rendu-mamouth.md garde-fraicheur : relecture des onze documents périmés de la racine 2026-10-05 11:18:52 +00:00
conduite.py G04 : exceptions du format pour s'endormir dans sonvoix et conduite 2026-10-14 05:06:10 +00:00
controle_anatomie.py Contrôle d’anatomie retiré : l’opérateur juge les images dans l’Atelier 2026-10-07 06:19:08 +00:00
COUT-PAR-EPISODE.md Coût réel par épisode : le journal reçoit le cost de Runware, rythme.py le cumule 2026-10-13 03:10:14 +00:00
creneau.py Cadences : les documents renvoient à cadences.json au lieu de recopier (STUD-1042) 2026-10-13 19:08:07 +00:00
dependances-systeme.txt Retire les deux dernières lectures de FAL_KEY : credit.sh et styles.py 2026-10-07 01:17:00 +00:00
diction.py Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
DIFFUSION-HORS-YOUTUBE.md Shorts : plus de plancher de 60 s, plafond de 180 s 2026-10-05 13:35:28 +00:00
en-4k.py en-4k.py : le PC de l opérateur encode quand il est allumé, sinon le LXC 130 2026-10-06 09:45:01 +00:00
ENQUETE-DISTRIBUTION.md Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
ESPACE-DISQUE.md Stockage : politique de conservation par catégorie et outil en lecture seule (STUD-1239) 2026-10-14 05:46:12 +00:00
ETAT-CHAINES-2026-10-03.md Le vertical vaut 3,8 fois le paysage, a format et duree comparables 2026-10-03 05:04:52 +00:00
etat.py Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
etat_client.py Merge remote-tracking branch 'origin/main' into lots/hermes-1696 2026-10-17 09:04:26 +02:00
etat_partage.py Merge remote-tracking branch 'origin/main' into lots/hermes-1696 2026-10-17 09:04:26 +02:00
etat_partage.sql Merge remote-tracking branch 'origin/main' into lots/hermes-1696 2026-10-17 09:04:26 +02:00
ETUDE-NICHES-STOCK-2026-09-28.md Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
ffmpeg_pc.py Déport PC : limite de commande selon le travail, échec partiel gardé (STUD-1118) 2026-10-13 14:51:25 +00:00
FORMAT-VERITE-2026-10-03.md Le vertical vaut 3,8 fois le paysage, a format et duree comparables 2026-10-03 05:04:52 +00:00
garde-sujet.py garde-titre : avertit sur titre hors 40-60 car., mots répétés titre/vignette, vignette > 4 mots ou illisible à 120 px. Aucune grille n'existait ; avertissement seulement, mesure par --mesure (STUD-1058) 2026-10-13 08:24:24 +00:00
garde-titre.py garde-titre : avertit sur titre hors 40-60 car., mots répétés titre/vignette, vignette > 4 mots ou illisible à 120 px. Aucune grille n'existait ; avertissement seulement, mesure par --mesure (STUD-1058) 2026-10-13 08:24:24 +00:00
garde_ocr_images.py Crayon : zéro texte dans les images, lu par OCR avant le montage (STUD-1135) 2026-10-13 17:45:39 +00:00
garde_texte_images.py Déjà Vu : plus d'image à texte, le texte passe en motion anglais sur les Shorts et les longs (STUD-1029) 2026-10-13 06:49:09 +00:00
garde_voix.py Toutes les voix passent sur Fish S2 par le Space Hugging Face (voix_fish.py, aiguillage central) 2026-10-13 10:20:52 +00:00
generiques_long.py Intro de Crayon : l'invitation se pose en surimpression sur l'épisode (STUD-1138) 2026-10-13 18:07:08 +00:00
GUIDE-VOIX-FISH.md Drama 3 : les voix choisies à l écoute, écrites dans les chartes (voix.drama3) et en tête du guide des voix 2026-10-14 07:33:07 +00:00
images_short.py Coût réel par épisode : le journal reçoit le cost de Runware, rythme.py le cumule 2026-10-13 03:10:14 +00:00
INSTALL.md Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
invitation.py Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
jetons.py Jetons : _reseaux lit et écrit ses jetons par jetons.py ; la clé du LXC 132 se cherche aussi dans ~/.agent-config 2026-10-05 15:11:09 +00:00
journal_production.py Coût réel par épisode : le journal reçoit le cost de Runware, rythme.py le cumule 2026-10-13 03:10:14 +00:00
lancer-long.sh État partagé : un seul écrivain, le service d'état du 130 ; verrou de montage par bail 2026-10-13 15:55:00 +00:00
LECONS.md fix(gardes) : les gardes de l'ancien système changent de sens, et le pilote quitte le socle 2026-10-18 08:38:03 +02:00
LIVRE.md Charte : bloc publication dans chaque charte.json, charte.publication(), CHARTE-STUDIO.md 2026-10-12 18:27:19 +00:00
livrer.sh ci(tableau): le build concède COEURS_BUILD cœurs (4 par défaut) 2026-10-17 08:07:02 +02:00
METHODE-SHORTS.md Contrôle du MP4 rendu : noir, plan figé, trou de son (blackdetect, freezedetect, silencedetect) 2026-10-13 02:57:38 +00:00
methode_short.py Voix dans la charte et Shorts de Minute Nature en ElevenLabs (STUD-426) 2026-10-06 15:14:44 +00:00
MONTAGE.md Intro de Crayon : l'invitation se pose en surimpression sur l'épisode (STUD-1138) 2026-10-13 18:07:08 +00:00
montage_verrou.py Bascule sur créneau : gel après le montage en cours, puis pont vers le service 2026-10-13 19:42:27 +00:00
motion_montage.py Mots horodatés de la motion transcrits par le PC de l'opérateur (whisper_pc) 2026-10-13 08:28:07 +00:00
mouvements.py Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
NETTOYAGE.md Arbre initial du studio YouTube 2026-10-02 13:31:02 +02:00
OUTILS.md docs(etat): le service d'etat reste sur .142 (LXC 130), pas sur le 132 2026-10-17 10:54:34 +02:00
PACK.md Cadences : les documents renvoient à cadences.json au lieu de recopier (STUD-1042) 2026-10-13 19:08:07 +00:00
PILOTAGE.md Passer un ticket en todo ne reveille personne : c est l assignation qui lance le run, mesure du 2026-10-04 2026-10-04 05:19:30 +00:00
PLAFOND-JOUR.json Plafond du jour de 3 $ sur toute la génération payante, registre unique au service d'état (STUD-1140) 2026-10-13 18:49:37 +00:00
PLAN.md Cadences : les documents renvoient à cadences.json au lieu de recopier (STUD-1042) 2026-10-13 19:08:07 +00:00
plan_revele.py Plus d'intro « main qui dessine » : interdite par la charte des huit chaînes (STUD-926) 2026-10-12 23:18:42 +00:00
posts-x-chaines.md garde-fraicheur : relecture des onze documents périmés de la racine 2026-10-05 11:18:52 +00:00
prevol.py Plafond du jour de 3 $ sur toute la génération payante, registre unique au service d'état (STUD-1140) 2026-10-13 18:49:37 +00:00
PRODUCTION.md Cadences : les documents renvoient à cadences.json au lieu de recopier (STUD-1042) 2026-10-13 19:08:07 +00:00
PROJET-MINUTE-SPORT.md Shorts : plus de plancher de 60 s, plafond de 180 s 2026-10-05 13:35:28 +00:00
provenance.py Budget Runware par épisode, seconde génération justifiée, requête payée réutilisée (STUD-1136) 2026-10-13 20:06:06 +00:00
pyproject.toml Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
README.md Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
REGLES-YOUTUBE.md STRATEGIE : la qualite du contenu est l'objectif, et les quatre regles du jour en un seul numerotation 2026-10-03 06:53:18 +00:00
RELECTURE.md Boîte à Pourquoi : grille des 30 premières secondes sur EP17, EP18, EP20 (STUD-1078) 2026-10-13 10:44:13 +00:00
RELEVE.csv Un controle de continuite qui sort 1, et le constat qui corrige le ticket 2026-10-03 05:34:43 +00:00
requirements-transcription.txt Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
requirements.txt Les dependances du studio, declarees et verifiables 2026-10-03 04:29:30 +00:00
RESSOURCES.md Ranger les outils transverses dans outils/ et archiver les restes (STUD-147) 2026-10-07 13:14:02 +00:00
RETENTION.md STUD-905 : rétention des longs, ce qui sépare Crayon des trois autres chaînes 2026-10-12 22:07:01 +00:00
ROUTAGE.md Merge pull request 'Cadences : lecteurs, blocs générés et garde permanent (STUD-1042, temps 3)' (#1497) from branche/claude-opus-pc-cadences-generes into main 2026-10-13 21:40:19 +02:00
runware_images.py Plafond du jour de 3 $ sur toute la génération payante, registre unique au service d'état (STUD-1140) 2026-10-13 18:49:37 +00:00
soldes.py Fish n’est plus utilisé, nulle part 2026-10-07 05:58:55 +00:00
son-voix.py son-voix.py : bruit rose sur un segment fixe, une voix longue n'est plus tuée par manque de mémoire 2026-10-12 21:51:44 +00:00
sonvoix.py G04 : exceptions du format pour s'endormir dans sonvoix et conduite 2026-10-14 05:06:10 +00:00
sous-titres.py sous-titres.py : une réplique à cheval sur la coupe saute l'intro en entier 2026-10-12 23:52:52 +00:00
STANDARD-PRODUCTION.md État partagé : le journal des choix de vignettes passe dans la base (STUD-1111) 2026-10-15 22:18:44 +02:00
STOCKAGE.md Stockage : politique de conservation par catégorie et outil en lecture seule (STUD-1239) 2026-10-14 05:46:12 +00:00
stockage.py Stockage : politique de conservation par catégorie et outil en lecture seule (STUD-1239) 2026-10-14 05:46:12 +00:00
STRATEGIE.md Cadences : les documents renvoient à cadences.json au lieu de recopier (STUD-1042) 2026-10-13 19:08:07 +00:00
STUDIO-READY.md Registre STUDIO-READY.md : balise chaque script et règle par grep de chemin absolu mort 2026-10-03 05:43:22 +00:00
VIGNETTES.md État partagé : le journal des choix de vignettes passe dans la base (STUD-1111) 2026-10-15 22:18:44 +02:00
voix_eleven.py Voix : un bloc dont la clé change est mis de côté, plus jamais supprimé (STUD-859) 2026-10-14 03:59:01 +00:00
voix_fish.py Voix Fish : un Space en attente de carte sans erreur (APP_STARTING, hardware.current vide) déclenche le repli après 10 min 2026-10-14 05:02:41 +00:00
whisper_pc.py Transcriptions faster-whisper déportées sur le PC de l'opérateur (whisper_pc.py, verbe transcrire) 2026-10-13 07:30:52 +00:00

Atelier YouTube

Huit chaînes, un atelier commun. Ce fichier a été réécrit le 2026-10-02 : la version précédente datait du 2026-09-18 et ne décrivait que trois chaînes, alors que le studio en compte huit. Les chiffres viennent de l'API YouTube, lus le 2026-10-02 au soir ; ils sont datés parce qu'ils vieillissent tous les jours.

Par où commencer : LIVRE.md — l'ouvrage de référence du studio. Il relie tout le reste et dit dans quel ordre le lire.

Si vous êtes déjà en train de produire et que vous cherchez juste l'ordre des opérations : PRODUCTION.md.

L'état du jour, chaîne par chaîne : ETAT-CHAINES-2026-10-03.md. Le tableau plus bas date du 2026-10-02 et compte les Shorts par la durée seule ; le document du 2026-10-03 mesure les huit chaînes sur l'API et montre que 255 vidéos comptées « Shorts » par ce tableau n'en sont que 82 — les 173 autres sont des courtes en paysage, qui ne recevront jamais la découverte d'un Short. Ce tableau est conservé tel quel pour la comparaison ; pour savoir où on en est, lire le document daté.


Où en est le studio au 2026-10-02

Relevé fait sur l'API, en lecture seule, chaîne par chaîne. Un « long » fait plus de trois minutes, un Short trois minutes ou moins. Les heures sont une estimation : durée × vues. L'API ne donne pas le temps de visionnage réel, seul YouTube Analytics le donne — cette estimation sert à situer les ordres de grandeur, pas à prouver la monétisation.

Chaîne Abonnés Longs publics Heures de longs % des 4 000 h Shorts publics Vues Shorts Privées ou programmées
Minute Chat 1 090 21 264 6,6 % 124 146 858 79
Crayon d'Hier 31 12 180 4,5 % 17 12 650 2
Minute Nature 265 15 57 1,4 % 79 77 477 19
Mammouth Mental 22 15 33 0,8 % 25 2 638 71
La Boîte à Pourquoi 3 15 12 0,3 % 0 0 6
Minute Sport 3 2 1 0,0 % 3 187 0
Deja-Vu 0 3 0 0,0 % 2 13 20
Og et Boulou 1 0 0 0,0 % 2 23 0
Total 1 415 83 547 — 252 239 846 197

Les 4 000 heures se comptent chaîne par chaîne, jamais au total. C'est un seuil de YouTube Partner Program : il s'applique à une chaîne, avec ses 1 000 abonnés. additionner les heures des huit chaînes pour dire « le studio est à 547 h sur 4 000 » serait une erreur de méthode — cela donnerait 14 % là où la meilleure chaîne est à 6,6 %, et surtout cela ne monétise rien.

Donc la bonne question n'est pas « combien d'heures le studio a-t-il », c'est quelle chaîne porte le seuil. PLAN.md en désigne une : Deja-Vu, chaîne neuve, un seul sujet, une seule langue, marché américain. C'est là que l'effort paie, parce qu'une vue américaine vaut 5 à 10 fois une vue française. Les sept autres chaînes ne sont pas des échecs : ce sont des bibliothèques et des viviers de Shorts.

L'état réel de cette chaîne, mesuré ce soir : 5 vidéos publiques, 0 abonné, 2 vues cumulées, 0 heure de long. Les cinq sont sorties les 30 septembre et le 1er octobre. Les 20 autres sont privées ou programmées. Le plan prévoyait 4 longs au 1er octobre et 8 au 1er novembre : le jalon d'octobre est tenu, le point de départ est nul. C'est là que se trouve l'écart, et il se mesure en semaines de publication, pas en pourcentage.

Les deux seules chaînes qui ayent de l'ampleur sont Minute Chat (1 090 abonnés, 264 h) et Minute Nature (265 abonnés, 79 Shorts à 77 477 vues). Aucune n'est monétisable, et aucune ne le sera par le chemin court : il leur faudrait 4 000 h chacune.

Les 197 vidéos privées ou programmées sont la réserve du studio : de la production déjà finie qui attend sa sortie. Ce n'est pas un problème de fabrication, c'est un problème de file.

Le format court a résolu la découverte, pas la monétisation. Les Shorts de Minute Chat (146 858 vues) et de Minute Nature (77 477 vues) portent ce que les longs n'obtiennent pas. La question ouverte n'est plus « est-ce que ça marche », c'est « est-ce que ça se convertit en heures de long », et pour l'instant la réponse mesurée est non.


L'arborescence

Youtube/
├── PLAN.md                      LES OBJECTIFS chiffrés, et les jalons
├── PRODUCTION.md                COMMENT on fabrique une vidéo, du début à la fin
├── MONTAGE.md                   la recette technique, figée et non négociable
├── VIGNETTES.md                 le gabarit de vignette et les repères de taux de clic
├── LECONS.md                    le journal des erreurs, avec cause et remède
├── RETENTION.md                 les courbes mesurées
├── README.md                    ce fichier — l'état des chaînes
├── RESSOURCES.md                plans repérés ailleurs, avec le tri déjà fait
├── STANDARD-PRODUCTION.md       le standard de départ (antérieur à PRODUCTION.md)
├── RELECTURE.md                 le circuit de relecture, avant toute voix
├── NETTOYAGE.md                 les actions de nettoyage des chaînes
├── OUTILS.md                    l'inventaire des scripts transverses
├── A-FAIRE-*.md, A-REPRENDRE-*.md   l'état courant : ce qui tourne, ce qui attend l'opérateur
├── RELEVE.csv, CALENDRIER.md   les chiffres mesurés et ce qui est programmé
├── etat.py, outils/etat-publication.py  relire l'état sur YouTube plutôt que dans un fichier
├── _cles-api/                   les clés et le guide OAuth YouTube
├── _identites/                  les identités visuelles
├── _reseaux/                    Instagram, TikTok, X — hors YouTube
├── _tableau/                    le tableau de bord (LXC 132) et ses données
├── Ancetres/                    Crayon d'Hier — 31 abonnés, 180 h de longs
├── Minute-Chat/                 1 090 abonnés, 264 h — la plus avancée
├── Minute-Nature/               265 abonnés, 79 Shorts publiés
├── Mammouth-Mental/             22 abonnés, 71 vidéos en file
├── Boite-a-Pourquoi/            enfants, Made for Kids — voix Luma
├── Deja-Vu/                     anglophone, marché américain
├── Minute-Sport/                sport, démarrée le 2026-09
└── Og-et-Boulou/                Og et Boulou, une voix par personnage

Les quatre documents qui portent le savoir

PRODUCTION.md l'ordre des douze étapes et les quatre contrôles qui rattrapent tout
MONTAGE.md chaque geste technique, avec la mesure qui l'a imposé
VIGNETTES.md le gabarit figé après audit des recommandations 2026
LECONS.md ce qu'il ne faut plus refaire, et pourquoi

Et par chaîne : <Chaîne>/00-doctrine/ pour la ligne éditoriale, STYLE-CIBLE.md pour la référence mesurée.


Les voix

Une voix par chaîne est la règle du 2026-09-15 ; elle n'est plus respectée partout, et c'est un choix à confirmer, pas un oubli. Les voix « à nous » ont été branchées à partir du 2026-09-30, et leur propriété commerciale n'est pas encore confirmée par écrit par Fish — voir _cles-api/DROITS-VOIX-2026-09-30.md.

Chaîne Voix Identifiant
Crayon d'Hier Narrateur VD1 (homme), Fish a0a03101…
Minute Sport Narrateur VD1 (homme), Fish a0a03101…
Minute Chat Minute Chat VD2, Fish fb563fed…
Minute Nature Minute Chat VD2, Fish fb563fed…
Mammouth Mental Morpheus (clonée) b825a252476341a2a83458c72e48155a
Deja-Vu Morpheus, ralentie à 0,92 b825a252476341a2a83458c72e48155a
La Boîte à Pourquoi Luma (clonée) d7f60a1e647d4543a14ed0bda38e9d7c
Og et Boulou une voix Fish par personnage Og-et-Boulou/00-doctrine/

Sauvegarder les fichiers de référence. Si un ref-*.mp3 disparaît et que le modèle cloné saute, la voix de la chaîne est irrécupérable.

Autres actifs : le son de la lumière de Luma (Boite-a-Pourquoi/03-voix/son-lumiere/), sa bible de personnage, et les scripts de production dans Boite-a-Pourquoi/outils/animatique/.


Ce qui se partage entre chaînes

Élément Où
Clés d'API ~/.claude/secrets.env, déposées via _cles-api/
Génération d'image et de vidéo Runware et RunComfy
Voix Fish Audio, s2.1-pro-free, gratuit jusqu'au 30/11/2026
Chaîne de production Boite-a-Pourquoi/outils/animatique/ — réutilisable telle quelle
Tableau de bord LXC 132, sources dans _tableau/
Veille et méthodes RESSOURCES.md

Ce qui ne se partage jamais : le personnage, le son, l'identité visuelle. Huit chaînes, huit mondes.


Décisions datées

Les sections suivantes ont été tranchées quand le studio comptait trois chaînes. Elles restent valables, mais leur périmètre s'arrête à ces trois-là : rien n'a été re-décidé pour les chaînes venues après. Une décision ne se change pas de sa propre autorité — c'est l'opérateur qui tranche, sur un point daté et chiffré.

Règle d'animation — tranchée le 2026-09-15

On n'anime que Luma. Les deux chaînes adultes restent en images fixes avec mouvement de caméra.

Chaîne Public Image Coût par vidéo
Mammouth Mental adultes fixe + mouvement ~0,55 $ pour 30 min
Minute Chat adultes fixe + mouvement ~0,30 $ pour 11 min
La Boîte à Pourquoi enfants animée ~1,20 $ pour 72 s

Pourquoi cette asymétrie : chez l'adulte, c'est la narration qui porte — l'image illustre, et la chaîne de référence Strictement fait 4 000 vues par jour en images fixes. Chez l'enfant de moins de dix ans, la voix ne suffit pas : il suit un personnage, et il décroche si rien ne bouge.

Correction d'une erreur de la même journée : j'avais d'abord déconseillé les images fixes en invoquant la répression des diaporamas de janvier 2026. C'était une sur-application. Le motif visé est « des images qui bougent sans narration réelle ni effort de montage ». Un script de 4 500 mots monté sur les respirations réelles de la voix n'entre pas dans ce motif, et le format long en images fixes est la norme de ce créneau.

Conséquence économique : animer une vidéo de trente minutes coûterait 21,60 contre 0,55 en images fixes. À une publication par jour, c'est 650 par mois contre 18. L'animation intégrale n'est pas seulement inutile sur le format long, elle est le seul poste capable de rendre la cadence impossible.

Les prix, au 2026-09-15

  • Image, Flux 2 Klein 9B : 0,003 $ — avec LoRA, 0,023 $
  • Animation, Seedance 1.0 Pro Fast : 0,012 $/seconde
  • Voix, Fish Audio : gratuit jusqu'au 30/11/2026, clonage compris
  • Un Short animé de 72 s, tout compris : environ 1,20 $
  • Entraînement d'une LoRA, H100 : 4,49 $/heure

La méthode, transposable à n'importe quelle chaîne future

  1. Écrire la doctrine avant de produire. Ce qui n'est pas écrit se renégocie à chaque épisode et finit par dériver.
  2. Chercher avant d'affirmer, et dater ce qu'on trouve.
  3. Figer le personnage dans une bible : anatomie, couleurs en hexadécimal, expressions, bloc de prompt, mot-déclencheur, liste de vérification.
  4. Cloner la voix plutôt que d'utiliser une voix par défaut, qui appartient au fournisseur et peut changer sans préavis.
  5. La voix dicte le rythme. On synthétise réplique par réplique, on mesure, l'image s'ajuste. Jamais l'inverse.
  6. Tester les voix sur le passage le plus difficile, pas sur un texte facile.
  7. Mesurer avant de conclure. Deux relevés espacés valent mieux qu'une estimation.
  8. Une chaîne dit une seule chose. Une vidéo hors sujet dans un catalogue brouille le signal envoyé à l'algorithme.
  9. Ne jamais industrialiser. Ce qui distingue une chaîne d'un lot de vidéos, c'est ce qui prend du temps et ne s'automatise pas.

Ce qui reste ouvert

L'état courant n'est pas ici : il est dans A-REPRENDRE-2026-10-05.md, dans les A-FAIRE-*.md, et dans les bibles de chaîne. Ce README ne porte que l'état des chaînes.

Trois points qui ne dépendent pas d'une chaîne en particulier, et qui traînent depuis septembre :

  1. La propriété commerciale des voix « à nous » n'est pas confirmée par écrit par Fish (_cles-api/DROITS-VOIX-2026-09-30.md). Tant que ce n'est pas écrit, l'exclusivité de timbre n'est pas un actif.
  2. Minute Nature et Minute Sport doivent être vérifiées par téléphone. Sans cela YouTube a déjà supprimé trois fois un ASMR de deux heures, et une miniature n'a jamais pu être posée.
  3. Le jeton oct_… du connecteur, imprimé en clair par erreur le 2026-09-15, est à régénérer et à vérifier comme étant réellement périmé.

Le chiffre qui décide reste la durée moyenne de visionnage des longs. Les vues mentent, les abonnés mentent. À la date de ce fichier, le studio totalise 547 heures de longs sur huit chaînes : c'est le seul écart qui compte jusqu'au 1er février 2027.