Mindket

FLUX 3 Image Klein Prompt Upsampler

Newversion 1 · updated

Overview

A 9B model that turns a short image request, up to 10 reference images and optional bounding boxes into one detailed prompt for FLUX 3 Image Klein. For editing, text-to-image and layout work.

FLUX 3 Image Klein Prompt Upsampler is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.

At a glance

You need
  • Python on Windows, macOS or Linux
  • The FLUX 3 Image Klein inference code, or the transformers library to run the upsampler alone
  • Room for the 18.8 GB model file
Runs in
  • The FLUX 3 inference code, which loads it by default
  • The Diffusers modular pipeline, which runs it automatically
  • ComfyUI, through the enable_prompt_upsampler switch in the text-to-image templates
  • Transformers, to run the upsampler on its own
Start with
hf download black-forest-labs/flux-3-image-klein-pup --local-dir weights/pup
python scripts/cli.py "A man walking with his dog, afternoon sun" --out out.png

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

This is Black Forest Labs' prompt writer for FLUX 3 Image Klein, a 9B model that reads images as well as text. Its input is a brief request, as many as 10 reference pictures and, if you want, a set of boxes marking where things go. It returns one detailed prompt written for FLUX 3 Image Klein. Qwen3.5-9B is the model it was trained from.

Who it suits

Developers and image creators who use FLUX 3 Image Klein and want fuller prompts without writing them by hand. One model covers editing with references, text-to-image and layout with boxes.

IndustryWho uses itHow they use itExample
Image generationDevelopers of image appsExpand short user requests into full promptsTurn a one-line request into a detailed scene description
DesignDesignersKeep elements where they belong in the framePass bounding boxes so each element lands in its box
Photo editingEditorsWrite edit instructions around what the references showAsk for a change and say what stays the same
Workflow toolsComfyUI usersSwitch on the upsampler in text-to-image templatesUse the enable_prompt_upsampler switch

You can skip it if you do not use FLUX 3 Image Klein. The card says to run a prompt upsampler with it every time, and this one is tuned for it.

Where to use it

  • The FLUX 3 inference code, which loads it by default
  • The Diffusers modular pipeline, which runs it automatically
  • ComfyUI, through the enable_prompt_upsampler switch in the text-to-image templates
  • Transformers, to run the upsampler on its own
Use caseWhoWhat they get back
Text to imageImage creatorsA detailed prompt for the image model
Image editingEditorsA prompt that says what changes and what stays
Layout with boxesDesignersA prompt plus a box table that cites each box by id

How to set it up

You need Python, and the FLUX 3 Image Klein code if you want the full pipeline.

  • Python on Windows, macOS or Linux
  • The FLUX 3 Image Klein inference code, or the transformers library to run the upsampler alone
  • Room for the 18.8 GB model file
  1. Install the inference code, following its own instructions.
  2. Download the weights into a local folder.
  3. Run the command line tool with your request.
hf download black-forest-labs/flux-3-image-klein-pup --local-dir weights/pup
python scripts/cli.py "A man walking with his dog, afternoon sun" --out out.png

How to use it

In the inference code the upsampler is on by default, and the no-pup flag sends your prompt as typed. To upsample without making an image, use the pup module and give it a prompt and an output file.

python -m flux3.pup --prompt "..." --out caption.txt

To run it alone with Transformers, load the processor and model, read the system prompts file and choose a mode.

import json

import torch
from huggingface_hub import hf_hub_download

model_id = "black-forest-labs/flux-3-image-klein-pup"
processor = AutoProcessor.from_pretrained(model_id)
prompts = json.load(open(hf_hub_download(model_id, "system_prompts.json")))

messages = [{"role": "system", "content": prompts["t2i"]},
            {"role": "user", "content": "A man walking with his dog, afternoon sun"}]
inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True,
                                       return_tensors="pt", enable_thinking=False).to(model.device)

Put your own value in its key setting first.

The card's snippet continues from here to generate and decode the reply, which is cut off in the part shown.

ToolWhat it does
t2iSystem prompt for text-to-image
i2iSystem prompt for editing with reference images
t2i_bboxSystem prompt for text-to-image with bounding boxes
i2i_bboxSystem prompt for editing with reference images and boxes

Example

You send the request about a man walking his dog in afternoon sun. The model returns a long prompt of about 220 words in the card's example. It covers the shot, the low light and shadows, the man's clothing and his position in the frame.

For newcomers and experts

Image models do better with detailed prompts, and this model writes them for you. A first small step is to run the command line example and compare the result with and without the upsampler.

Every weight was tuned except the vision tower, which stayed fixed, starting from Qwen3.5-9B. Training ran in two rounds. First it learned from short requests paired with their expanded prompts. Then it was tuned on preferences between two prompts that it wrote itself. Each prompt was turned into an image with FLUX 3 Image Klein using one seed, and the images decided which prompt won. Bounding boxes you pass are kept exactly in a box table after the prompt.

  1. Send a short request
  2. Add reference images or boxes if needed
  3. The system prompt selects the mode
  4. Receive one detailed prompt

Good to know

  • A different language model can fill this role using the system prompts in the JSON file, but this model is the one tuned for it.
  • Text to render inside the image stays verbatim, in quotes.
  • The model file is bfloat16 at 18.8 GB, with 9.4B parameters listed.
  • License: Apache License 2.0.
  • Cost to run: none named, you use your own hardware.
  • Data it reaches: your request, reference images and boxes, plus files downloaded from Hugging Face.
  • Not for: use without FLUX 3 Image Klein, which is what it is tuned for.

README and files

README

FLUX 3 Image Klein Prompt Upsampler

A 9B model that turns a short image request, up to 10 reference images and optional bounding boxes into one detailed prompt for FLUX 3 Image Klein. For editing, text-to-image and layout work.

Made by black-forest-labs on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

About

What it is: This is Black Forest Labs' prompt writer for FLUX 3 Image Klein, a 9B model that reads images as well as text. Its input is a brief request, as many as 10 reference pictures and, if you want, a set of boxes marking where things go. It returns one detailed prompt written for FLUX 3 Image Klein. Qwen3.5-9B is the model it was trained from.

Who it suits: Developers and image creators who use FLUX 3 Image Klein and want fuller prompts without writing them by hand. One model covers editing with references, text-to-image and layout with boxes.

Industry | Who uses it | How they use it | Example
Image generation | Developers of image apps | Expand short user requests into full prompts | Turn a one-line request into a detailed scene description
Design | Designers | Keep elements where they belong in the frame | Pass bounding boxes so each element lands in its box
Photo editing | Editors | Write edit instructions around what the references show | Ask for a change and say what stays the same
Workflow tools | ComfyUI users | Switch on the upsampler in text-to-image templates | Use the enable_prompt_upsampler switch

You can skip it if you do not use FLUX 3 Image Klein. The card says to run a prompt upsampler with it every time, and this one is tuned for it.

Where to use it:

  • The FLUX 3 inference code, which loads it by default
  • The Diffusers modular pipeline, which runs it automatically
  • ComfyUI, through the enable_prompt_upsampler switch in the text-to-image templates
  • Transformers, to run the upsampler on its own
Use case | Who | What they get back
Text to image | Image creators | A detailed prompt for the image model
Image editing | Editors | A prompt that says what changes and what stays
Layout with boxes | Designers | A prompt plus a box table that cites each box by id

How to set it up: You need Python, and the FLUX 3 Image Klein code if you want the full pipeline.

  • Python on Windows, macOS or Linux
  • The FLUX 3 Image Klein inference code, or the transformers library to run the upsampler alone
  • Room for the 18.8 GB model file
  1. Install the inference code, following its own instructions.
  2. Download the weights into a local folder.
  3. Run the command line tool with your request.
hf download black-forest-labs/flux-3-image-klein-pup --local-dir weights/pup
python scripts/cli.py "A man walking with his dog, afternoon sun" --out out.png

How to use it: In the inference code the upsampler is on by default, and the no-pup flag sends your prompt as typed. To upsample without making an image, use the pup module and give it a prompt and an output file.

python -m flux3.pup --prompt "..." --out caption.txt

To run it alone with Transformers, load the processor and model, read the system prompts file and choose a mode.

import json

import torch
from huggingface_hub import hf_hub_download

model_id = "black-forest-labs/flux-3-image-klein-pup"
processor = AutoProcessor.from_pretrained(model_id)
prompts = json.load(open(hf_hub_download(model_id, "system_prompts.json")))

messages = [{"role": "system", "content": prompts["t2i"]},
            {"role": "user", "content": "A man walking with his dog, afternoon sun"}]
inputs = processor.apply_chat_template(messages, add_generation_prompt=True, tokenize=True, return_dict=True,
                                       return_tensors="pt", enable_thinking=False).to(model.device)

Put your own value in its key setting first.

The card's snippet continues from here to generate and decode the reply, which is cut off in the part shown.

Tool | What it does
t2i | System prompt for text-to-image
i2i | System prompt for editing with reference images
t2i_bbox | System prompt for text-to-image with bounding boxes
i2i_bbox | System prompt for editing with reference images and boxes

Example: You send the request about a man walking his dog in afternoon sun. The model returns a long prompt of about 220 words in the card's example. It covers the shot, the low light and shadows, the man's clothing and his position in the frame.

For newcomers and experts: Image models do better with detailed prompts, and this model writes them for you. A first small step is to run the command line example and compare the result with and without the upsampler.

Every weight was tuned except the vision tower, which stayed fixed, starting from Qwen3.5-9B. Training ran in two rounds. First it learned from short requests paired with their expanded prompts. Then it was tuned on preferences between two prompts that it wrote itself. Each prompt was turned into an image with FLUX 3 Image Klein using one seed, and the images decided which prompt won. Bounding boxes you pass are kept exactly in a box table after the prompt.

Send a short request
Add reference images or boxes if needed
The system prompt selects the mode
Receive one detailed prompt

Good to know:

  • A different language model can fill this role using the system prompts in the JSON file, but this model is the one tuned for it.
  • Text to render inside the image stays verbatim, in quotes.
  • The model file is bfloat16 at 18.8 GB, with 9.4B parameters listed.
  • License: Apache License 2.0.
  • Cost to run: none named, you use your own hardware.
  • Data it reaches: your request, reference images and boxes, plus files downloaded from Hugging Face.
  • Not for: use without FLUX 3 Image Klein, which is what it is tuned for.

On Hugging Face, 13 November 2026

  • Task: image text to text
  • Library: transformers
  • Parameters: 9.4B
  • Weights: about 18.8 GB in BF16; about 4.7 GB at 4-bit (estimate)
  • Formats: Safetensors
  • Downloads in the last 30 days: 71,876
  • Likes: 81
  • License: apache-2.0
  • Languages: en
  • Based on: Qwen/Qwen3.5-9B
  • Quantized versions: 18
  • Fine-tunes: 5
  • Tags: transformers, safetensors, qwen3_5, image-text-to-text, prompt-upsampling, prompt-rewriting, text-to-image, image-editing, flux, flux-3, black-forest-labs, conversational

Links

Get the model

Download its files with Hugging Face's command line:

pip install -U huggingface_hub
hf download black-forest-labs/flux-3-image-klein-pup

Then follow the usage in its model card. Nothing in this kit runs by itself.

Files
README.md  7 KB

1 file, 7 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-13

Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

ProductDownloads, last 30 daysLikesParametersLicenseLast change
FLUX 3 Image Klein Prompt Upsampler This page71,876819.4Bapache-2.0
FLUX.2 [klein] 4B BaseShares flux · image-editing · text-to-image743,0551953.9Bapache-2.0
FLUX.2 [klein] 4BShares flux · image-editing · text-to-image435,6431,1163.9Bapache-2.0
SenseNova-U1.5-8B-MoT-TailSteerShares image-editing · text-to-image · transformers198517.5Bapache-2.0
SenseNova-U1.5-8B-MoTShares image-editing · transformers · safetensors5,20127517.5Bapache-2.0
Qwen3.8-27BShares qwen3_5 · image-text-to-text · conversational6,960,39519,79527.8Bapache-2.0
Numbers as Mindket last read them, from 2026-11-12 to 2026-11-13.

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

Searched

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Developer

See all in Developer

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

buzz

block · Kit

Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…

New37.3k

plannotator

backnotprop · Kit

Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.

New10.5k