CommunityImagegithub.com

colab-flux

Créez des images cohérentes de produits, de marques et d'annonces marketplace avec FLUX 3 Image Klein sur un GPU Google Colab loué à la demande et arrêté après usage, via l'outil en ligne de commande fluxx.

Qu'est-ce que colab-flux ?

Cette compétence permet de produire des visuels professionnels et homogènes (photos produits, catalogues, scènes de vie, publications réseaux sociaux, publicités) en utilisant le modèle FLUX 3 Image Klein de Black Forest Labs sur un GPU Google Colab. Elle évite de payer par image à une API en louant une machine A100 uniquement le temps du rendu. Le secret de la cohérence visuelle est un **profil de marque** qui enregistre les références du produit, le style photographique souhaité, les éléments à éviter, et les retours d'appréciation. La compétence génère plusieurs variantes par rendu, les évalue automatiquement sur le GPU avec un modèle juge, et ne conserve que la meilleure image. Elle produit un fichier PNG haute définition (~4 MP) et un JPEG moyen (1024 px) par vue. Elle intègre aussi la création de packs d'annonces pour Amazon, Etsy, eBay et Shopify : image principale blanc pur conforme aux règles Amazon, jeux d'images standards par site, et brouillons de titres, puces et mots-clés dans les limites de chaque plateforme. L'agent peut être invoqué via la commande `/colab-flux`.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Neoo-Blue/colab-flux/tree/HEAD

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait colab-flux ?

FLUX 3 Image Klein sur un GPU Colab loué, piloté par fluxx. Une commande fluxx gen démarre un A100 -> installe diffusers -> télécharge et charge FLUX 3 et un modèle juge -> effectue chaque rendu (meilleur de plusieurs, jugé) -> télécharge les images -> maintient le GPU chaud quelques minutes pour des suivis, puis l'arrête. Regroupez toutes les prises de vue possibles en un seul appel.

Ce qui rend les images cohérentes, c'est le profil de marque, pas la chance :

  • références produit : vraies photos du produit, transmises à FLUX 3 comme images de référence pour chaque prise afin que le produit conserve sa forme, son étiquette et ses couleurs (jusqu'à 10 références)
  • style : un paragraphe de langage photographique concret ajouté à chaque scène
  • à éviter : ce qui ne doit jamais apparaître
  • seed : fixe par marque, donc la même scène s'affiche de la même manière
  • retour : chaque prise est enregistrée ; fluxx rate enregistre ce que la personne a aimé et pourquoi, et vous intégrez le motif dans le style

Tout se trouve dans ~/colab-flux/brands/<nom>/ : brand.json, refs/, history.jsonl, shots/<heure>/.

1. Première utilisation : vérification de la configuration

Exécutez fluxx doctor (si fluxx n'est pas trouvé, exécutez d'abord sh <chemin du dossier>/install.sh). Il affiche les lignes ok / TODO. Expliquez chaque TODO à la personne, en termes simples, un par un :

TODOCe que fait la personneRemarques
Colab CLI non installérien : vous exécutez sh install.sh depuis le dossier de cette compétenceinstalle uv et le CLI Colab officiel
pas connecté à Googleexécute fluxx login dans son propre terminalun navigateur s'ouvre pour la connexion Google. Vous ne pouvez pas le faire à sa place
unités de calculachète Colab Pro ou des unités de calcul sur https://colab.research.google.com/signupl'A100 n'est pas dans l'offre gratuite
Hugging Face (optionnel)rien par défaut : sans jeton, fluxx télécharge depuis un miroir public après avoir vérifié le sha256 de chaque fichier de poids par rapport au dépôt officiel. Pour le dépôt officiel : fluxx login ouvre la page FLUX 3, ils cliquent sur accepter, créent un jeton de lecture et le collent dans l'invite cachéegratuit. Ne leur demandez jamais de coller le jeton dans le chat
pas de marquesrien : vous réalisez l'entretien de marque ci-dessous

fluxx login demande le jeton avec une invite cachée, donc il a besoin d'un vrai terminal : dans Claude Code, dites à la personne d'ouvrir un onglet de terminal et de l'exécuter là (Codex, idem). Quand elle dit que c'est fait, exécutez fluxx doctor à nouveau.

2. Entretien de marque (une fois par entreprise)

Posez ces questions en un seul message, court, avec des exemples pour que la réponse prenne une minute :

  1. Quelle est l'entreprise, et quel(s) produit(s) doit(ven)t apparaître ? (ex. "bougies en soja coulées à la main dans des pots en verre ambré")
  2. Qui achète, et où les images seront-elles utilisées ? (Shopify, Amazon, Etsy, Instagram, publicités, imprimé)
  3. Le style, en quelques mots ou une marque qu'ils admirent. (ex. "calme, chaleureux, scandinave, comme Aesop")
  4. Y a-t-il quelque chose qui ne doit jamais apparaître ? (personnes, texte, articles concurrents, encombrement, certaines couleurs)
  5. Photos du produit : chemins de fichiers ou glissez-déposez. Une photo simple et bien éclairée par produit fonctionne le mieux.

Convertissez ensuite les réponses en profil. Traduisez les adjectifs en mots qu'un photographe utiliserait, car c'est ce que suit FLUX. "Calme et chaleureux" devient "lumière douce et diffusée d'une fenêtre venant de la gauche, palette neutre et chaude de blanc cassé, sable et terre cuite, surfaces en lin mat et chêne pâle, faible profondeur de champ, espace négatif généreux, photographie produit ditoriale".

fluxx brand new acme-bougies --business "Acme, bougies en soja coulées à la main dans des pots en verre ambré" \
  --style "lumière douce et diffusée d'une fenêtre venant de la gauche, palette neutre et chaude ..." \
  --avoid "personnes, mains, texte écrit autre que l'étiquette du pot, encombrement" --aspect 4:5
fluxx brand ref acme-bougies /chemin/vers/pot-face.jpg            # rôle : produit (par défaut)
fluxx brand ref acme-bougies /chemin/vers/moodboard.jpg --role style

Format par destination : grille de produits Amazon/Shopify 1:1, flux Instagram 4:5, stories/reels 9:16, bannière web 16:9, Etsy 4:3 ou 1:1. Le format de la marque est le format par défaut ; --aspect le remplace par exécution. Montrez à la personne le profil que vous avez écrit (fluxx brand show NOM) et demandez-lui si cela lui ressemble.

3. Créer des images

  1. fluxx brand show NOM : lisez le profil et les retours récents avant d'écrire quoi que ce soit.
  2. Rédigez les scènes. Une ligne courte et concrète chacune, uniquement sur la scène. Le style de la marque, la liste des éléments à éviter et les rôles des références sont ajoutés automatiquement, et l'upsampler d'invite de FLUX 3 (un modèle 9B sur le GPU) transforme chaque ligne en légende complète, donc ne dépensez pas de jetons à écrire des invites longues. Bien : le pot sur un rebord de fenêtre en chêne ensoleillé, matin, une branche d'eucalyptus séchée à côté.
  3. Rassemblez chaque prise dont la personne pourrait avoir besoin en un seul appel (le démarrage est la partie coûteuse) :
    fluxx gen -b acme-bougies -n 2 "scène une" "scène deux" "scène trois"
    fluxx gen -b acme-bougies --from shots.txt          # une scène par ligne, les commentaires # sont acceptés
    
    Une scène peut définir sa propre forme avec un préfixe, donc une exécution peut mélanger les formats : 16:9 | le pot sur un rebord de fenêtre ensoleillé, espace à gauche pour un titre. Un démarrage à froid prend ~4 minutes, puis ~45 s par rendu 4 MP. Dans Claude Code, exécutez-le avec run_in_background ; dans Codex, laissez-le s'exécuter. Il imprime un chemin d'image par ligne sur stdout ; la progression, le score de juge de chaque prise et les défauts, et le coût en unités de calcul vont sur stderr. Quand une personne utilise le produit dans une scène, dites comment : "tenant le combiné du téléphone à son oreille, son cordon sortant du cadre ; la base du téléphone non visible". FLUX dessine le produit tel que la référence le montre, donc une partie soulevée a tendance à apparaître deux fois (lors des tests, un combiné tenu plus un toujours sur le téléphone, même lorsque l'invite disait que le berceau était vide). Cadrer le reste du produit hors de l'image a résolu le problème.
  4. Meilleur de N, jugé sur le GPU. Chaque prise effectue jusqu'à --candidates images (3 par défaut). Un juge vision-langage (Qwen3.5-9B, sur le même GPU) vérifie chacune par rapport au brief, aux références produit et à la liste des éléments à éviter (anatomie, objets dupliqués, fidélité produit, texte intempestif, attrait), conserve la meilleure et s'arrête tôt quand une obtient un score de 9+ sans défaut. Les autres reviennent en petit format dans alts/, afin que la personne puisse toujours en sélectionner une.
  5. Regardez aussi vous-même les fichiers _md.jpg (ils sont petits), en particulier toute prise dont la ligne stderr liste des défauts ou des scores inférieurs à 7. Dites ce qui ne va pas plutôt que de la présenter comme terminée. Donnez ensuite à la personne le dossier et les chemins.
  6. Le GPU reste chaud ensuite (--keep, 5 minutes par défaut) avec les modèles chargés, donc une exécution fluxx gen ultérieure avec la même configuration commence le rendu immédiatement au lieu d'attendre ~4 minutes. Juste après avoir présenté, demandez : "Le GPU est encore chaud pour N minutes (environ X unités de calcul s'il reste inactif). Voulez-vous d'autres prises ou des modifications ? Sinon, je l'arrêterai." S'ils ont fini, exécutez fluxx stop. S'ils ne disent rien, il s'arrête tout seul. S'ils demandent de le garder plus longtemps, passez --keep 15 lors de la prochaine exécution, ou enregistrez une nouvelle valeur par défaut avec fluxx config keep_minutes 15. --keep 0 arrête le GPU à la fin de l'exécution.

Indicateurs : -n N variations par scène (graines seed..seed+N-1) · --candidates K rendus par prise, meilleur conservé (1-8) · --keep MIN minutes de maintien au chaud après · --draft 1 MP moyen uniquement, un candidat, plus rapide, pour explorer une nouvelle direction · --aspect L:H · --ref CHEMIN photo produit supplémentaire ponctuelle · --no-refs · --seed S · --no-upsample quand les scènes sont déjà des légendes complètes (ignore un téléchargement de 19 Go) · --out DOSSIER.

Sorties par prise : <id>_hd.png (environ 4 MP, ex. 2048x2048, pour l'impression, le zoom et les images hero) et <id>_md.jpg (côté long 1024 px, pour les annonces, le web et les réseaux sociaux).

4. Annonces marketplace (Amazon, Etsy, eBay, Shopify)

Lorsque les images sont destinées à vendre un produit en ligne, utilisez fluxx listing au lieu de gen. Une exécution crée le jeu standard de six prises carrées 4 MP, exporte un dossier par marketplace avec l'ordre, les noms et les tailles de ce site, et rédige le texte de l'annonce sur le GPU (le modèle juge l'écrit, donc pas de jetons Claude) :

fluxx listing -b acme-bougies --product "bougie en soja coulée à la main dans un pot en verre ambré avec un couvercle en bois" \
  --notes "8 oz, 50 heures de combustion, mèche en coton, parfum : cèdre et fumée, fabriqué dans l'Oregon" --for amazon,etsy
Prise (rôle)DescriptionStyle de marque
mainproduit seul sur fond blanc pur, centréaucun : fluxx rend ensuite l'arrière-plan exactement RVB 255 et redimensionne le produit pour remplir 85 % du cadre (règle de l'image principale Amazon)
anglevue trois-quarts sur fond blancaucun
detailgros plan des matériaux et de la finitionaucun
lifestyleen utilisation, dans un contexte qui correspond aux acheteursoui
scaleà côté d'objets du quotidien, pour que la taille soit évidenteoui
giftdans les mains ou en cadeau, sans visageoui

Sortie dans le dossier d'exécution sous markets/<site>/ :

SiteImagesTexte (listing.md + copy.json), limites appliquées par fluxx
amazonMAIN.jpg, PT01.jpg... 2048 pxtitre 75 caractères (limite depuis juillet 2026), points forts de l'article 125, 5 puces de 200, description 2000, termes de recherche 250 octets
etsy01.jpg... 2048 px, une photo stylisée en premier (c'est la vignette de recherche)titre 140, 13 tags de 20 caractères, description
ebay01.jpg... 1600 pxtitre 80, caractéristiques de l'objet, description
shopify01.jpg... 2048 pxtitre 70, titre SEO 60, description SEO 160, description, tags

Règles pour l'agent :

  • Les faits viennent du vendeur. Demandez la taille, les matériaux, ce qui est inclus et l'entretien avant l'exécution, et transmettez-les dans --notes. Il est demandé au modèle de copie de ne jamais inventer de faits, mais lisez listing.md et supprimez toute affirmation qui n'est pas dans les notes ou visible dans l'image avant que la personne ne publie.
  • Les images montrent ce que FLUX a dessiné, pas l'article réel. Pour main, angle et detail, le produit doit correspondre au produit réel de la personne : vérifiez-le par rapport à ses photos, et dites-lui que les marketplaces exigent que les images montrent l'article réel. Les prises lifestyle sont celles où les scènes générées aident le plus.
  • L'image main blanche terminée devient la référence produit pour les prises ultérieures, donc les accessoires sur la propre photo de la personne (une nappe, des décorations) ne se répercutent pas dans les prises lifestyle. Demandez quand même une photo produit simple et bien éclairée : c'est à partir de celle-ci que main est dessinée.
  • --only main,lifestyle crée un sous-ensemble ; --no-refs --ref autre.jpg liste un produit différent de la même marque ; --for etsy limite les sites.

5. Apprendre ce qu'ils aiment

Le profil ne s'améliore que si vous bouclez. Chaque fois que la personne réagit à une image :

fluxx rate 02-pot-sur-rebord-ensoleille-v1 bien "adore la lumière basse du matin"
fluxx rate 03-pot-dans-salle-de-bain-v2 mal "trop chargé, la serviette détourne l'attention"

Lorsque deux évaluations ou plus pointent dans la même direction, modifiez brand.json (c'est du JSON simple ; modifiez-le avec vos outils de fichiers) : affinez style, étendez avoid, ajoutez une ligne datée à notes indiquant ce qui a changé et pourquoi. Lorsque le même défaut revient (une partie doublée, une mauvaise couleur, une étiquette manquante), ajoutez une règle d'une ligne à checks, par ex. "Exactement un combiné téléphonique dans toute l'image". Le juge compte et vérifie alors cette règle sur chaque candidat à partir de maintenant ; un score général seul a manqué exactement ce type de défaut lors des tests. Dites-le à la personne en une ligne ("J'ai ajouté 'lumière basse du matin' à votre style et supprimé les accessoires près du pot"). Une prise qu'elle aime peut devenir une référence de style : fluxx brand ref NOM <chemin>_hd.png --role style (les références sont limitées à 10 au total ; FLUX 3 traite les références de style uniquement comme un style, pas comme un contenu).

Changer le style sur demande ("rends-le plus sombre et plus atmosphérique", "on rebrande vers le pastel") : réécrivez style dans brand.json, conservez l'ancien dans notes avec la date pour qu'ils puissent revenir en arrière, supprimez les références de style qui ne correspondent plus, et proposez une exécution rapide --draft de 3 à 4 scènes connues pour qu'ils voient le nouveau look avant un lot complet. Pour un second look séparé (par ex. une campagne de vacances), créez une autre marque avec les mêmes références produit plutôt que de remplacer.

Règles

  • Un seul appel, plusieurs prises. Ne bouclez jamais fluxx gen par image. Un démarrage à froid (GPU, ~60 Go de modèles, chargement) coûte ~4 minutes. Les suivis dans la fenêtre chaude l'ignorent.
  • Le GPU s'arrête toujours. En cas d'échec, fluxx l'arrête immédiatement. En cas de succès, il reste chaud pendant --keep minutes et un watchdog détaché l'arrête ensuite, même si fluxx ou l'agent a disparu. Pendant une exécution, le watchdog le limite à --max-minutes (60 par défaut). Si une exécution se termine avec NOT CONFIRMED STOPPED, exécutez fluxx stop puis immédiatement fluxx status.
  • Pas de secrets dans le chat. Le jeton Hugging Face est tapé uniquement dans l'invite cachée de fluxx login. Il voyage jusqu'à la propre VM Colab de la personne, qui le supprime du disque dès sa lecture et est effacée à l'arrêt.
  • Leurs images restent…

Skills associés