Une carte de titre générée dans le style maison d'OrcaRouter, portant « FLUX 3 Image Klein Prompt Upsampler », introduite par « Livré discrètement · 15 octobre 2026 », avec le sous-titre « Le modèle Apache-2.0 de 18,8 GB que Black Forest Labs a livré sans le nommer. », une grande mesure « 18,82 GB » étiquetée « un fichier safetensors bfloat16, selon l'API Hugging Face », deux puces indiquant « Apache 2.0 · aucun contrôle d'accès » et « Quatre prompts système · t2i / i2i / bbox », des dessins au trait d'une légende se déployant en une pile de lignes de texte alimentant une image encadrée, et un cadenas ouvert à côté d'une seconde image encadrée. Une légende en bas à gauche indique « Fine-tuning complet de Qwen3.5-9B avec la tour de vision gelée. » Le logo OrcaRouter est intégré dans la bande rembourrée le long du bas.
Engineering & Research

FLUX 3 Image Klein Prompt Upsampler : le modèle de 18,8 Go que BFL a livré sans le nommer

Auteur

Magnus Corvin

Date de publication

Derniers modèles · 20Voir tous les modèles →
Benchmarks : Artificial Analysis · mis à jour quotidiennement
Retour à tous les articles

Black Forest Labs a livré deux modèles le 15 octobre 2026 et n'en a annoncé qu'un. Le modèle annoncé est FLUX 3 Image Klein, le générateur d'images open-weights de 5,6B qui a suscité l'article de lancement, la grille tarifaire, le workflow ComfyUI et une salve de couverture spécialisée. L'autre est le FLUX 3 Image Klein Prompt Upsampler — un fine-tune de 18,8 Go de Qwen3.5-9B qui réécrit votre courte requête en la longue légende attendue par le modèle d'image — et c'est l'artefact le plus permissif de la publication. Son dépôt est public, ne nécessite aucun compte et porte la licence Apache 2.0, alors que chacun de ses trois dépôts frères porte la FLUX Kommunity License et un accès contrôlé. L'article de lancement de BFL ne le nomme jamais. Pas plus que la page du modèle, les notes de version ou la documentation de l'API de FLUX 3 Image Klein, qui ne contient pas une seule fois le mot « upsampler » en 35 000 caractères.

Cet écart peut être vérifié en cinq minutes environ, et cela vaut la peine de le vérifier, car l'upsampler détermine davantage l'aspect de vos images que la plupart des réglages que vous passerez le week-end à ajuster. Il soulève aussi une question à laquelle l'annonce ne répond pas : B​FL le destine-t-il à être un modèle autonome sur lequel vous pouvez vous appuyer, ou une dépendance porteuse de son propre code d'inférence qui s'est trouvée publiée avec un en-tête Apache ? Cet article distingue ce que le dépôt prouve de ce que seul B​FL peut confirmer. Chaque chiffre ci-dessous provient de la fiche du modèle, de l'API Hugging Face, du code d'inférence de référence ou de la documentation propre à B​FL, et aucun n'a fait l'objet d'un benchmark indépendant par un tiers.

Qu'est-ce qui a réellement été livré, et quelle partie n'a pas été nommée

Commençons par les dates, car elles sont exactes. Le dépôt de l'upsampler a été créé sur Hugging Face à 20 h 40 UTC le 14 octobre 2026 et sa dernière écriture a eu lieu à 15 h 32 UTC le 15 octobre — la même fenêtre à l'échelle de la minute que les dépôts FLUX 3 Image Klein qu'il sert. La publication de lancement est datée du 15 octobre. Il ne s'agit donc pas d'une fuite, ni d'un aperçu, ni d'un checkpoint que quelqu'un garde au chaud : c'est une publication officielle, diffusée en même temps que le modèle auquel elle appartient.

Ce qu’il n’a pas obtenu, c’est un nom dans l’annonce. Lisez l’énumération de la sortie que B​FL donne, et le schéma est cohérent :

• L'article de lancement décrit les poids de FLUX 3 Image Klein, ses versions FP8, INT8 et NVFP4 conçues avec NVIDIA, sa prise en charge de ComfyUI et Diffusers dès le premier jour, et sa licence. Il mentionne « suréchantillonnage de prompt » une fois, comme fonctionnalité du point de terminaison de l'API hébergée, sans nommer de modèle ni donner de lien vers un dépôt.

• La page du modèle sur bfl.ai/models/flux-3-image-klein répertorie les versions non distillée et distillée, et indique que l'accès à l'API inclut « l'amélioration de prompt ». Aucun dépôt non plus.

• Les notes de version du 15 octobre listent les poids : Klein (distillé), Klein Base et les poids ComfyUI. L'upsampler ne figure pas parmi eux.

• La documentation API pour FLUX 3 Image Klein compte 35 148 caractères. Une recherche insensible à la casse de « upsampl » ne renvoie aucun résultat.

• Le code d'inférence de référence sur GitHub est l'endroit où il apparaît enfin — une section du README intitulée « Prompt upsampling », une option --no-pup dans la CLI, un budget --pup-memory, et un module flux3/pup.py. Ce qui est la réponse honnête à « est-il caché ? » : non. Il est documenté, il est intégré, il s'exécute par défaut, et si vous cloniez le dépôt, vous le rencontreriez immédiatement.

La distinction compte et il est facile de la brouiller. Il ne s'agit pas d'une sortie furtive ; il s'agit d'une sortie dont le composant sous la licence la plus permissive a été traité comme de la plomberie. La communauté l'a remarqué plus vite que la presse — dès le 15 octobre, il y avait déjà des quantifications GGUF tierces de l'upsampler sur Hugging Face, et une organisation miroir avait copié les quatre dépôts.

A generated single-column scoreboard card titled “FLUX 3 Image Klein Prompt Upsampler — the scoreboard”, kicked by “Shipped quietly · figures from the repo, 16 October 2026”, with six rows: “Disk size: 18.82 GB bf16”, “Vision tower: 27 layers, frozen”, “Licence: Apache 2.0”, “Access gate on Hugging Face: none — the other three repos are gated”, “Downloads after 24 hours: 13”, and an amber-highlighted “Named in BFL's launch post: no — it appears only in the reference repo”. A footer reads “Figures taken from the model card, the Hugging Face API and the reference repository. No independent evaluation of the upsampler has been published.”

Ce qu’est réellement le suréchantillonneur

La fiche du modèle est explicite sur la lignée : il s'agit d'un fine-tuning complet de Qwen3.5-9B avec la tour de vision gelée. Le fichier de configuration confirme la structure — 32 couches, un état caché de 4 096 de large, 16 têtes d'attention contre 4 têtes clé-valeur, un plafond de position de 262 144 jetons et un vocabulaire de 248 320. L'empilement de couches n'est pas uniforme : trois couches sur quatre utilisent l'attention linéaire, avec une couche d'attention complète toutes les quatre couches. La tour de vision compte 27 couches de profondeur pour 1 152 de large, une taille de patch de 16, une fusion spatiale de 2. Il s'agit d'un modèle vision-langage à attention hybride de génération actuelle, et non d'un gabarit de prompt auquel on aurait boulonné un modèle de langage.

Sur le disque, il s'agit d'un unique fichier safetensors bfloat16 de 18,82 Go, plus un tokenizer, un template de chat et un fichier plus intéressant que les autres : system_prompts.json, 12,6 Ko contenant quatre prompts système complets nommés t2i, i2i, t2i_bbox et i2i_bbox. Ces quatre prompts constituent l'interface réelle du modèle. Ils sont également lisibles, ce qui signifie que le comportement de l'upsampler n'est pas une boîte noire — vous pouvez lire exactement ce qu'il a reçu comme instruction de faire, puis vérifier s'il l'a fait.

L'entraînement s'est déroulé en deux étapes, selon la fiche : un affinage supervisé sur des paires de requêtes courtes et de leurs prompts développés, puis un ajustement par préférences sur des paires de sorties du modèle lui-même, rendues via FLUX 3 Image Klein avec une graine fixe et classées d'après l'image résultante. C'est cette seconde étape qui est remarquable. L'upsampler n'a pas été ajusté pour écrire des prompts qui se lisent bien ; il a été ajusté sur lequel de ses propres prompts produisait la meilleure image lorsque le modèle d'image les exécutait. Il s'agit d'une méthodologie rapportée par le fournisseur, non d'une ablation publiée, et aucune évaluation indépendante n'en existe.

Les quatre modes, et comment le pipeline en choisit un

L’upsampler n’est pas toujours un outil de génération d’images à partir de texte. Le prompt système qu’il charge dépend de ce que vous lui donnez, et la règle se trouve dans bbox.py :

• Pas d'images de référence, pas de boîtes — le prompt t2i. Il développe une requête en une seule légende détaillée.

• Images de référence, sans boîtes — le prompt i2i. Il examine les références et rédige une instruction de modification qui identifie chaque référent par son apparence réelle. Une demande vague est interprétée comme la modification la plus plausible des images fournies.

• Boîtes fournies, texte-vers-image — le prompt t2i_bbox. La sortie devient une légende suivie d'un tableau d'éléments JSON, une ligne par objet sur un canevas de 0 à 1000, et la légende cite chaque ligne par un identifiant entre chevrons.

• Boîtes plus références — le prompt i2i_bbox, qui renvoie un enregistrement d'annotation comportant un champ from distinguant le contenu tiré de ref_image_N du contenu marqué target, ainsi qu'une boîte dans la source et une boîte dans la sortie imaginée.

Vos boîtes l'emportent en cas de conflit. Le code convertit vos coordonnées de 0 à 1 sur la grille de 0 à 1000, les transmet au modèle sous forme de liste verrouillée faisant autorité, puis réconcilie la réponse : toute ligne que le modèle a replanifiée sous son propre identifiant et qui chevauche une boîte verrouillée avec un rapport d'intersection sur union de 0,9 ou plus prend l'identifiant verrouillé, et les lignes verrouillées sont réécrites mot pour mot, avec la description du modèle adoptée. Votre disposition n'est pas une suggestion que le modèle est libre d'améliorer.

Le décodage est fixe et vaut la peine d'être copié si vous l'appelez vous-même : greedy, top-p 0,95, top-k 20, un plafond de 3 584 nouveaux tokens, et une pénalité de présence de 1,5 pour le texte-vers-image contre 0,0 pour les éditions. Cette asymétrie est délibérée — la pénalité existe pour empêcher le générateur de légendes de se répéter, et une instruction d'édition qui mentionne légitimement deux fois le même objet ne devrait pas être pénalisée pour cela.

Ce que les prompts exigent — et pourquoi vos prompts ont l’apparence qu’ils ont

Le prompt système t2i est le document le plus utile de la version pour quiconque a trouvé le comportement de FLUX 3 Image Klein étrange. Certaines de ses instructions expliquent directement le style de sortie du modèle :

• Longueur. « La longueur typique est de 100 à 350 mots, davantage pour les scènes complexes. » L'upsampler ne compresse pas votre prompt et ne le résume pas. Il l'étend d'environ un ordre de grandeur, et le modèle d'image a été entraîné sur des descriptions de cette plage.

• Chaque personne mise en avant fait l’objet d’un profil. Ethnicité, genre, tranche d’âge, teint, cheveux et vêtements — comme attributs observables. Le prompt donne les exemples « peau claire » et « peau brune ».

• L'arrière-plan occupe environ un sixième de la légende. Explicite. Le prompt exige également que les contenus flous et distants soient décrits sous forme de formes, de couleurs et de silhouettes plutôt que d'identités ou de texte lisible.

• Le style est par défaut la photographie. Sans style indiqué, le modèle planifie une véritable photographie et commence par une convention de support — « Photographie extérieure en couleurs », « Photographie de studio » — en réservant « Photoréaliste » aux rendus. Une demande de quelque chose de « réaliste » est convertie en convention photographique plutôt que reprise telle quelle.

• Interdictions. Aucun adverbe d’atténuation. Aucun jugement de qualité ou d’émotion. Aucune phrase de clôture sur l’humeur. Les négations sont reformulées en affirmations de ce qui est présent. La voix générative est obligatoire : « cette image montre » et « nous pouvons voir » sont purement et simplement interdites.

• Anti-photo de stock. Le prompt demande « quelques détails ordinaires et non idéaux, tirés des objets de la scène elle-même plutôt que de l’idéal de la photo de stock ». C’est une instruction pour rendre les images moins génériques, inscrite dans un prompt système.

• Traitement du texte.Le texte rendu doit être transcrit mot pour mot entre guillemets doubles dans sa langue et son écriture d'origine, avec les sauts de ligne préservés, ainsi que la typographie, la couleur et le placement spécifiés. Lorsqu'une demande nécessite un texte qu'elle n'a pas fourni, le modèle rédige une formulation concrète et correcte pour le domaine.

Lisez cette liste en la confrontant à une génération décevante et vous pourrez généralement identifier quelle règle n’a pas reçu assez de matière pour travailler. Un portrait plat sur fond vide est une requête sans scène, sans éclairage et sans aucun détail ordinaire. Une invite que le modèle a ensuite étoffée malgré tout, comblant le vide avec un plan générique de son propre choix.

A headless-browser capture of the Hugging Face repository page for black-forest-labs/flux-3-image-klein-pup, showing the model header and title, the repository tabs, the Apache-2.0 licence label, the task tag and library tags, and the file listing for the repository including the 18.82 GB bfloat16 safetensors weight file and the system_prompts.json file.

Ce que cela vous coûte en mémoire et en temps

L'upsampler est activé par défaut dans le pipeline propre à BFL, et la raison pratique de s'en soucier est que « activé par défaut » signifie qu'un second modèle reste résident pendant que le premier génère. D'après le code de référence et la documentation :

• Disque — 18,82 Go pour les poids bfloat16, contre 11,1 Go pour les safetensors propres du modèle d'image distillé et environ 11 Go pour la base.

• VRAM — l'implémentation de référence attribue à l'upsampler une part du GPU, avec une valeur par défaut de 0,35 dans l'API Python et de 0,85 dans la ligne de commande du module autonome. Le tableau de mémoire de B​FL, mesuré sur un B200, affiche 31 Go en bf16 pour le modèle d'image avec --no-pup ; la part réservée de l'upsampler vient s'ajouter par-dessus.

• L'histoire des 8 Go devient plus compliquée. L'annonce phare de B​FL est que la version INT8 de FLUX 3 Image Klein tourne sur un GPU RTX avec seulement 8 Go de VRAM, et il s'agit du modèle d'image. Dans le dépôt ComfyUI, le suréchantillonneur de prompt est livré sous la forme d'un fichier d'encodeur de texte INT8 séparé de 9,75 Go. Personne n'a publié de configuration dans laquelle tiennent à la fois en mémoire une carte 8 Go et le suréchantillonneur.

• Le bouton d'arrêt se résume à une seule option. --no-pup envoie votre prompt tel que saisi. La démo propose le même bouton bascule, et le suréchantillonnage de prompt de l'API hébergée fait partie du point de terminaison plutôt que d'être une ligne distincte dans la grille tarifaire publiée : 0,008 $ en 768 × 768, 0,009 $ en 1K, 0,011 $ en 1,5K, 0,014 $ en 2K et 0,036 $ en 4K, la génération et l'édition étant facturées au même prix.

• Les références sont sous-échantillonnées avant que l'upsampler ne les voie.Une référence est plafonnée à environ un mégapixel ; deux obtiennent 724 de côté chacune ; trois ou plus obtiennent 512 de côté chacune, réencodées en JPEG à une qualité de 92. La fiche du modèle l'indique comme une limitation noir sur blanc — les petits détails d'une référence peuvent être décrits de façon erronée — et c'est le mécanisme à l'origine d'un échec précis que vous pouvez reproduire : demandez une modification qui dépend d'un petit détail imprimé et l'instruction peut revenir en décrivant la mauvaise chose, parce que l'upsampler ne l'a jamais vue en pleine résolution. Le modèle d'image, lui, reçoit votre original.

La licence est l'élément qui mérite débat.

Voici l'asymétrie, énoncée clairement. Les poids FLUX 3 Image Klein sont couverts par la FLUX Kommunity License, qui n'autorise l'usage commercial gratuit que pour les particuliers et les entreprises réalisant moins de 5 millions de dollars de chiffre d'affaires annuel, les organisations plus grandes étant orientées vers une licence auto-hébergée ou l'API. Déclenchez une demande de licence commerciale sur un produit, et le modèle que vous livrez n'est pas le seul artefact concerné.

Quatre dépôts faisaient partie de cette version. Trois d'entre eux — le modèle distillé, le modèle de base et les poids ComfyUI — sont répertoriés par l'API Hugging Face comme gated: auto, ce qui signifie que vous devez accepter les conditions avant de pouvoir télécharger les fichiers. L'un d'eux n'est pas gated du tout, et porte la licence Apache License 2.0 : le prompt upsampler. C'est également le seul des quatre dont la fiche modèle indique directement une licence permissive, et le README du dépôt de référence trace explicitement la limite — le code est Apache 2.0, les poids Klein sont FLUX Kommunity, et « le prompt upsampler est Apache 2.0. »

A generated comparison card titled “One licence line separates the upsampler from the rest of the release”, kicked by “Shipped quietly · the four repositories, 16 October 2026”, with the sub-line “Access gate and licence as listed by the Hugging Face API.” A header row reads “Repository / Licence / Access gate on Hugging Face” above four rows: “Distilled image model”, “Base image model” and “ComfyUI weights”, each reading “FLUX Kommunity License” and “gated — terms must be accepted” in amber, and a highlighted “Prompt upsampler” row reading “Apache License 2.0” and “none — download without an account” in blue. A footer reads “Licence and gate status read from the Hugging Face API and each repository's model card. Three of the four carry the FLUX Kommunity License, which permits free commercial use only below $5M annual revenue.” The OrcaRouter logo is composited into the padded strip along the bottom.

Ce que cela vous apporte dépend de la question non résolue. Si l'upsampler est véritablement un artefact autonome, il s'agit d'un modèle vision-langage de classe 9B que vous pouvez affiner, redistribuer et intégrer à un produit commercial sans seuil de chiffre d'affaires, et c'est actuellement le moyen le moins coûteux d'acquérir cette capacité auprès d'un laboratoire d'images de pointe selon des conditions qui ne nécessitent pas l'intervention d'un avocat. S'il n'est destiné qu'à servir de dépendance au code de référence de B​FL, le réaffecter comporte un risque qu'aucun document ne permet actuellement de lever.

Ce qui est confirmé, et ce qui ne l'est pas

Confirmé à partir du dépôt et de l'API Hugging Face, le tout revérifiable : l'inventaire des fichiers et les tailles en octets, la licence Apache 2.0, l'absence de contrôle d'accès, la base Qwen3.5-9B, les quatre prompts système et leur texte intégral, les paramètres de décodage, le budget de prétraitement de référence, le comportement de réconciliation des boîtes, la description de l'entraînement en deux étapes, et les limitations publiées.

Non confirmé, et exposé comme une question ouverte plutôt que comme une conjecture : si B​FL considère le suréchantillonneur comme un produit pris en charge ou comme une dépendance interne ; si l'en-tête Apache 2.0 était une décision de licence délibérée ou un choix par défaut hérité de Qwen3.5-9B ; dans quelle mesure le suréchantillonneur améliore réellement la sortie, étant donné qu'aucun tiers n'a mené de comparaison contrôlée et que B​FL n'a publié aucune étude d'ablation ; si l'étape d'ajustement des préférences se généralise au-delà des invites de son ensemble d'entraînement ; et si le fichier ComfyUI INT8 de 9,75 Go est le même modèle en précision inférieure ou un modèle préparé différemment, étant donné que la fiche de modèle de ce dépôt est sous accès restreint et n'a pas pu être lue.

Également ouvert : les chiffres sur le dépôt lui-même sont petits. Treize téléchargements et dix likes sur l'upsampler, contre 3 241 téléchargements et 128 likes sur le modèle d'image distillé, vingt-quatre heures après la publication. Ce n'est pas une preuve que le modèle est sans importance — c'est la preuve que presque personne ne savait qu'il était là.

Là où OrcaRouter est pertinent, et là où il ne l'est pas

La version honnête d'abord : OrcaRouter n'héberge aucun modèle Black Forest Labs. Le catalogue a été vérifié plutôt que supposé, et aucune entrée FLUX n'y figure. Rien de ce qui suit ne laisse entendre le contraire.

Ce qui figure au catalogue, c'est l'ensemble de comparaison. Si vous comptez passer un week-end à tester si l'expansion de prompt améliore vos images, l'expérience intéressante consiste à faire passer la même requête par FLUX 3 Image Klein avec l'upsampler activé puis désactivé, et ensuite face à un modèle d'image hébergé qui gère lui-même le prompt — ceux de Google, d'OpenAI, de Grok — pour voir si l'écart que vous mesurez vient de l'upsampler ou du générateur. Ces modèles hébergés sont accessibles depuis une seule clé sur OrcaRouter, au prix catalogue du fournisseur, sans marge ajoutée, si bien que le coût de l'expérience se limite au tarif du fournisseur, sans rien de plus. C'est une façon moins coûteuse de répondre à la question que de télécharger 18,82 Go quatre fois.

Cela vaut toutefois la peine de préciser la limite de ce conseil. Si vous voulez réellement fine-tuner l’upsampler sous Apache 2.0, vous avez besoin des poids sur votre propre matériel et d’un environnement d’exécution capable de servir un modèle vision-langage de 9B. OrcaRouter ne s’occupe pas de cette partie, et la question de licence ci-dessus est à trancher de votre côté.

Qu’est-ce qui transformerait cela en une histoire plus importante ?

Quatre choses, dans l’ordre approximatif de l’ampleur de ce qu’elles changeraient. Premièrement, une mention nominative de la part de BFL — une fiche de modèle, une page de documentation, une ligne dans les notes de version — qui trancherait le cadrage ici et forcerait probablement une mise à jour de cet article. Deuxièmement, une évaluation contrôlée, la nôtre ou celle de n’importe qui, d’images générées avec et sans l’upsampler à graine fixe ; ce chiffre manque actuellement et c’est celui que tout le monde veut réellement. Troisièmement, une déclaration sur le caractère délibéré ou non de la licence Apache 2.0, puisque c’est ce qui rend l’artefact intéressant plutôt que simplement non répertorié. Quatrièmement, le même traitement appliqué au reste de la famille FLUX 3 : si le schéma de l’upsampler se confirme, d’autres paliers seront livrés avec des modèles auxiliaires permissifs attachés et non annoncés.

Jusque-là, la lecture pratique est étroite et peu glamour. Parce que le modèle d’image téléchargé est soumis à un accès restreint et que sa licence comporte un seuil de revenus, la plupart des personnes qui veulent construire sur FLUX 3 Image Klein commenceront par l’API, où l’upsampler n’est pas une décision que l’on prend — c’est quelque chose que l’endpoint fait, intégré dans une grille tarifaire qui commence à 0,008 $ par image. Les personnes qui devraient se soucier du dépôt sont celles qui hébergent elles-mêmes, et pour elles, le fait utile cette semaine est simplement que l’élément de cette publication sous la licence la plus permissive est aussi celui dont personne ne leur avait parlé.

Pour un modèle dont les modes de défaillance ne sont pas encore documentés, la contrepartie utile est le registre de ce qui a déjà mal tourné ailleurs : les incidents d'IA documentés et les défaillances d'agents concernant les modèles de cette classe sont recensés dans l'OrcaRouter AI Incident Archive, où chaque entrée comporte ses propres sources, son niveau de gravité, son degré de confiance et son indicateur de contestation.