📋 Contexte du projet
Durant mon stage dans une agence web spécialisée dans le référencement naturel et la création de sites, j’ai été chargé de développer une solution d’automatisation pour la génération massive de coloriages destinés à des challenges pour enfants.
Problématique initiale
L’agence souhaitait créer des contenus éducatifs pour différentes licences populaires (Stitch, personnages de dessins animés, etc.), mais la création manuelle était :
- ⏱️ Chronophage : plusieurs heures par série
- 💰 Coûteuse : nécessité de faire appel à des graphistes
- 🔄 Peu scalable : difficile de produire en volume
Objectif : Concevoir un workflow automatisé capable de générer des coloriages de qualité professionnelle sans intervention humaine.
🎯 Cahier des charges
Besoins fonctionnels
✅ Générer 20 images de coloriage par licence
✅ Format requis : dessin au trait noir sur fond blanc, style livre de coloriage
✅ Sauvegarde automatique dans Google Drive avec organisation par dossiers
✅ Nomenclature cohérente des fichiers
✅ Qualité adaptée aux enfants de 10-12 ans
Besoins techniques
✅ Solution réutilisable pour de futures licences
✅ Aucune intervention manuelle une fois lancé
✅ Gestion des erreurs API
✅ Workflow documenté et maintenable
📅 Planning du projet (3 jours)
Jour 1 : Analyse et configuration
- 🔍 Matin : Recherche et tests d’APIs de génération d’images IA (Flux API retenue)
- ⚙️ Après-midi :
- Installation et configuration de n8n
- Configuration de l’API Flux et authentification
- Premiers tests de génération d’images
Jour 2 : Développement du workflow
- 🔧 Matin :
- Construction du workflow n8n (14-15 nœuds)
- Développement des prompts initiaux
- 🧪 Après-midi :
- Tests itératifs et optimisation des prompts (10 versions testées)
- Configuration de l’intégration Google Drive
Jour 3 : Tests et livraison
- ✅ Matin :
- Tests de génération complète (première série de 20 images)
- Corrections et ajustements finaux
- 📦 Après-midi :
- Génération de la série finale (40 images au total)
- Livraison et validation par le tuteur
🛠️ Architecture technique
Technologies utilisées
| Catégorie | Technologie | Rôle |
|---|---|---|
| Orchestration | n8n (v1.x) | Plateforme d’automatisation no-code/low-code |
| IA Générative | Flux API | Génération des images de coloriage |
| Stockage | Google Drive API | Sauvegarde organisée des images |
| Scripting | JavaScript | Transformations de données et logique conditionnelle |
| Authentification | Bearer Token | Sécurisation des appels API |
🔧 Conception du workflow n8n
J’ai conçu un workflow composé de 14-15 nœuds orchestrant l’ensemble du processus :
1️⃣ Déclenchement et configuration
[Trigger Manual]
↓
[Set Variables]
- Licence : "Stitch"
- Nombre d'images : 20
- Style : "Coloriage enfant"
2️⃣ Génération intelligente des prompts
// Exemple de logique JavaScript dans n8n
const themes = [
"surfing on a wave",
"playing guitar",
"eating ice cream",
// ... 17 autres variations
];
return themes.map((theme, index) => ({
promptId: index + 1,
prompt: `Coloring page for kids aged 10 to 12, Stitch ${theme},
all shapes fully closed, black and white line art,
thick black outlines, white background, no shading`
}));
3️⃣ Appel à l’API Flux
[HTTP Request]
- Method: POST
- URL: https://api.flux.com/generate
- Headers:
* Authorization: Bearer {{$env.FLUX_API_KEY}}
* Content-Type: application/json
- Body:
{
"prompt": "{{$json.prompt}}",
"model": "flux-pro",
"width": 1024,
"height": 1024
}
4️⃣ Traitement et validation
[IF Condition]
- Si réponse API == 200 → Continue
- Sinon → Retry (max 3 tentatives)
[Code JavaScript]
- Vérification format image (PNG/JPG)
- Validation taille fichier (< 5 Mo)
5️⃣ Sauvegarde organisée dans Google Drive
[Google Drive] Upload File
- Dossier cible : /Coloriages/{{$json.licence}}
- Nom fichier : {{$json.licence}}_coloriage_{{$json.id}}.png
- Permissions : Lecture seule
6️⃣ Boucles et notifications
[Loop Over Items] (20 itérations)
↓
[Wait] 2 secondes entre chaque appel API
↓
[Send Email] (fin de processus)
- Destinataire : equipe@agenceweb.fr
- Sujet : "✅ Génération terminée : 20 images Stitch"
💡 Optimisation des prompts
Version initiale (résultats insatisfaisants)
Stitch surfing, coloring page, black and white
Problèmes : Traits non fermés, présence d’ombres, trop simple
Version finale (validée)
Coloring page for kids aged 10 to 12, Stitch surfing on a wave,
board and water shapes clearly separated, tropical sun in background,
happy expression, all shapes fully closed and clearly separated,
no open lines, balanced level of detail, black and white line art,
thick black outlines, white background, no shading, no shadows,
high contrast, clean vector style, summer action composition.
Points clés du prompt optimisé
✅ Tranche d’âge ciblée (10-12 ans) → Adapte la complexité
✅ Description détaillée de la scène → Contexte narratif
✅ Contraintes techniques strictes (« all shapes fully closed », « no shading »)
✅ Style graphique précis (« thick black outlines », « high contrast »)
✅ Composition équilibrée (« balanced level of detail »)
🚧 Difficultés rencontrées et solutions
❌ Problème 1 : Configuration de l’API Flux
Difficulté : Documentation API complexe, authentification Bearer non fonctionnelle au premier essai
Solution :
- Étude de la documentation officielle
- Tests avec Postman pour valider la structure des requêtes
- Configuration correcte du header
Authorization: Bearer {token} - Création d’une variable d’environnement dans n8n pour sécuriser le token
Temps de résolution : 2 heures
❌ Problème 2 : Qualité variable des premières images
Difficulté :
- Traits non fermés (impossibles à colorier)
- Présence d’ombrages indésirables
- Niveau de détail inadapté
Solution : Tests itératifs rapides (10 versions de prompts en quelques heures) :
- V1 : « Stitch coloring page » → ❌ Trop simpliste
- V2 : « Stitch surfing, black and white, no colors » → ❌ Présence d’ombres
- V5 : « … all shapes fully closed, no shading » → ⚠️ Mieux mais traits encore fins
- V10 : « … thick black outlines, high contrast, clean vector style » → ✅ VALIDÉ
Enseignement : Le prompt engineering nécessite des itérations rapides et de la précision.
❌ Problème 3 : Gestion des boucles dans n8n
Difficulté : Créer une itération fiable pour générer exactement 20 images
Solution :
[Split in Batches]
- Items per batch: 1
- Total items: 20
[Wait] 2 secondes (éviter rate limiting API)
[Merge] Regrouper toutes les réponses
Temps de résolution : 1 heure
📊 Résultats obtenus
Métriques du projet
| Indicateur | Objectif | Réalisé | Statut |
|---|---|---|---|
| Durée du projet | – | 3 jours | ⚡ Rapide |
| Images générées | 20 | 40 | ✅ +100% |
| Taux de réussite | 90% | 95% | ✅ |
| Temps de génération/série | – | ~15 min | ⚡ Automatisé |
| Intervention humaine | 0 | 0 | ✅ |
| Coût vs graphiste | – | -80% | 💰 |
Retours utilisateurs
✅ Équipe marketing : « On peut lancer de nouvelles licences en 15 minutes maintenant »
✅ Organisation Google Drive : Dossiers clairs, nomenclature cohérente
🎓 Compétences développées (B1.4)
✅ Gestion de projet technique rapide
- Analyse du besoin et développement en 3 jours
- Priorisation des fonctionnalités essentielles
- Livraison en avance (dépassement des objectifs)
✅ Conception de workflows complexes
- Orchestration de 14-15 nœuds interdépendants
- Gestion des boucles et conditions
- Gestion des erreurs et retries automatiques
✅ Intégration d’APIs
- Authentification Bearer Token
- Gestion des requêtes HTTP (POST)
- Traitement des réponses JSON
✅ Prompt engineering
- Optimisation itérative rapide (10 versions testées)
- Compréhension des modèles génératifs
- Contraintes techniques strictes
✅ Autonomie et efficacité
- Projet réalisé en total autonomie
- Résolution rapide des blocages techniques
- Documentation claire pour réutilisation
🔮 Perspectives d’évolution
Phase 2 envisagée
🔜 Déclenchement automatique via webhook
🔜 Interface web de configuration (choix licence/style)
🔜 Intégration multi-APIs (tester d’autres modèles IA)
🔜 Export multi-formats (PDF imprimable, SVG vectoriel)
💡 Apports professionnels
Ce projet m’a permis de :
✅ Livrer un projet complet en 3 jours avec un résultat dépassant les attentes
✅ Concevoir une architecture technique robuste et scalable
✅ Maîtriser une plateforme no-code/low-code professionnelle (n8n)
✅ Développer des compétences en IA générative (prompt engineering)
✅ Optimiser par itérations rapides (tests, ajustements, validation)
✅ Travailler en autonomie avec un fort sens de l’efficacité

Comments are closed