Mise en ligne YouTube
Parcours vérifié le 2026-10-10 (promo Kick Chat Translator, 7 Mo, 15 s, https://youtu.be/Uxz8U-CcDQ4). La demande de kil vaut autorisation de publier CETTE vidéo ; chaque nouvelle vidéo demande sa propre demande.
Règles
- Visibilité par défaut : Non répertoriée. Publique seulement si kil le dit.
- Public : toujours « Non, elle n'est pas conçue pour les enfants ».
- Jamais supprimer une vidéo (ni l'ancienne, ni un essai) : c'est à kil.
- Ne rien toucher d'autre dans Studio (avertissements, monétisation, playlists).
Pré-requis
- Navigateur : DEBUG CHROME, le Chrome lancé avec
--user-data-dir=C:\Users\<user>\.config\kick-chat-translator\cws-chrome --remote-debugging-port=9222. Il est connecté à YouTube (chaîne pkkls, @Pkkls2) et au dashboard du Chrome Web Store. - Si plusieurs navigateurs sont connectés au MCP et aucun n'est choisi, l'outil impose
AskUserQuestion. Proposer l'écran de confirmation (
switch_browser) : kil clique Connect dans DEBUG CHROME. Une fois choisi, tout le reste se fait sans lui. - Fichier de 10 Mo maximum avec
file_uploaddu MCP. Au-delà, la voie CDP ci-dessous, sans limite et sans clic de kil (vérifiée le 2026-10-10 avec 21,8 Mo).
Plus de 10 Mo, ou sans le MCP : CDP sur DEBUG CHROME
DEBUG CHROME expose CDP sur le port 9222 (http://127.0.0.1:9222/json/version
répond). Le script ouvre l'import dans un nouvel onglet, pose le fichier par
DOM.setFileInputFiles, coche « pas pour les enfants », fait Suivant ×3, coche la
visibilité, attend la fin de l'envoi, enregistre et relit le lien puis l'oEmbed :
node C:\Users\<user>\.claude\skills\youtube-upload\upload-cdp.mjs "<chemin absolu .mp4>" UNLISTED
Il s'arrête sans rien enregistrer si la visibilité n'est pas cochée. Captures de
contrôle dans yt-upload-shots/ à côté du script. Le titre vient du nom du
fichier : copier le fichier sous le nom voulu avant (kick-chat-translator-promo.mp4
donne « kick chat translator promo »). Fermer ensuite l'onglet qu'il a ouvert.
Étapes
navigatehttps://studio.youtube.com, capture d'écran : vérifier « Votre chaîne : pkkls » en haut à gauche. Autre chaîne = stop, le dire à kil.- Clic sur Créer (en haut à droite), puis Importer des vidéos.
find"file input element for selecting video files to upload", puisfile_uploadavec ce ref et le chemin absolu. Ne jamais cliquer « Sélectionner des fichiers » : le sélecteur natif est invisible pour le MCP.- Détails : le titre est pré-rempli depuis le nom du fichier (tirets en espaces).
Le remplacer seulement si kil a donné un titre. Le lien
https://youtu.be/<id>s'affiche déjà à droite : le noter. find"radio button 'Non, elle n'est pas conçue pour les enfants'",scroll_topuisleft_clicksur ce ref. Sans ce choix, Suivant ne passe pas.- Suivant trois fois (en bas à droite du dialogue) : Éléments vidéo, Vérifications (attendre « Droits d'auteur : Aucun problème détecté »), Visibilité.
find"radio button 'Non répertoriée'" (ou Publique / Privée),left_click, puiszoomsur le bloc pour voir le bouton coché.- Enregistrer. Le dialogue « Vidéo mise en ligne » redonne le lien : le relire, puis Fermer.
- Vérifier hors navigateur :
https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=<id>&format=jsondoit répondre 200 avecauthor_namepkkls.
Le traitement HD continue quelques minutes après l'enregistrement ; le lien fonctionne tout de suite.
Rendre à kil
Les liens https://youtu.be/<id> et https://www.youtube.com/watch?v=<id>, la
visibilité, la chaîne, le fichier envoyé (chemin absolu) et le résultat de
l'oEmbed.
Coller le lien dans le Chrome Web Store (étape séparée)
Sur ordre de kil (« mets-le sur le store », « upload sur chrome »), tout se fait
sans lui, en CDP sur le port 9222 de DEBUG CHROME (le dashboard refuse toute
extension, Claude in Chrome compris). Scripts dans cws/ à côté de ce fichier,
vérifiés le 2026-10-10 (soumission acceptée, PENDING_REVIEW) :
- Brouillon propre :
node cws/cws-video.mjs stateaffiche l'onglet Package ; la version « Brouillon » doit égaler la « Publié ». Sinon stop, demander. - Lien vidéo dans les deux champs (internationale + localisée de la langue par
défaut), enregistrement, relecture après rechargement :
node cws/cws-video.mjs setvideo "https://www.youtube.com/watch?v=<id>"La sortieafter reloaddoit montrer<id>dans les deux champs. - Envoi :
node cws/cws-click.mjs "Envoyer pour examen"deux fois (bouton de la page, puis bouton du dialogue de confirmation). - Si le bouton reste grisé ou que le dialogue dit « Envoi impossible » :
node <repo>/scripts/stores/cws-listing.mjs whylit la raison. Un champ texte se corrige avecnode cws/cws-setfield.mjs <onglet> "<valeur actuelle>" "<nouvelle>"(onglets :edit,edit/privacy), qui relit après rechargement. - Preuve :
node <repo>/scripts/stores/cws.mjs statusdoit diresubmittedItemRevisionStatus.state: PENDING_REVIEW.
<repo> = C:\Users\<user>\Downloads\kick-chat-translator. Captures de contrôle :
node cws/cws-shot.mjs out.jpg ; état et boutons : node cws/cws-peek.mjs.
Erreurs déjà commises (à ne pas refaire)
- 2026-10-10 :
file_uploaddu MCP refuse au-delà de 10 Mo ; ne pas réencoder la vidéo validée (kil l'a validée telle quelle), passer parupload-cdp.mjs. - 2026-10-10 : DEBUG CHROME se déconnecte du MCP dès qu'on sélectionne un autre navigateur ; CDP sur 9222 marche toujours (
/json/version). - 2026-10-10 : uploader avant la validation de kil a produit une vidéo jugée « affreuse » restée en ligne (non répertoriée) ; toujours faire valider le rendu AVANT l'upload.
- 2026-10-10 : le formulaire du dashboard ignore
Input.insertText; le setter natifvalue+ événementsinput/change/blurmarche (c'est ce que faitcws-setfield.mjs). - 2026-10-10 : un
[role=dialog]invisible et vide traîne sur la page ;cws-click.mjsl'ignore. Le clic souris simulé sur « Envoyer pour examen » n'ouvre rien, le.click()de l'élément si. - 2026-10-10 : URL de confidentialité GitHub
blob/...= 503 pour le robot Google, donc « Impossible d'accéder au lien vers les règles de confidentialité ». Utiliserhttps://raw.githubusercontent.com/Pkkls/kick-chat-translator/master/PRIVACY.md(en place depuis). - Détails : journal du 2026-10-10 dans
kick-chat-translator/.claude/skills/publish-stores/SKILL.md(frappe réelle, dialogue vide, URL de confidentialité).