Automatiser vos slideshows TikTok avec Claude Opus 4.7 : le workflow complet à 0 euro
Il y a trois semaines, j'ai regardé mon TikTok. 1 200 abonnés. 3 vidéos postées en 6 mois. Un désastre.
Le problème, en vrai, ce n'était pas l'idée. J'avais des choses à raconter. C'était le temps. Tourner une vidéo, l'éditer, trouver un hook qui marche, écrire la description, programmer le post : 2 heures pour un TikTok. Multipliez par 5 par semaine, vous arrivez à 10 heures. Je ne les avais pas.
Et puis je suis tombé sur un post d'Alex Nguyen, un indie hacker vietnamien qui publie ses workflows IA. Son truc : il automatise entièrement ses slideshows TikTok avec Claude Opus 4.7, Pinterest et deux scripts Node.js. Temps de production : 2 heures pour 30 posts. Coût : zéro euro.
Je l'ai testé pendant 10 jours sur un compte vierge. Premier résultat : 47 000 vues cumulées, 1 800 nouveaux abonnés, zéro suspension, zéro flag. Voici exactement ce que j'ai mis en place, et comment vous pouvez faire la même chose pour votre cabinet, votre marque santé ou votre chaîne de contenu.
Pourquoi les slideshows TikTok en ce moment
TikTok pousse activement les slideshows depuis début 2026. Des comptes lancés il y a 3 mois tournent à 500 000 vues sur un post statique. La raison est simple : le format est plus facile à consommer que la vidéo, plus facile à produire, et plus facile à modérer pour TikTok. L'algorithme le valorise.
Surtout, le slideshow élimine le besoin de passer devant la caméra. Vous êtes naturopathe, coach en nutrition, fondateur d'une marque de compléments. Vous n'avez pas forcément envie de tourner 5 vidéos par jour avec votre tête. Le slideshow vous permet de scaler sans montrer votre visage, et sans générer d'images IA qui sentent le GPT à 3 mètres.
Toutes les images du workflow viennent de Pinterest. Vraies photos, vraies ambiances, indétectables. Coût : 0 euro.
Le stack en une phrase
TikTok + SnapTik + Claude Opus 4.7 + Pinterest + Node.js Canvas + Postiz Agent CLI. Rien de payant, tout en local sur votre Mac.
Si vous n'êtes pas développeur, pas de panique. Node.js et le script de génération, je vous montre plus bas comment les lancer en 15 minutes. C'est du copier-coller. Le seul prérequis intellectuel, c'est d'ouvrir un terminal sans paniquer.
Étape 1 : extraire les hooks depuis TikTok
Le hook, c'est la première phrase ou la première image du slideshow. Les 2 secondes où votre audience décide de scroller ou de rester. Tout se joue là. Pas sur le reste du contenu, pas sur la musique, pas sur votre charisme : sur ces 2 secondes.
La bonne nouvelle, c'est que vous n'avez pas besoin d'inventer des hooks. Vous devez les piquer.
Ouvrez TikTok, tapez un mot-clé de votre niche. Si vous êtes dans la santé : "naturopathie", "gut health", "détox foie", "ménopause", "thyroide". Filtrez par "Most Liked" pour voir ce qui cartonne en ce moment dans votre créneau.
Regardez les 15 premiers slideshows qui sortent. Notez ce que vous voyez :
- le premier texte qui apparaît
- la structure récurrente ("3 erreurs que", "ce que personne ne vous dit", "j'ai fait X pendant 30 jours")
- le ton (choc, curiosité, empathie, confidence)
Téléchargez les 5 slideshows qui ont le plus de vues. Pour ça, vous avez SnapTik (snaptik.app) ou SSSTik (ssstik.io). Vous collez le lien du post, vous téléchargez sans watermark. 10 secondes par slideshow.
C'est votre matière première pour l'étape suivante.
Étape 2 : Claude Opus 4.7 extrait les patterns
C'est l'étape que 95 % des créateurs ratent. Ils regardent les slideshows viraux et ils essaient de copier l'idée. Sauf que l'idée n'est pas ce qui les rend viraux. C'est la structure du hook, la mécanique émotionnelle, la formulation précise.
Claude Opus 4.7 est redoutable pour extraire ces patterns. Vous lui uploadez les 5 slideshows téléchargés (les images une par une, ou le slideshow en PDF), puis vous lui balancez ce prompt :
Analyse ce slideshow TikTok et fais-moi :
1. Identifie le hook principal de la première slide
(concentre-toi sur le texte overlay, la headline, le cadrage visuel)
2. Explique pourquoi ce hook fonctionne
(curiosité / pain point / surprise / identification)
3. Décompose la structure du hook
(nombre + résultat, cadrage négatif, ciblage identitaire, etc.)
4. Écris-moi 5 variations de hooks pour la niche [VOTRE NICHE]
- Chaque hook sous 10 mots
- Format : une question OU une affirmation forte
- Évite les ouvertures génériques type "Saviez-vous que"
Sortie en liste numérotée, un hook par ligne.
Remplacez [VOTRE NICHE] par le créneau que vous visez. Pour moi, sur un compte test, c'était "carences en micronutriments chez les femmes actives".
Résultat obtenu en 30 secondes :
- "3 carences que votre fatigue cache depuis 10 ans"
- "Votre ménopause commence à 35 ans (et personne ne vous le dit)"
- "Le magnésium ne sert à rien si vous prenez ça à côté"
- "Pourquoi vos analyses sont normales alors que vous êtes épuisée"
- "Elle a changé 2 choses dans son assiette. En 6 semaines, tout a basculé."
Les 5 sont utilisables, directement, sans retouche. Sur 10 minutes de travail réel, vous sortez 25 hooks validés par la data des posts viraux de votre niche. C'est ça, la mécanique.
Sauvegardez tout
Créez-vous une bibliothèque de hooks. C'est le genre de brique qui vit très bien dans un second cerveau minimal si vous en avez déjà un. Notion, Obsidian, une Google Sheet, peu importe. Une colonne "hook", une colonne "niche", une colonne "source" (de quel post il vient), une colonne "statut" (à produire, produit, posté).
Au bout de 4 semaines, vous avez 100 hooks classés. C'est un actif. C'est ce qui vous rend incopiable.
Étape 3 : les visuels, direction Pinterest
Vous avez vos hooks. Il vous faut maintenant les images de fond. Pas d'IA générative ici, pour une raison précise : les images Pinterest sont de vraies photos, avec des textures, des imperfections, des compositions humaines. Le cerveau les reconnaît comme "vraies" et s'arrête dessus. Les images générées par IA, même bonnes, déclenchent un micro-rejet chez le spectateur. C'est subtil, mais sur des millions d'impressions, ça fait une différence énorme.
Pendant que Claude Opus 4.7 a encore vos slideshows en mémoire, demandez-lui les requêtes Pinterest précises pour chaque hook :
Maintenant regarde le style visuel de ce slideshow :
1. Décris la palette de couleurs, la lumière, l'esthétique globale
(sombre/moody, clair/clean, luxe, minimal, etc.)
2. Quel genre d'images fonctionneraient comme fond pour les hooks
que tu viens d'écrire ?
3. Donne-moi 5 requêtes Pinterest précises pour trouver ces images
- Format : phrases courtes de 2 à 4 mots
- Optimisées pour la recherche Pinterest, pas Google
Sortie typique pour une niche santé féminine :
- "soft morning light aesthetic"
- "minimalist kitchen warm tones"
- "green juice aesthetic pinterest"
- "vintage medical illustration"
- "quiet luxury wellness"
Copiez-collez ces requêtes dans Pinterest. Pour chaque requête, gardez 5 images qui cochent trois critères :
- ratio portrait ou proche du 9:16 (le script va cropper, mais partez propre)
- couleurs vives et contrastées (TikTok est un feu d'artifice, les pastels disparaissent)
- peu ou pas de texte déjà sur l'image (vous allez overlayer le vôtre)
Pour télécharger en masse, installez l'extension Chrome PinDown. Un clic, plein écran, téléchargement. Rangez tout dans un dossier images/ par niche.
Au bout de 20 minutes, vous avez 50 images prêtes.
Étape 4 : générer les slides automatiquement avec Node.js Canvas
C'est la partie qui fait peur quand on n'est pas dev. C'est la partie la plus simple à mettre en place une seule fois.
Vous allez installer un script qui prend un fichier JSON (vos hooks + les images Pinterest) et qui sort automatiquement des PNG 1080 par 1920 prêts à poster. Vous ne retouchez rien dans Canva. Jamais.
Installation en 5 minutes
Ouvrez le terminal. Si vous êtes sur Mac :
mkdir ~/tiktok-slideshow-factory
cd ~/tiktok-slideshow-factory
npm init -y
npm install @napi-rs/canvas
@napi-rs/canvas est une version rapide et native de Canvas pour Node.js. Pas besoin de navigateur, pas besoin de Puppeteer.
Le fichier de config : slides-config.json
Créez un fichier slides-config.json dans le dossier :
{
"outputDir": "./output",
"width": 1080,
"height": 1920,
"font": "Inter Black",
"fontSize": 80,
"textColor": "#FFFFFF",
"shadowColor": "rgba(0, 0, 0, 0.6)",
"posts": [
{
"id": "post-001",
"slides": [
{
"image": "./images/morning-light-01.jpg",
"text": "3 carences que votre fatigue cache depuis 10 ans"
},
{
"image": "./images/kitchen-warm-02.jpg",
"text": "La première change en 2 semaines"
}
]
}
]
}
Ajoutez autant de posts et de slides que vous voulez. 10 posts de 6 slides, ça fait 60 images à générer.
Le script : generate-slides.js
const { createCanvas, loadImage, GlobalFonts } = require('@napi-rs/canvas')
const fs = require('fs')
const path = require('path')
const config = JSON.parse(fs.readFileSync('./slides-config.json', 'utf-8'))
async function renderSlide(slide, width, height, style) {
const canvas = createCanvas(width, height)
const ctx = canvas.getContext('2d')
const img = await loadImage(slide.image)
const ratio = Math.max(width / img.width, height / img.height)
const w = img.width * ratio
const h = img.height * ratio
ctx.drawImage(img, (width - w) / 2, (height - h) / 2, w, h)
ctx.fillStyle = 'rgba(0, 0, 0, 0.25)'
ctx.fillRect(0, 0, width, height)
ctx.font = `${style.fontSize}px "${style.font}"`
ctx.fillStyle = style.textColor
ctx.textAlign = 'center'
ctx.shadowColor = style.shadowColor
ctx.shadowBlur = 12
const words = slide.text.split(' ')
const lines = []
let line = ''
for (const word of words) {
const test = line ? line + ' ' + word : word
if (ctx.measureText(test).width > width * 0.85) {
lines.push(line)
line = word
} else {
line = test
}
}
if (line) lines.push(line)
const lineHeight = style.fontSize * 1.1
const startY = (height - lines.length * lineHeight) / 2 + style.fontSize
lines.forEach((l, i) => ctx.fillText(l, width / 2, startY + i * lineHeight))
return canvas.toBuffer('image/png')
}
async function main() {
if (!fs.existsSync(config.outputDir)) fs.mkdirSync(config.outputDir)
for (const post of config.posts) {
const postDir = path.join(config.outputDir, post.id)
if (!fs.existsSync(postDir)) fs.mkdirSync(postDir)
for (let i = 0; i < post.slides.length; i++) {
const buffer = await renderSlide(post.slides[i], config.width, config.height, config)
fs.writeFileSync(path.join(postDir, `slide-${i + 1}.png`), buffer)
console.log(`${post.id} : slide ${i + 1} OK`)
}
}
}
main()
Lancez :
node generate-slides.js
Résultat : un dossier output/ avec un sous-dossier par post et vos PNG numérotés. En 30 secondes pour 10 posts de 6 slides.
La vraie puissance
Vous pouvez donner le fichier slides-config.json à votre assistante, à un stagiaire, à un ami. Ils remplissent les hooks et les chemins d'images. Ils lancent node generate-slides.js. Ils obtiennent 60 slides prêts à poster, sans ouvrir Canva. Vous venez de découpler la création de la mise en forme. C'est le vrai levier.
Étape 5 : planifier avec Postiz Agent CLI
Vous avez 60 slides. Maintenant il faut les poster. À la main, c'est 5 minutes par post, donc 50 minutes pour 10 posts. On peut faire mieux.
Postiz est un outil de planification de contenu multi-plateforme, self-hostable et gratuit sur la version communautaire. Sa CLI permet de piloter toute la planification depuis votre terminal.
npm install -g @postiz/cli
export POSTIZ_API_KEY="votre_cle"
postiz integrations:list
Si la liste est vide, allez sur app.postiz.com, Integrations, Add Channel, TikTok. Autorisez votre compte. Relancez integrations:list, copiez l'ID TikTok.
Pour créer un post :
postiz posts:create \
--integration <tiktok_integration_id> \
--files ./output/post-001/slide-1.png ./output/post-001/slide-2.png \
--caption "3 carences que votre fatigue cache #naturopathie #sante" \
--schedule "2026-04-22T18:00:00Z"
Une ligne, un post programmé. Multipliez par 10, vous avez une semaine de contenu planifiée en 5 minutes.
Étape 6 : l'astuce anti-shadowban (critique)
C'est la partie que tout le monde zappe et qui coûte des comptes.
Si vous laissez Postiz publier directement via l'API à heure fixe depuis une IP serveur, TikTok va finir par détecter le pattern : IP serveur, intervalle robotique, zéro interaction humaine avant la publication. Résultat : baisse de portée, restrictions silencieuses, voire flag du compte entier. J'ai vu un compte à 40 000 abonnés mourir en 2 semaines comme ça.
La parade est simple : au lieu de publier en direct, on envoie le post en brouillon dans l'application TikTok. Vous ouvrez l'app au bon moment, vous validez, vous publiez. TikTok voit alors : appareil réel, réseau résidentiel, action humaine. Signal propre.
Pour ça, dans la commande Postiz, ajoutez --content-posting-method UPLOAD :
postiz posts:create \
--integration <tiktok_id> \
--files ./output/post-001/slide-*.png \
--caption "..." \
--content-posting-method UPLOAD \
--schedule "2026-04-22T18:00:00Z"
À l'heure programmée, Postiz envoie le slideshow dans la Inbox de votre app TikTok. Vous recevez une notification. Vous ouvrez l'app, vous finalisez, vous publiez. 15 secondes. Et vous préservez la santé de votre compte pour 6 mois.
Dans le Dashboard Postiz, passez le mode de publication sur "Notify" plutôt que "Direct Post". Postiz devient votre calendrier éditorial, votre mémoire, votre rappel. Le geste final reste humain.
Le tableau de bord après 10 jours
Voilà ce que j'ai mesuré sur 10 jours de production :
- 40 slideshows produits (6 slides chacun en moyenne)
- 2 heures de production réelle cumulée
- 47 000 vues au total
- 1 800 nouveaux abonnés
- 2 slideshows dépassant 10 000 vues chacun
- 0 flag, 0 restriction, 0 baisse de portée
Le gros effet de levier, ce n'est pas la quantité brute. C'est que chaque slideshow est basé sur un hook extrait d'un post qui a déjà cartonné. La probabilité qu'il fonctionne n'est pas nulle par hypothèse, elle est déjà validée par la data.
Ce que ça change vraiment pour un entrepreneur santé
Je pense à plusieurs profils que j'ai accompagnés ces derniers mois.
Une naturopathe en cabinet à Montpellier. 25 clients actifs, complet, pas de place pour en prendre plus. Elle veut basculer une partie de son activité en ligne, formations et ateliers. Elle a besoin de construire une audience sans passer 3 heures par jour sur Instagram. Ce workflow lui permet de produire 30 slideshows en une matinée du lundi. Elle dort le reste de la semaine.
Un coach en nutrition sportive, 2 000 abonnés sur TikTok, qui veut vendre un programme à 297 euros. Il lui faut de la visibilité pure. Produire 5 posts par jour sans y passer sa vie, c'est exactement ce que ce workflow permet.
Une marque de thés fonctionnels, toute petite équipe, pas de budget agence. Elle veut tester 50 angles éditoriaux en un mois pour voir lesquels convertissent. Sans ce système, c'est 50 heures de travail. Avec, c'est un après-midi et demi.
La différence, à chaque fois, c'est la même : vous reprenez la main sur votre temps. Vous arrêtez de produire du contenu à la chaîne avec vos doigts. Vous construisez un système qui produit pour vous, pendant que vous voyez vos clients, que vous formulez votre prochain produit, ou que vous prenez un week-end.
Les erreurs que j'ai faites au début
Trois pour vous les épargner.
Un, j'ai voulu générer les images avec DALL-E et Midjourney. Résultat, 30 % de portée en moins sur les posts. L'audience sent la synthèse. Pinterest, toujours.
Deux, j'ai posté en direct via API pendant les 3 premiers jours. Le 4e jour, ma portée a chuté de 60 % d'un coup. J'ai basculé en mode Draft, il a fallu 5 jours pour que la portée remonte. Ne faites pas ça.
Trois, j'ai voulu trop optimiser dès le départ. J'ai passé 2 jours à peaufiner le script Node.js, à ajouter des transitions, des watermarks, des animations. Inutile. Le plus simple gagne. Du texte blanc, fond sombre léger, image Pinterest. C'est tout.
Pour aller plus loin
Le workflow décrit ici produit du contenu massif, pas personnel. Il vous fait exister sur TikTok, il génère du reach, il attire une audience. Il ne vend pas, pas tout seul.
Pour convertir, il faut brancher cette machine à visibilité sur une machine à mail. Chaque semaine, un post qui pousse vers votre newsletter. Tous les 15 jours, un lien vers un lead magnet (un guide PDF, une mini-formation gratuite, une checklist). Une fois tous les mois, un post qui raconte votre histoire, signé de votre voix, qui rappelle que derrière le système il y a une personne. Pour un exemple de bout en bout, lisez comment François gère 250 affiliés avec l'IA et par où commencer pour construire votre second cerveau.
C'est cette combinaison qui transforme 1 800 abonnés en 50 clients sur 12 mois.
Si vous voulez qu'on regarde votre situation précise, votre niche, votre stack actuel et qu'on construise ensemble ce système complet, je propose un appel de 20 minutes gratuit. On regarde ce qui manque, ce qu'on peut installer en 2 semaines, et ce que ça peut rapporter chez vous. Rendez-vous sur mthlvr.com/book.
Bonne production.
— François
