← Tous les articles

/// Signal

Faire tourner FLUX.3 Image Klein chez soi tient en un exécutable — sauf la pièce que son éditeur déclare obligatoire

Publié le 31 octobre 2026
Note Buzz : 6/10SassyNow : Utile avec réserve
Carte graphique AMD Radeon RX 6800 XT photographiée de face : un carénage noir et argent et trois ventilateurs surmontés du logo Radeon.
Photo d’illustration — Vitaly Zdanevich · CC BY-SA 4.0 · source

Le fait : un billet de r/LocalLLaMA publié le 29 octobre 2026 explique comment générer des images chez soi avec FLUX.3 Image Klein et stable-diffusion.cpp, sans Python, en téléchargeant une archive et en lançant un exécutable. Le logiciel, en licence MIT, n’est pas réservé aux cartes NVIDIA : il publie neuf archives par révision, dont deux pour ROCm. Mais le montage que le billet présente comme « super-easy » se passe du sur-échantillonneur de prompt que Black Forest Labs, l’éditeur du modèle, décrit comme non facultatif.

Le mode d’emploi tient en une page. On prend sur la page des publications du projet l’archive correspondant à sa machine, on l’extrait et, sous CUDA, on ajoute le paquet de bibliothèques dynamiques — cudart-sd-bin-win-cu12-x64.zip, 563,5 Mo — pour ne pas installer le SDK complet. On lance ensuite sd-server --list-devices, qui affiche les périphériques reconnus puis rend la main : la commande sert à vérifier le GPU avant de démarrer le serveur, pas après. Quatre fichiers viennent de Hugging Face : model.safetensors (11,10 Go), ae.safetensors (0,34 Go), tokenizer.json, et un .gguf de Qwen/Qwen3-VL-4B-Instruct-GGUF, qui tient lieu d’encodeur de texte — celui que le script réclame est la version F16, 8,05 Go, là où la quantification Q4_K_M du même dépôt ne pèse que 2,50 Go ; l’auteur mentionne en plus un compagnon .mmproj de 0,84 Go si l’on veut la retouche d’image. Un script de lancement — --steps 16, --cfg-scale 1.0, --sampling-method euler, 1024 × 1024 — et le serveur écoute sur le port 9931. L’auteur résume : « Whole thing is mostly static .exe, .dll and model files. No bloody Python/TensorFlow machinery. » Il signale aussi un piège que personne ne devine : « the default seed is a static value of 42. Randomize it for the best results! » Ces réglages sont exactement ceux de la recette officielle du serveur, examples/server/recipes/flux3-klein.json — euler, CFG 1,0, 16 étapes, 1024 × 1024 —, et sur ce point le billet ne s’écarte pas de la documentation. Ce qu’il ne dit pas, en revanche, c’est le poids du compte : 11,44 Go pour les trois fichiers du dépôt du modèle, 8,05 Go pour l’encodeur de texte que le script réclame, et 0,92 Go pour les deux archives du projet — près de 20,4 Go. Le dépôt du modèle est en plus sous accès conditionnel, avec un compte Hugging Face à créer pour accepter la licence.

Le logiciel derrière n’a rien d’un nouveau venu, et il n’est pas réservé aux cartes NVIDIA. stable-diffusion.cpp, écrit par leejet, existe depuis le 13 août 2023, il est publié sous licence MIT, il comptait 7 842 étoiles et recevait encore un envoi le 31 octobre 2026. Son README le décrit comme travaillant « in the same way as llama.cpp », et le billet reprend la comparaison sous forme de question : « are you already getting the llama.cpp vibes? » Sa révision du jour, master-1030-0a06712, sort neuf archives : 354,2 Mo pour CUDA 12 sur Windows, 563,5 Mo pour le paquet de DLL, 18,1 Mo pour le processeur seul, 29,8 Mo pour Vulkan, 265,7 Mo pour ROCm sous Windows et 297,9 Mo sous Linux, plus Linux générique et macOS arm64. Le README liste six backends — processeur, CUDA, Vulkan, Metal, OpenCL, SYCL — et n’y met pas ROCm, alors que les archives ROCm existent : c’est la liste du README qui est incomplète, pas le projet. Un document dédié, docs/backend.md, décrit d’ailleurs le choix du backend par module et cite HIP, la pile d’AMD. Le post a donc raison, et l’idée qu’un tel outil doive être NVIDIA se réfute avec les fichiers sous les yeux. Détail qui compte pour qui télécharge : le plus gros fichier n’est pas le binaire CUDA mais le paquet de DLL qui l’accompagne.

Ce que le billet ne mentionne nulle part, en revanche, est la pièce qui décide du résultat. La documentation que Black Forest Labs consacre à FLUX.3 Image Klein porte une consigne en tête de page : « Do not use it without its prompt upsampler », et la section qui l’explicite ajoute : « Do not use Klein without the prompt upsampler. The model is trained on the captions it writes; a prompt sent as typed gives noticeably weaker results. » Ce sur-échantillonneur n’est pas un réglage : c’est un second modèle, black-forest-labs/flux-3-image-klein-pup, et l’éditeur prévient qu’il « adds about 28 GB of GPU memory ». Or la recette officielle du serveur ne déclare que quatre emplacements — le modèle de diffusion, l’encodeur de texte étiqueté « Qwen 3 VL 4B Text Encoder », le VAE et un TAE —, et aucun pour un sur-échantillonneur : le --llm du guide est l’encodeur de texte, pas le sur-échantillonneur. La documentation de l’interface du serveur ne mentionne pas une seule fois le mot « upsampler » — ni son code source, ni son README —, ce qui ne prouve pas que la pièce soit impossible à brancher, mais interdit de présenter cette chaîne comme complète. Et ni le billet ni la documentation de l’éditeur ne publient d’image comparée avec et sans elle. Autrement dit : l’installation est aussi simple qu’annoncé, et le régime dans lequel elle fait tourner le modèle est celui que l’éditeur déconseille.

Restent les questions qu’un créateur se pose en premier. La mémoire vidéo nécessaire à ce montage-là n’est donnée par aucune source : un intervenant du fil, u/Capaj, demande « How much video RAM do I need to run this? », et la page lue ne porte aucune réponse ; les seuls chiffres du dossier concernent d’autres chemins — les 8 Go en INT8 chez ComfyUI ou Diffusers, et les quelque 28 Go qu’ajoute le sur-échantillonneur —, et l’éditeur parle d’une carte « down to an RTX 3090 » pour son propre code de référence, ce qui ne dit rien de cette implémentation. Aucun temps de génération n’est donné non plus. Sur ComfyUI, le jugement de l’auteur est sans nuance — « 10GB of bloat », « Did I mention I hate it? » — et le fil lui oppose un argument technique qu’il faut citer, parce qu’il répond au reproche précis du billet : « If you ever want to give Comfyui another chance, you can open an image or video you generated in it and it will load the full workflow used to generate it » (u/shroddy). Trois vérifications avant d’adopter ce montage, donc : lire la licence des poids — le dépôt est sous FLUX Kommunity License, dont nous avons détaillé le plafond de chiffre d’affaires le 18 octobre —, prévoir de quoi faire tourner le sur-échantillonneur à côté si l’on veut la qualité que l’éditeur annonce, et mesurer chez soi la mémoire, puisque aucune source ne la donne pour cette implémentation.

Verdict SassyNow

Ce qui est établi, documents et archives en main : stable-diffusion.cpp est un projet de trois ans, en licence MIT, qui documente six backends — processeur, CUDA, Vulkan, Metal, OpenCL, SYCL — et qui publie, dans sa révision du 31 octobre, des binaires pour le processeur, CUDA, Vulkan, ROCm et macOS : OpenCL et SYCL sont pris en charge par le code, mais aucune archive ne les livre. L’idée d’un outil réservé à NVIDIA n’en est pas moins fausse, et les neuf archives du jour le montrent. Le montage du billet fonctionne, ses réglages recopient la recette officielle du serveur, et son intérêt est réel : un binaire, quatre fichiers, aucun Python. Ce qui est établi aussi, et qui manque au billet : le téléchargement approche les 20 Go, derrière un compte Hugging Face, et le guide s’arrête à l’encodeur de texte alors que l’éditeur du modèle écrit noir sur blanc qu’il ne faut pas s’en servir sans son sur-échantillonneur de prompt, un modèle distinct qui réclame environ 28 Go de mémoire vidéo. Nous ne tranchons pas la question de la qualité réellement obtenue sans lui, parce qu’aucun des deux documents ne publie la comparaison. La règle qui sort de ce dossier tient en une phrase : une installation locale n’est complète que si elle embarque toute la chaîne que l’éditeur décrit, et un exécutable unique ne le garantit pas.

Sources