Una tarjeta de título generada que dice «FLUX 3 Image Klein vs FLUX 3 Image Klein Pup», con el subtítulo «uno genera la imagen, el otro escribe el prompt». Una tarjeta izquierda dice «Klein: generador de 5.6B, 5.6 GB FP8, INT8 desde 8 GB», una tarjeta derecha dice «Pup: fine-tune de Qwen3.5 de 9B, 18.8 GB BF16, Apache 2.0», y un pie de página dice «Ambas cifras según las tarjetas de modelo de Hugging Face». El logotipo de OrcaRouter está en la esquina inferior derecha.
Guides & Insights

FLUX 3 Image Klein vs. FLUX 3 Image Klein Pup: un modelo frente a su propio redactor de prompts

Autor

Magnus Corvin

Fecha de publicación

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

El nombre del repositorio invita a una comparación que no existe. FLUX 3 Image Klein y FLUX 3 Image Klein Pup parecen dos modelos de una misma familia, tal como el resto de las páginas de "vs" de este blog emparejan dos generadores con fortalezas distintas. No son eso. FLUX 3 Image Klein es el modelo de imágenes de 5.6B que se lanzó el 15 de octubre de 2026. FLUX 3 Image Klein Pup —titulado "Prompt Upsampler" en su ficha del modelo— es un modelo de lenguaje de 9B cuya única función es reescribir tu prompt corto en la descripción larga y detallada que el modelo de imágenes fue entrenado para recibir.

Entonces, la verdadera pregunta no es cuál es mejor. Es si el segundo es opcional. Black Forest Labs dice que no lo es: la ficha del modelo afirma claramente que Klein "no está pensado para ejecutarse sin un ampliador de prompts delante", y que un prompt corto enviado tal como se escribe produce una salida genérica. Esa afirmación es lo que merece examinarse, porque aceptarla cambia tu presupuesto de memoria, tu latencia, tus obligaciones de licencia y —en un caso concreto— la precisión de tus ediciones.

Qué es en realidad cada uno de los dos

La división es más limpia de lo que sugiere la denominación. Un modelo tiene visión, el otro no, y solo uno de ellos llega a tocar un píxel.

• Rol — Klein genera y edita imágenes; Pup emite texto y nunca renderiza nada

• Parámetros — 5.6B para el generador, 9B para el upsampler, así que el ayudante es el modelo más grande

• Linaje — Klein es un modelo de imagen de la línea FLUX 3; Pup es un ajuste fino completo de Qwen/Qwen3.5-9B, que a su vez deriva de Qwen3.5-9B-Base

Pesos en disco — 11,2 GB en BF16 y 5,6 GB en FP8 para Klein; 18,8 GB para los safetensors de Pup en BF16

• Licencia — Licencia FLUX Kommunity para Klein, con su línea de ingresos de $5M; Apache 2.0 para Pup

• Entradas — Klein toma texto, imágenes de referencia y cuadros delimitadores; Pup toma la misma solicitud más hasta 10 imágenes de referencia y devuelve un prompt

• Salida — píxeles frente a texto en inglés

Esa última fila es la que la gente pasa por alto. El idioma de salida de Pup siempre es el inglés, incluso cuando la solicitud de entrada está en otro idioma. Si tu pipeline registra los prompts para su revisión, el prompt que ve tu revisor no es el que escribió tu usuario.

El número de 8 GB no sobrevive al pipeline predeterminado.

La principal afirmación de hardware para Klein es que la compilación INT8 se ejecuta en una tarjeta RTX con tan solo 8 GB de VRAM. Esa afirmación se refiere al generador y, en sus propios términos, parece sostenerse: el checkpoint cuantizado está diseñado para ello, y los tiempos publicados junto a ella fueron medidos por NVIDIA.

Ahora añade el pipeline predeterminado. Los pesos de Pup ocupan 18,8 GB en BF16 antes de cualquier sobrecarga del tiempo de ejecución. No puedes meter 18,8 GB de pesos en 8 GB de VRAM. Los dos números describen dos cosas distintas, y el material de lanzamiento los coloca lo suficientemente cerca como para que un lector concluya razonablemente que todo funciona en una tarjeta antigua. No es así, no en la configuración que BFL dice que el modelo espera.

Hay tres salidas honestas, y cada una tiene un costo distinto:

• Cuantiza el upsampler: existen compilaciones GGUF de la comunidad para Pup en variantes Q8_0, Q5_K_M, IQ4_XS e IQ3_S con un proyector de visión independiente, lo que reduce considerablemente el asistente a cambio de cierta pérdida en la calidad del prompt

• Ejecuta el upsampler en otro lugar — es un modelo de texto, así que no necesita compartir una GPU con el generador, solo un salto de red

• Omitirlo con --no-pup — gratis, inmediato y la opción que BFL desaconseja

La aritmética de memoria es lo más útil que hay que entender sobre esta combinación. También explica un tipo de queja: alguien reporta que Klein es lento o no encaja, y lo que en realidad está reportando es que ejecutó el pipeline documentado en hardware dimensionado para la versión reducida.

Lo que Pup le hace a un prompt

Se expande. Una solicitud como «un hombre paseando con su perro, sol de la tarde» se convierte en una descripción de escena completa que abarca el sujeto, el entorno, la iluminación, la cámara y la composición; la ficha del modelo describe la salida como una descripción larga de aproximadamente un par de cientos de palabras en su configuración media. El modelo de imagen entonces se condiciona a partir de esa descripción en lugar de tu frase.

Esta es una capacidad real, no un truco. Los modelos de imagen de estilo difusión son sensibles a la especificidad del prompt, y un prompt de cinco palabras deja casi todas las decisiones de composición en manos de los prioris del modelo. Un upsampler toma esas decisiones de forma explícita y consistente, y por eso la salida del pipeline predeterminado parece más deliberada que la salida del mismo checkpoint alimentado con la frase sin procesar.

También es una pérdida de control, y la pérdida es silenciosa. Tu frase no se anota: se sustituye. Si el sobremuestreador decide que la luz de la tarde es la hora dorada y que el perro es un border collie, el generador no tiene forma de saber que no era eso lo que querías decir. Para el trabajo exploratorio, eso es una ventaja. Para una lista de planos, es una variable que no pediste.

Cuatro modos, y por qué el modo importa más que el prompt

Pup no es un único modelo con un único comportamiento. Selecciona un prompt del sistema según la tarea, y hay cuatro: texto a imagen, imagen a imagen, texto a imagen con cuadros delimitadores e imagen a imagen con cuadros delimitadores. El modo incorrecto produce un prompt bien redactado para la tarea equivocada, lo cual es un fallo que parece un problema de calidad del modelo y no lo es.

Los ajustes de muestreo también varían según el modo, y la diferencia no es cosmética. La decodificación es codiciosa con temperatura cero, con un máximo de 3.584 tokens nuevos y con el pensamiento desactivado. La penalización por presencia es de 1,5 para texto a imagen y de 0 para ediciones. Ese cero es deliberado: una penalización por repetición anima al modelo a introducir material nuevo, que es exactamente lo que no quieres cuando la tarea es reformular fielmente una instrucción de edición. Las imágenes de referencia también se redimensionan de forma distinta según cuántas suministres —alrededor de 1 megapíxel para una, 724² para dos y 512² para tres o más—, por lo que un trabajo con diez referencias se condiciona con imágenes mucho más pequeñas que uno con una sola referencia.

A generated two-card memory diagram titled 'The default pipeline does not fit in 8 GB'. The left card, headed 'FLUX 3 Image Klein', lists 'Parameters 5.6B', 'FP8 weights 5.6 GB', 'BF16 weights 11.2 GB' and 'INT8 build from 8 GB VRAM'. The right card, headed 'FLUX 3 Image Klein Pup', lists 'Parameters 9B', 'BF16 weights 18.8 GB' and 'Licence Apache 2.0'. A bar across the bottom reads 'Default pipeline: generator plus 18.8 GB of upsampler weights'. A footer reads 'Weights per the Hugging Face model cards; the 8 GB claim covers the INT8 generator alone.' The OrcaRouter logo sits bottom-right.

La licencia está dividida por la mitad

Esta es la parte que casi no recibe atención y probablemente debería. Las dos mitades del pipeline están bajo licencias diferentes. Klein usa la FLUX Kommunity License: gratuita para uso comercial por debajo de $5M de ingresos anuales, y con licencia de pago por encima de esa cifra. Pup es Apache 2.0, sin ninguna condición de ingresos.

Así que una empresa por encima del umbral puede usar el prompt upsampler libremente y aun así necesita una licencia para usar el generador al que alimenta. Y una empresa por debajo del umbral que quiera afinar la parte del prompt tiene mucha más libertad que una que quiera afinar la parte de la imagen. Si tienes previsto lanzar un producto, lee las dos licencias por separado en lugar de tratar «el stack Klein» como una sola cosa. La mitad permisiva es la mitad que es fácil pasar por alto.

¿Qué cambia realmente cuando lo desactivas?

Desactivar Pup es una sola flag, y los efectos son asimétricos entre tareas.

• Texto a imagen — la mayor regresión. Los prompts cortos se vuelven genéricos, que es precisamente el fallo del que advierte BFL, y la brecha aumenta cuanto más corto es tu prompt.

• Multirreferencia — el sobremuestreador es lo que convierte «pon a estas tres personas en una habitación» en una descripción que tiene en cuenta las tres referencias; sin él, la fidelidad a las referencias se vuelve notablemente menos estricta

• Diseño de cuadro delimitador — el modo existe para convertir la intención espacial en un pie de foto que la preserve, así que eliminarlo devuelve la carga a tu forma de expresarte

• Edición precisa: el caso menos claro y en el que desactivarla puede ayudar

Ese último punto es el contraintuitivo y proviene del mismo lugar que la penalización de presencia cero. Una instrucción de edición suele ser limitada: cambia este objeto, mueve este elemento, elimina esto. La función del upsampler es expandir, así que expande la escena alrededor de tu instrucción además de la instrucción en sí. Cuando la edición es genuinamente local, esa expansión circundante es ruido en el mejor de los casos. Cuando contradice algo en el encuadre, es peor que el ruido.

Nuestra propia experiencia al ejecutar Klein en ediciones localizadas —cambiar un objeto, mover un elemento a una región delimitada, mantener intacto el resto del encuadre— es que el modelo resulta más convincente precisamente en este modo tan acotado. Lo que agudiza, en lugar de suavizar, la cuestión del ampliador: la tarea en la que el generador es más fuerte es también aquella en la que la ampliación del auxiliar resulta menos bienvenida. Prueba ambas configuraciones con tus propios prompts de edición antes de decidir. Este es un caso en el que el consejo general del proveedor y tu carga de trabajo específica pueden discrepar legítimamente.

A screenshot of the Hugging Face model card for black-forest-labs/flux-3-image-klein-pup, showing the title FLUX 3 Image Klein Prompt Upsampler, a description of a 9B vision-language model that expands a short image request into a detailed prompt for FLUX 3 Image, the statement that Klein is not meant to run without a prompt upsampler in front of it, the worked example turning 'A man walking with his dog, afternoon sun' into a 220-word caption, an Apache 2.0 licence, 9B parameters in BF16, and a model tree showing a fine-tune of Qwen3.5-9B.A screenshot of the Hugging Face model card for black-forest-labs/flux-3-image-klein, showing a gated-model notice asking the visitor to agree to share contact information, a sample image grid, a model size of 6B parameters in BF16, the tag 'License: flux-kommunity-license', 3,241 downloads in the last month, and model-tree counts of 1 adapter, 4 fine-tunes and 5 quantizations.

La decisión, en la práctica

Si llamas a la API del proveedor en lugar de descargar nada, la mayor parte de esto resulta irrelevante. El endpoint alojado aplica su propio prompt upsampling y restauración de píxeles del lado del servidor, así que ya estás pagando por el comportamiento de prompt expandido tanto si lo tienes en cuenta como si no. La elección solo se vuelve real cuando te llevas los pesos.

Cuando lo hagas, la división es más o menos esta. Mantén Pup si tus prompts son cortos, tu trabajo es exploratorio o estás generando en lugar de editando. Déjalo de lado, o ejecuta una compilación cuantizada, si tu tarjeta gráfica es pequeña, tus ediciones son acotadas y literales, o tus prompts ya son lo bastante largos y específicos como para que la expansión, en su mayoría, solo añada invención. Cuantízalo si quieres ambas cosas y puedes aceptar cierta pérdida en la calidad de los prompts a cambio de que todo el pipeline quepa en un solo dispositivo.

Una nota práctica sobre cómo probar esto de forma económica: las dos mitades fallan de forma independiente, y una capa de enrutamiento es la forma habitual de evitar apostar una ruta de producción a un único endpoint. OrcaRouter ejecuta una API compatible con OpenAI sobre más de 200 modelos con un 0 % de margen —el precio de lista del proveedor se transfiere sin cambios— y conmutación automática por error entre proveedores, de modo que un endpoint degradado no se convierte en un trabajo fallido. Eso no te ayuda con Klein en sí, que no está en nuestro catálogo de 210 modelos y no es algo que ofrezcamos. Para este pipeline, los pesos y la API del proveedor son las rutas; el argumento de enrutamiento importa para los modelos que pongas alrededor.

¿Qué cambiaría la respuesta?

Una ablación publicada. Nadie ha publicado una comparación lado a lado de Klein con y sin Pup sobre los mismos prompts, evaluada por alguien que no sea el laboratorio, y esa única tabla ausente es lo que mantiene esto como una cuestión de criterio. Mientras no exista, la postura defendible es la menos llamativa: el upsampler forma parte del sistema tal como se diseñó, la afirmación de los 8 GB no lo cubre, y la única carga de trabajo en la que tendría sentido razonable anular el valor predeterminado es aquella en la que este modelo es más fuerte.