Una tarjeta de título generada al estilo de la casa de OrcaRouter que dice “FLUX 3 Image Klein Prompt Upsampler”, con el antetítulo “Lanzado discretamente · 15 de octubre de 2026”, con el subtítulo “El modelo Apache-2.0 de 18.8 GB que Black Forest Labs lanzó sin nombrarlo.”, una métrica grande “18.82 GB” etiquetada “un único archivo safetensors bfloat16, según la API de Hugging Face”, dos chips que dicen “Apache 2.0 · sin puerta de acceso” y “Cuatro prompts de sistema · t2i / i2i / bbox”, dibujos lineales de un pie de foto que se expande en una pila de líneas de texto que alimentan una imagen enmarcada, y un candado abierto junto a una segunda imagen enmarcada. Un pie de foto en la esquina inferior izquierda dice “Ajuste fino completo de Qwen3.5-9B con la torre de visión congelada.” El logotipo de OrcaRouter está compuesto dentro de la franja con relleno a lo largo de la parte inferior.
Engineering & Research

FLUX 3 Image Klein Prompt Upsampler: el modelo de 18,8 GB que BFL lanzó sin darle nombre

Autor

Magnus Corvin

Fecha de publicación

Últimos modelos · 20Ver todos los modelos →
Benchmarks: Artificial Analysis · actualizado a diario
Volver a todas las publicaciones

Black Forest Labs shipped two models on 15 October 2026 and announced one of them. The announced model is FLUX 3 Image Klein, the 5.6B open-weights image generator that drew the launch post, the pricing table, the ComfyUI workflow and a round of trade coverage. The other is the FLUX 3 Image Klein Prompt Upsampler — an 18.8 GB fine-tune of Qwen3.5-9B that rewrites your short request into the long caption the image model expects — and it is the single most permissive artifact in the release. Its repository is public, requires no account, and carries the Apache License 2.0, where each of its three sibling repositories carries the FLUX Kommunity License and an access gate. B​FL's launch post never names it. Neither does the model page, the release notes, or the API documentation for FLUX 3 Image Klein, which does not contain the word "upsampler" once in 35,000 characters.

That gap is checkable in about five minutes, and it is worth checking, because the upsampler decides more about what your images look like than most of the settings you will spend the weekend adjusting. It also raises a question the announcement does not answer: whether B​FL intends it as a standalone model you can build on, or as a load-bearing dependency of its own inference code that happened to get published with an Apache header. This piece separates what the repository proves from what only B​FL can confirm. Every number below comes from the model card, the Hugging Face API, the reference inference code or B​FL's own documentation, and none of it has been independently benchmarked by a third party.

Qué se lanzó realmente, y qué parte no se nombró

Empieza por las fechas, porque son exactas. El repositorio del upsampler se creó en Hugging Face a las 20:40 UTC del 14 de octubre de 2026 y se escribió por última vez a las 15:32 UTC del 15 de octubre — la misma ventana de escala de minutos que los repositorios FLUX 3 Image Klein a los que sirve. La publicación de lanzamiento está fechada el 15 de octubre. Así que esto no es una filtración, ni una vista previa, ni un checkpoint que alguien esté guardando: es un lanzamiento de primera parte publicado junto al modelo al que pertenece.

What it did not get is a name in the announcement. Read B​FL's own enumeration of the release and the pattern is consistent:

• The launch post describes FLUX 3 Image Klein's weights, its FP8, INT8 and NVFP4 builds built with N​VIDIA, its day-one ComfyUI and Diffusers support, and its licence. It mentions "prompt upsampling" once, as a feature of the hosted API endpoint, without naming a model or linking a repository.

• La página del modelo en bfl.ai/models/flux-3-image-klein enumera las versiones sin destilar y destilada, y describe el acceso a la API como incluyendo la «mejora de prompts». Además, no hay repositorio.

• Las notas de la versión del 15 de octubre enumeran los pesos: Klein (destilado), Klein Base y los pesos de ComfyUI. El upsampler no está entre ellos.

• La documentación de la API de FLUX 3 Image Klein ocupa 35.148 caracteres. Una búsqueda de "upsampl" que no distingue entre mayúsculas y minúsculas no devuelve ningún resultado.

• El código de inferencia de referencia en GitHub es donde por fin aparece: una sección del README titulada "Prompt upsampling", un flag --no-pup en la CLI, un presupuesto --pup-memory y un módulo flux3/pup.py. Lo cual es la respuesta honesta a "¿está oculto?": no. Está documentado, está integrado, se ejecuta por defecto, y si clonaras el repositorio te toparías con él de inmediato.

La distinción importa y es fácil de difuminar. Esto no es un lanzamiento encubierto; es un lanzamiento cuyo componente con la licencia más permisiva fue tratado como simple fontanería. La comunidad se dio cuenta más rápido que la prensa: para el 15 de octubre ya había cuantizaciones GGUF de terceros del sobremuestreador en Hugging Face, y una organización espejo había copiado los cuatro repositorios.

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.”

Qué es realmente el upsampler

La ficha del modelo es directa sobre el linaje: es un ajuste fino completo de Qwen3.5-9B con la torre de visión congelada. El archivo de configuración confirma la forma: 32 capas, un estado oculto de 4.096 de ancho, 16 cabezas de atención frente a 4 cabezas de clave-valor, un techo de posición de 262.144 tokens y un vocabulario de 248.320. La pila de capas no es uniforme: tres de cada cuatro capas usan atención lineal, con una capa de atención completa cada cuatro. La torre de visión tiene 27 capas de profundidad y 1.152 de ancho, tamaño de parche 16, fusión espacial 2. Este es un modelo de visión-lenguaje con atención híbrida de generación actual, no una plantilla de prompt con un modelo de lenguaje adosado.

En disco es un único archivo safetensors bfloat16 de 18,82 GB, además de un tokenizer, una plantilla de chat y un archivo que es más interesante que el resto: system_prompts.json, de 12,6 KB, que contiene cuatro prompts de sistema completos llamados t2i, i2i, t2i_bbox e i2i_bbox. Esos cuatro prompts son la interfaz real del modelo. También son legibles, lo que significa que el comportamiento del upsampler no es una caja negra: puedes leer exactamente lo que se le indicó que hiciera y luego comprobar si lo hizo.

El entrenamiento se llevó a cabo en dos etapas, según la ficha: ajuste fino supervisado con pares de solicitudes breves y sus prompts expandidos, y luego ajuste de preferencias con pares de resultados del propio modelo, renderizados mediante FLUX 3 Image Klein con una semilla fija y clasificados según la imagen resultante. Esa segunda etapa es la destacable. El upsampler no se ajustó para escribir prompts que se leyeran bien; se ajustó en función de cuál de sus propios prompts producía la mejor imagen cuando el modelo de imágenes los ejecutaba. Esa es una metodología reportada por el proveedor, no una ablación publicada, y no existe ninguna evaluación independiente de ella.

Los cuatro modos, y cómo el pipeline elige uno

El upsampler no siempre es una herramienta de texto a imagen. El prompt del sistema que carga depende de lo que le entregues, y la regla está en bbox.py:

• Sin imágenes de referencia, sin cajas — el prompt de t2i. Expande una solicitud en una única descripción detallada.

• Imágenes de referencia, sin cajas — el prompt i2i. Observa las referencias y escribe una instrucción de edición que identifica cada referente por cómo se ve realmente. Una petición vaga se interpreta como la edición más plausible de las imágenes proporcionadas.

• Cajas proporcionadas, texto a imagen — el prompt t2i_bbox. La salida se convierte en una descripción seguida de una tabla de elementos JSON, una fila por objeto en un lienzo de 0 a 1000, y la descripción cita cada fila mediante id entre corchetes angulares.

• Cajas más referencias — el prompt i2i_bbox, que devuelve un registro de anotación con un campo from que distingue el contenido tomado de ref_image_N del contenido marcado como target, además de una caja en la fuente y una caja en la salida imaginada.

Tus cajas ganan un conflicto. El código convierte tus coordenadas de 0 a 1 a la cuadrícula de 0 a 1000, se las entrega al modelo como una lista bloqueada autoritativa y luego concilia la respuesta: cualquier fila que el modelo haya replanificado bajo su propio id que se superponga con una caja bloqueada con una intersección sobre unión de 0.9 o mejor toma el id bloqueado, y las filas bloqueadas se reescriben literalmente con la descripción del modelo adoptada. Tu diseño no es una sugerencia que el modelo pueda mejorar.

La decodificación es fija y vale la pena copiarla si la invocas tú mismo: greedy, top-p 0,95, top-k 20, un tope de 3584 tokens nuevos y una penalización por presencia de 1,5 para texto a imagen frente a 0,0 para ediciones. Esa asimetría es deliberada — la penalización existe para evitar que el generador de descripciones se repita, y una instrucción de edición que menciona legítimamente el mismo objeto dos veces no debería ser penalizada por ello.

Qué exigen los prompts — y por qué tus prompts se ven como se ven

El prompt del sistema de t2i es el documento más útil del lanzamiento para cualquiera que haya encontrado extraño el comportamiento de FLUX 3 Image Klein. Algunas de sus instrucciones explican directamente el estilo de salida del modelo:

• Longitud. "La longitud típica es de 100 a 350 palabras, más para escenas complejas." El upsampler no está comprimiendo tu prompt ni resumiéndolo. Lo está expandiendo aproximadamente un orden de magnitud, y el modelo de imágenes se entrenó con descripciones de ese rango.

• Toda persona enfocada obtiene un perfil. Etnicidad, género, rango de edad, tono de piel, cabello y vestimenta — como atributos observables. El prompt proporciona los ejemplos "piel clara" y "piel morena".

• El fondo ocupa aproximadamente un sexto de la descripción. Explícito. La instrucción también exige que el contenido desenfocado y distante se describa como formas, colores y siluetas en lugar de identidades o texto legible.

• El estilo predeterminado es la fotografía. Si no se indica un estilo, el modelo planifica una fotografía real y comienza con una convención de medio — "Fotografía de exteriores a todo color", "Fotografía de estudio" — y reserva "Fotorrealista" para los renders. Una petición de algo "realista" se convierte a la convención fotográfica en lugar de repetirse tal cual.

• Prohibiciones. Nada de adverbios de matización. Nada de juicios sobre la calidad o las emociones. Nada de frase final sobre el estado de ánimo. Las negaciones se reescriben como afirmaciones de lo que está presente. La voz generativa es obligatoria: "esta imagen muestra" y "podemos ver" quedan terminantemente prohibidas.

• Anti-foto de stock. El prompt pide "unos cuantos detalles concretos, corrientes y poco ideales, extraídos de los propios objetos de la escena en lugar del ideal de las fotos de stock". Es una instrucción para que las imágenes sean menos genéricas, escrita dentro de un prompt de sistema.

• Manejo de texto. El texto renderizado debe transcribirse literalmente entre comillas dobles en su idioma y escritura originales, conservando los saltos de línea, y especificando la tipografía, el color y la ubicación. Cuando una solicitud necesita texto que no proporcionó, el modelo redacta un texto concreto y correcto para el dominio.

Compara esa lista con una generación decepcionante y, por lo general, podrás encontrar qué regla no recibió suficiente material con el que trabajar. Un retrato plano con un fondo vacío es una petición sin escena, sin iluminación y sin detalles concretos ordinarios. Un prompt que el modelo luego amplió de todos modos, rellenando el vacío con un plan genérico de su propia elección.

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.

Qué te cuesta en memoria y tiempo

The upsampler is on by default in B​FL's own pipeline, and the practical reason to care is that "on by default" means a second model resident while the first one generates. From the reference code and documentation:

• Disco — 18,82 GB para los pesos en bfloat16, frente a 11,1 GB para los propios safetensors del modelo de imagen destilado y unos 11 GB para el base.

• VRAM — the reference implementation gives the upsampler a share of the GPU, defaulting to 0.35 in the Python API and 0.85 in the standalone module's command line. B​FL's memory table, measured on a B200, runs 31 GB in bf16 for the image model with --no-pup; the upsampler's reserved share sits on top of that.

• The 8 GB story gets more complicated. B​FL's headline is that the INT8 build of FLUX 3 Image Klein runs on an RTX GPU with as little as 8 GB of VRAM, and that is the image model. In the ComfyUI repository the prompt upsampler ships as a separate 9.75 GB INT8 text encoder file. Nobody has published a configuration in which both an 8 GB card and the upsampler are resident at once.

• El interruptor de apagado es una sola bandera. --no-pup envía tu prompt tal como lo escribiste. La demo tiene el mismo conmutador, y el sobremuestreo de prompts de la API alojada forma parte del endpoint en lugar de ser una partida separada en la tarjeta de tarifas publicada: $0.008 en 768 cuadrados, $0.009 en 1K, $0.011 en 1.5K, $0.014 en 2K y $0.036 en 4K, con la generación y la edición al mismo precio.

• Las referencias se reducen de escala antes de que el sobremuestreador las vea. Una referencia se limita a alrededor de un megapíxel; dos obtienen 724 × 724 cada una; tres o más obtienen 512 × 512 cada una, recodificadas a JPEG con calidad 92. La ficha del modelo incluye esto como una limitación con todas las letras —los detalles pequeños de una referencia pueden describirse erróneamente— y es el mecanismo detrás de un fallo específico que puedes reproducir: pide una edición que dependa de un pequeño detalle impreso y puede que la instrucción vuelva describiendo lo incorrecto, porque el sobremuestreador nunca lo vio a resolución completa. El modelo de imagen recibe tu original.

La licencia es la parte que vale la pena discutir

Aquí está la asimetría, dicha sin rodeos. Los pesos de FLUX 3 Image Klein conllevan la FLUX Kommunity License, que permite el uso comercial gratuito solo a personas y empresas con ingresos anuales inferiores a 5 millones de dólares, mientras que las organizaciones más grandes se derivan a licencias autoalojadas o a la API. Activa una consulta de licencia comercial sobre un producto y el modelo que estás distribuyendo no es el único artefacto dentro del alcance.

Cuatro repositorios formaron parte de esta versión. Tres de ellos —el modelo destilado, el modelo base y los pesos de ComfyUI— figuran en la API de Hugging Face como gated: auto, lo que significa que debes aceptar los términos antes de poder descargar los archivos. Uno no está restringido en absoluto y lleva la Licencia Apache 2.0: el upsampler de prompts. También es el único de los cuatro cuya tarjeta de modelo indica directamente una licencia permisiva, y el propio README del repositorio de referencia marca la línea de forma explícita: el código es Apache 2.0, los pesos de Klein son FLUX Kommunity y «el upsampler de prompts es 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.

What that buys you depends on the unresolved question. If the upsampler is genuinely a standalone artifact, it is a 9B-class vision-language model you can fine-tune, redistribute and ship in a commercial product without a revenue threshold, and it is currently the cheapest way to acquire that capability from a frontier image lab under terms that do not require a lawyer. If it is intended only as a dependency of B​FL's reference code, then repurposing it carries a risk that no document currently resolves.

Qué está confirmado, y qué no

Confirmado desde el repositorio y la API de Hugging Face, todo ello re-verificable: el inventario de archivos y los tamaños en bytes, la licencia Apache 2.0, la ausencia de control de acceso, la base Qwen3.5-9B, los cuatro prompts de sistema y su texto completo, los parámetros de decodificación, el presupuesto de preprocesamiento de referencia, el comportamiento de reconciliación de cajas, la descripción del entrenamiento en dos etapas y las limitaciones publicadas.

Not confirmed, and stated as open rather than guessed: whether B​FL considers the upsampler a supported product or an internal dependency; whether the Apache 2.0 header was a deliberate licensing decision or an inherited default from Qwen3.5-9B; how much the upsampler actually improves output, since no third party has run a controlled comparison and B​FL has published no ablation; whether the preference-tuning stage generalises beyond the prompts in its training set; and whether the 9.75 GB INT8 ComfyUI file is the same model at lower precision or a differently prepared one, since that repository's model card is gated and could not be read.

También abierto: las cifras del propio repositorio son pequeñas. Trece descargas y diez me gusta en el upsampler, frente a 3.241 descargas y 128 me gusta en el modelo de imagen destilado, veinticuatro horas después de su lanzamiento. Eso no es prueba de que el modelo no sea importante — es prueba de que casi nadie sabía que estaba ahí.

Dónde encaja OrcaRouter y dónde no

Primero, la versión honesta: OrcaRouter no aloja ningún modelo de Black Forest Labs. El catálogo se verificó en lugar de darse por hecho, y no hay ninguna entrada de FLUX en él. Nada de lo que sigue sugiere lo contrario.

What does sit in the catalogue is the comparison set. If you are going to spend a weekend testing whether prompt expansion helps your images, the interesting experiment is running the same request through FLUX 3 Image Klein with the upsampler on and off, and then against a hosted image model that does its own prompt handling — G​oogle's image models, O​penAI's, G​rok's — to see whether the gap you are measuring is the upsampler or the generator. Those hosted models are reachable from a single key on OrcaRouter, at the provider's list price with no markup added, so the cost of the experiment is the provider's own rate and nothing on top of it. That is a cheaper way to answer the question than downloading 18.82 GB four times.

No obstante, conviene ser precisos sobre el límite de ese consejo. Si de verdad quieres ajustar el upsampler bajo Apache 2.0, necesitas los pesos en tu propio hardware y un runtime que pueda servir un modelo de visión-lenguaje de 9B. OrcaRouter no se encarga de esa parte, y la cuestión de la licencia mencionada anteriormente eres tú quien debe resolverla.

¿Qué haría que esto se convirtiera en una historia más grande?

Four things, in rough order of how much they would change. First, a named mention from B​FL — a model card, a docs page, a line in the release notes — which would settle the framing here and probably force an update to this piece. Second, a controlled evaluation, ours or anyone's, of images generated with and without the upsampler at a fixed seed; that number is currently missing and it is the one everyone actually wants. Third, a statement on whether the Apache 2.0 licence is deliberate, since that is what makes the artifact interesting rather than merely unlisted. Fourth, the same treatment applied to the rest of the FLUX 3 family: if the upsampler pattern holds, other tiers will ship with permissive helper models attached and unannounced.

Hasta entonces, la lectura práctica es limitada y poco glamurosa. Dado que el modelo de imagen descargado tiene acceso restringido y su licencia conlleva un umbral de ingresos, la mayoría de quienes quieran construir sobre FLUX 3 Image Klein empezarán por la API, donde el upsampler no es una decisión que uno toma — es algo que hace el endpoint, con un precio incluido en una tarifa que empieza en $0.008 por imagen. Las personas a las que debería importarles el repositorio son las que lo autoalojan, y para ellas el dato útil de esta semana es simplemente que la pieza del lanzamiento con la licencia más permisiva es también la que nadie les mencionó.

Para un modelo cuyos modos de fallo aún no están documentados, la contraparte útil es el registro de lo que ya ha salido mal en otros lugares: los incidentes de IA y los fallos de agentes documentados en modelos de esta clase se recopilan en the OrcaRouter AI Incident Archive, donde cada entrada incluye sus propias fuentes, gravedad, grado de confianza e indicador de disputa.