Actuellement, TikTok booste fortement les vues et l'engagement pour les diaporamas, vous pouvez consulter ces chaînes.




Pourquoi cette stack
Les diaporamas sont le format le plus rentable sur TikTok en ce moment :
- L'algorithme les pousse encore agressivement (contenu bon marché, problème d'offre infinie côté TT)
- Pas de tournage, pas de montage, pas de visage requis
- Basé sur l'accroche → vous pouvez tester 50 accroches par jour en A/B
- Les téléchargements en brouillon contournent la plupart des détections de bots qui frappent l'API de publication directe
Le goulot d'étranglement n'a jamais été les idées. C'était la chaîne de montage. Accroche → niche → direction d'image → 8 compositions de diapositives → légende → planification. Faire cela manuellement = 20 minutes par publication. Pour 30 comptes = un travail à temps plein que vous détestez.
Hermes Agent est le bon outil car ce n'est pas un framework que vous installez avec npm et que vous connectez, c'est un agent CLI autonome qui vit là où vous le placez (mon serveur Hetzner à 5 $), avec des compétences intégrées, cron, MCP et délégation de sous-agents. L'ensemble du pipeline n'est que des compétences que l'agent charge + des tâches cron qui les déclenchent selon un calendrier. Pas d'infrastructure de file d'attente, pas de pool de workers à gérer.
Étape 1 : Installer Hermes Agent
Installation en une ligne sur le VPS :
1curl -fsSL https://hermes-agent.nousresearch.com/install.sh | sh
Choisissez un fournisseur :
1hermes provider set anthropic
J'utilise Anthropic via OAuth (plan Max) pour les étapes agent (recherche d'accroche, direction d'image, légende) et un fallback OpenRouter bon marché pour les sondages à fort volume. Vous pouvez aussi connecter Nous Portal, OpenAI Codex, DeepSeek, Z.AI, Kimi - le modèle Hermes vous guide à travers tout cela.
Vérifiez que ça fonctionne :
1hermes --version
Si cela répond, vous avez passé la partie la plus difficile. Le guide de démarrage complet est sur https://hermes-agent.nousresearch.com/docs/getting-started/quickstart.
Ensuite, installez la passerelle en tant que service systemd pour que les tâches cron s'exécutent réellement lorsque vous n'êtes pas connecté :
1hermes gateway install
C'est le démon qui fait tourner le planificateur toutes les 60 secondes et exécute les tâches dues dans des sessions d'agent fraîches.
Étape 2 : Modèle mental pipeline = compétences + cron, pas de workers
La plupart des tutoriels d'automatisation utilisent des files d'attente et des workers. Hermes inverse cela. L'unité de travail est une compétence (fichier markdown dans ~/.hermes/skills/) et le déclencheur est une tâche cron qui charge une ou plusieurs compétences et les exécute.
Voici le mapping pour le pipeline TikTok :

Chaque compétence est un fichier markdown que l'agent charge à la demande. Les tâches cron les enchaînent via context_from. Le planificateur Hermes exécute chaque tâche dans une session isolée fraîche, donc pas de corruption d'état entre les comptes.
Étape 3 : Créer les compétences
Les compétences se trouvent dans ~/.hermes/skills/<category>/<skill-name>/SKILL.md. L'agent peut les créer lui-même via skill_manage, ou vous pouvez les rédiger à la main. Je fais un mélange : je rédige la structure, puis je laisse Hermes l'affiner après l'avoir vu fonctionner.
Compétence Hook Researcher
bash
~/.hermes/skills/tiktok/hook-researcher/SKILL.md:
Compétence Image Source Router
Cela décide entre Pinterest et la génération IA par emplacement.
~/.hermes/skills/tiktok/source-router/SKILL.md:
Compétence Pinterest Scraper
Celle-ci nécessite un script d'assistance car l'agent ne devrait pas faire de logique de rotation HTTP en contexte.
~/.hermes/skills/tiktok/pinterest-scraper/SKILL.md:
~/.hermes/skills/tiktok/pinterest-scraper/scripts/scrape.py est un script Python normal. L'agent l'invoque via execute_code ou terminal et analyse stdout. Le PROXY_POOL_URL déclaré ci-dessus est automatiquement transmis dans les sandboxes execute_code - c'est une fonctionnalité Hermes qui m'a évité beaucoup de plomberie d'environnement.
Mode Slide Compositor sans agent
Cette étape est entièrement déterministe. Pas besoin de LLM. Hermes a un mode no_agent pour exactement cela :
bash
~/.hermes/scripts/compose-slides.py:
Ensuite, planifiez-la comme une tâche cron no_agent - wakeAgent ne se déclenche jamais, aucun coût LLM sur cette étape.
Compétence Publisher
~/.hermes/skills/tiktok/publisher/SKILL.md:
Étape 4 : Le tueur de shadow ban - toujours le mode brouillon
C'est la partie que la plupart des tutoriels ignorent et c'est la principale raison pour laquelle les nouveaux comptes meurent.
Si un compte a moins de 30 jours, publiez TOUJOURS en brouillon. Aucune exception.
Les nouveaux comptes sur TikTok sont en probation. L'algorithme profile :
- Publication via l'API Content Posting → score de risque bot +1
- IP de publication ne correspondant pas à l'IP habituelle de l'appareil du compte → +1
- Intervalles réguliers suspects → +1
- Métadonnées supprimées ou incohérentes par rapport à la capture sur l'appareil → +1
Empilez 2-3 de ces facteurs sur un compte frais et vous obtenez un shadow ban silencieux. Aucune notification. Les vidéos restent bloquées à 50-200 vues pour toujours. Vous penserez que votre contenu est nul. Ce n'est pas le cas - le compte est mort.
La compétence Publisher ci-dessus code en dur le mode brouillon pour tout compte de moins de 30 jours / moins de 20 publications. Postiz le télécharge en brouillon, puis ma ferme d'iPhone récupère le brouillon (via l'automatisation WebDriverAgent) et appuie sur Publier depuis un vrai appareil avec une vraie IP. TikTok voit une publication initiée par un humain depuis un appareil connu - propre.
Protocole d'échauffement :
- Jours 1-7 : le compte ne fait que défiler, liker, suivre
- Jours 8-14 : publier 1 brouillon/jour, publié depuis l'appareil 2-4 heures après la création du brouillon
- Jours 15-30 : monter à 2-3 brouillons/jour, randomiser les heures de publication dans ±90 min
- Jour 30+ : cadence complète du pipeline, toujours en mode brouillon
Hermes cron + Postiz Cloud + publication depuis l'appareil de la ferme d'iPhone = impossible à distinguer du comportement organique pour les classificateurs de TikTok.
Étape 5 : Enchaîner le tout avec cron + context_from
C'est la magie du système cron d'Hermes. Chaque étape du pipeline est une tâche cron distincte. La tâche N lit la sortie la plus récente de la tâche N-1 via context_from. La chaîne s'exécute de bout en bout sans que j'orchestre quoi que ce soit.
Je crée la chaîne à partir d'une seule session de chat avec Hermes :
1hermes --tui23> Je dois configurer le pipeline TikTok pour le compte acc_42, niche=fitness.4> Planifie le pipeline pour qu'il s'exécute tous les jours à 09:00 UTC.5> Chaîne : recherche d'accroche → routage de source → scraping Pinterest → composition → légende → publication.6> Chaque étape doit utiliser la compétence correspondante et recevoir le contexte de l'étape précédente.
Hermes utilise l'outil cronjob en interne et crée la chaîne. Voici à quoi ressemblent les appels directs équivalents (Hermes le fait pour vous) :
1hermes cron create \2 --name "acc_42-hook-research" \3 --schedule "0 9 * * *" \4 --skill "tiktok/hook-researcher" \5 --workdir "/home/user/acc_42" \6 --toolsets "['file']"78hermes cron create \9 --name "acc_42-source-routing" \10 --schedule "0 9 * * *" \11 --skill "tiktok/source-router" \12 --context-from "acc_42-hook-research" \13 --workdir "/home/user/acc_42"1415hermes cron create \16 --name "acc_42-pinterest-scrape" \17 --schedule "0 9 * * *" \18 --skill "tiktok/pinterest-scraper" \19 --context-from "acc_42-source-routing" \20 --workdir "/home/user/acc_42" \21 --toolsets "['terminal','file']"2223hermes cron create \24 --name "acc_42-compose" \25 --schedule "0 9 * * *" \26 --no-agent \27 --script "compose-slides.py" \28 --context-from "acc_42-pinterest-scrape" \29 --workdir "/home/user/acc_42"3031hermes cron create \32 --name "acc_42-caption" \33 --schedule "0 9 * * *" \34 --skill "tiktok/caption-writer" \35 --context-from "acc_42-compose" \36 --workdir "/home/user/acc_42" \37 --toolsets "['file']"3839hermes cron create \40 --name "acc_42-publish" \41 --schedule "0 9 * * *" \42 --skill "tiktok/publisher" \43 --context-from "acc_42-caption" \44 --workdir "/home/user/acc_42" \45 --toolsets "['terminal','file']" \46 --deliver "telegram"
Quelques points clés :
- context_from enchaîne les sorties. Hermes lit la sortie sauvegardée la plus récente de chaque tâche en amont depuis ~/.hermes/cron/output/{job_id}/ et la préfixe dans le prompt de la tâche suivante comme contexte. Pas de bases de données, pas de files d'attente, pas de code de colle.
- workdir exécute la tâche dans le répertoire du projet. Cela signifie que AGENTS.md, .cursorrules et tous les fichiers de contexte locaux sont automatiquement chargés. Utile lorsque vous conservez les configurations de compte et les surcharges de prompt dans un dépôt de projet.
- no_agent=True sur le compositeur. Travail purement déterministe Sharp/PIL. Aucune raison de payer pour un tour de LLM. La sortie standard du script devient la sortie de la tâche et s'enchaîne normalement à l'étape suivante.
- deliver="telegram" me notifie lorsque la publication est terminée. J'utilise "all" pour l'étape finale sur le compte à haute valeur afin d'obtenir la notification de succès sur tous les canaux connectés.
Étape 6 : Contrôle des outils par étape (économiseur de coûts)
Par défaut, les tâches cron héritent des ensembles d'outils que vous avez configurés pour la plateforme cron via hermes tools. Mais pour le contrôle des coûts sur les étapes à haute fréquence, verrouillez les ensembles d'outils par tâche :
1hermes cron update acc_42-hook-research --toolsets "['file']"
La recherche d'accroche n'a pas besoin des ensembles d'outils navigateur, terminal ou délégation - ceux-ci gonflent le prompt du schéma d'outils à chaque appel LLM. Verrouiller la tâche d'accroche sur ["file"] a réduit mes tokens de génération d'accroche d'environ 40 %. Sur 30 comptes × 1 publication/jour × 30 jours = de l'argent réel.
La tâche de scraping Pinterest a besoin de ["terminal", "file"] pour appeler le script. Le compositeur en mode no_agent ne charge aucun ensemble d'outils (aucun agent ne s'exécute). L'éditeur a besoin de ["terminal", "file"] pour postiz-cli.
Étape 7 : Sauter l'agent quand rien n'a changé
Hermes a un modèle de script de pré-vérification parfait pour la tâche d'accroche quotidienne. Si les données de performance de la niche n'ont pas changé depuis hier, il n'y a aucune raison de générer de nouvelles accroches - les 3 meilleures d'hier sont toujours les 3 meilleures.
~/.hermes/scripts/hook-precheck.py:
Attachez-le via le paramètre script lors de la création de la tâche cron. L'agent ne se réveille que lorsque les données de performance ont réellement changé. Un jour typique où je n'ai rien enregistré manuellement de nouveau, cela saute complètement le LLM. Gratuit.
Étape 8 : Configuration de Postiz cloud (ou auto-hébergé) + la compétence officielle Hermes
J'ai essayé d'auto-héberger Postiz dans Docker pendant 2 mois. J'ai passé plus de temps à réparer le conteneur qu'à construire des fonctionnalités - les rafraîchissements de jetons OAuth échouaient, le disque média se remplissait, le worker de planification mourait silencieusement. Postiz Cloud à 29 $/mois m'a rendu environ 5 heures/semaine de débogage.
La configuration en 60 secondes :
1npx postiz-cli auth login2npx postiz-cli workspace create "TikTok Pipeline"
La compétence Postiz s'expose à Hermes via ce SKILL.md (se trouve dans ~/.hermes/skills/postiz-agent/SKILL.md après installation) :
bash
~/.hermes/skills/postiz-agent/SKILL.md:
Les bases de l'API à connaître

Le système de mode à deux couches piège les gens. Postiz a son propre type : "draft" pour les publications qui restent dans l'interface de Postiz sans aller nulle part. Ce n'est PAS ce que nous voulons. Nous voulons type: "schedule" avec content_posting_method: "UPLOAD" - Postiz planifie la publication, la pousse vers TikTok à l'heure prévue, mais en tant que brouillon côté TikTok qui atterrit dans la boîte de réception du compte pour que la ferme d'iPhone publie depuis un vrai appareil.
Mauvaise combinaison = mauvais résultat. Testez cela d'abord sur un compte.
Auto-hébergement uniquement si vous avez des raisons de conformité ou si vous publiez à un volume qui le justifie. Le cloud a un coût réel (limite de 30 req/h par clé), mais l'auto-hébergement vous mange vos heures.
Ce que j'ai appris à la dure
Ne faites pas confiance à vos premières accroches. J'ai fait tourner le pipeline pendant 2 semaines en diffusant l'archétype d'accroche n°1. Rien. Je suis passé à des tests A/B de 3 archétypes par niche avec une boucle d'évaluation quotidienne lisant les compteurs de vues de TikTok → j'ai tué les archétypes morts, j'ai doublé sur les gagnants. Le CTR a bondi en une semaine.
Pinterest bat l'IA pour les niches authentiques. J'ai passé 3 mois à optimiser les prompts de génération d'images pour les diapositives de transformation fitness. Puis j'ai testé 50/50 contre des équivalents scrapés sur Pinterest. Les diapositives Pinterest ont obtenu 2,3 fois plus de sauvegardes. Les vraies photos ont un impact différent. La solution : router par niche.
Le mode brouillon est non négociable pour les nouveaux comptes. J'ai perdu 4 comptes avant d'accepter cela. Publication directe sur un compte frais = shadow ban silencieux dans la première semaine. Vous ne le saurez pas avant d'avoir gaspillé 2 mois de contenu sur un compte mort.
Ressources :
- Hermes Agent : https://hermes-agent.nousresearch.com/
- Postiz : https://postiz.com/
Bonne chance les gars 💪





