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

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
- Reddit, r/LocalLLaMA — « Image generator server is super-easy with stable-diffusion.cpp and Flux-3-image-klein », par u/srigi, publié le 29 octobre 2026, rubrique Resources. Source du mode d’emploi, des quatre fichiers, du script de lancement, de la phrase sur le seed par défaut de 42, du jugement sur ComfyUI (« 10GB of bloat »), et des réponses du fil citées : « How much video RAM do I need to run this? » (u/Capaj) et le rappel sur le rechargement du workflow dans ComfyUI (u/shroddy)
- leejet/stable-diffusion.cpp — dépôt du logiciel : licence MIT, 7 842 étoiles, dépôt créé le 13 août 2023, dernier envoi le 31 octobre 2026, aucune dépendance externe, six backends listés au README (processeur, CUDA, Vulkan, Metal, OpenCL, SYCL) et « working in the same way as llama.cpp »
- leejet/stable-diffusion.cpp — publications du 31 octobre 2026 (révision master-1030-0a06712, 10 h 42 UTC) : les neuf archives par plateforme et leur taille, dont cudart-sd-bin-win-cu12-x64.zip (563,5 Mo), win-cuda12 (354,2 Mo), win-rocm-10.1.0 (265,7 Mo), Linux rocm-10.1.0 (297,9 Mo), win-vulkan (29,8 Mo), win-cpu (18,1 Mo) et macOS arm64 (37,6 Mo)
- leejet/stable-diffusion.cpp — documentation du modèle dans le dépôt : « FLUX.3 Image Klein uses a FLUX.3 diffusion transformer, the FLUX.2 VAE, and Qwen3-VL 4B as the LLM text encoder », et les réglages de la version distillée (16 étapes, CFG 1,0, euler)
- leejet/stable-diffusion.cpp — recette officielle du serveur pour ce modèle (795 octets) : quatre emplacements seulement — diffusion_model, llm étiqueté « Qwen 3 VL 4B Text Encoder », vae, tae —, réglages par défaut euler / CFG 1 / 16 étapes / 1024 × 1024, et aucun emplacement pour un sur-échantillonneur de prompt
- leejet/stable-diffusion.cpp — documentation de l’interface du serveur, dépouillée le 31 octobre 2026 : 66 383 caractères, aucune occurrence de « upsampler », de « pup » ni de « enhance ». C’est cette mesure qui borne la portée de la recette officielle — une absence de mention, pas une preuve d’impossibilité
- leejet/stable-diffusion.cpp — guide de sélection des backends : affectation par module, et mentions de HIP (la pile d’AMD) et de Vulkan, ce qui documente les plateformes non-CUDA
- Black Forest Labs — documentation officielle de FLUX.3 Image Klein. Source de la consigne « Do not use it without its prompt upsampler », de sa justification (« The model is trained on the captions it writes; a prompt sent as typed gives noticeably weaker results »), de la nature du sur-échantillonneur (un modèle distinct, black-forest-labs/flux-3-image-klein-pup) et du coût annoncé (« It adds about 28 GB of GPU memory »). Source aussi des spécifications retenues ici : 5,6 milliards de paramètres, 16 étapes et CFG 1 pour la version distillée, jusqu’à 4K, et une carte « down to an RTX 3090 » pour le code de référence de l’éditeur
- Hugging Face — fiche du modèle flux-3-image-klein, consultée le 31 octobre 2026. Elle porte l’accès conditionnel (le champ gated vaut "auto") et les tailles réelles des fichiers cités : model.safetensors 11,10 Go, ae.safetensors 0,34 Go, tokenizer.json 0,01 Go, pour un dépôt de 43,32 Go au total (dont un text_encoder de 8,9 Go et un dossier transformer de 11,1 Go)
- SassyNow — « FLUX 3 Image Klein annonce 8 Go de mémoire vidéo ; le droit de les vendre gratuitement, lui, s’arrête à 5 M$ », publié le 18 octobre 2026. Pour la licence FLUX Kommunity et son plafond de chiffre d’affaires, déjà documentés là-bas et volontairement non repris ici — et pour les deux chiffres de mémoire cités au dernier paragraphe : les 8 Go en INT8 chez ComfyUI ou Diffusers, et les quelque 28 Go qu’ajoute le sur-échantillonneur