Model reference · open weights

ETCHR-FLUX.2-klein

Image internlm Image edit 1 build Non-commercial 8 dl/mo

ETCHR-FLUX.2-klein is an open-weight image model from internlm. ETCHR-FLUX.2-klein-9B (BF16) weighs 34.7 GB; the smallest configuration that runs it is RTX 5090 32 GB.

  • ETCHR-FLUX.2-klein-9B is a 9.1B parameter image-to-image model developed by internlm that functions as a question-conditioned, reasoning-aware visual editor for Multimodal Large Language Models.
  • It operates as a decoupled module to assist with tasks such as fine-grained perception, chart understanding, and 3D spatial reasoning by performing edits that clarify visual information.
  • The model supports English and is distributed under a non-commercial license.

Summary of the internlm/ETCHR-FLUX.2-klein-9B model card, 2026-10-01

What it is

Released byinternlm
Released2026-05-21
Parameters9.1B
VRAM34.7 GB for the weights

What it runs on

Memory and cards for ETCHR-FLUX.2-klein-9B (BF16)

34.7 GBweights, file size
18.2 GBbiggest part
5.0 GBworking memory, one 1024² image
537 MBruntime overhead
CardOne imageMemory
RTX 3060 12 GB … RTX 4090 24 GBdoes not fit
RTX 5090 32 GBfits (encoders offloaded)31.0 GB
L40S 48 GBtight44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What internlm says about ETCHR-FLUX.2-klein

Read the model card

📖Paper | 🏠Homepage | 🤗ETCHR-FLUX.2-klein-9B Model | 🤗ETCHR SFT-400K Dataset | 🤗ETCHR GRPO-10K Dataset | 🤗DL3DV-2K Benchmark

ETCHR-FLUX.2-klein-9B is a novel question-conditioned, reasoning-aware image editor designed to serve as a decoupled visual reasoning assistant for Multimodal Large Language Models. By decoupling the specialized image editor from the downstream understanding model, ETCHR bridges the critical bottleneck where a purely textual chain of thought fails in fine-grained focus or complex spatial transformations.

📢 News

🌈 Overview

We are thrilled to introduce ETCHR (Editing To Clarify and Harness Reasoning), a novel question-conditioned, reasoning-aware image editor built on FLUX.2-klein-base-9B designed to serve as a decoupled visual reasoning assistant for Multimodal Large Language Models (MLLMs). By decoupling the specialized image editor from the downstream understanding model, ETCHR bridges the critical bottleneck where a purely textual chain of thought fails in fine-grained focus or complex spatial transformations.

💡 Highlights

  • 🔥 Decoupled & Plug-and-Play: ETCHR functions as a separate module, allowing it to assist diverse downstream MLLMs (such as Qwen3-VL-8B, Gemini-3.1-Flash-Lite, or Kimi K2.5) without requiring any task-specific fine-tuning on the understanding models themselves.
  • 🔥 Naturally Reflective Pipeline: Introduces an Edit-Verify-Reason inference mechanism where the understanding model filters out noisy or flawed edits, reverting safely to the original image when verification fails.

📊 Results

We evaluate ETCHR across five distinct task families spanning fine-grained perception, chart understanding, logic reasoning, jigsaw restoration, and 3D understanding. Across all evaluated backbones, ETCHR consistently yields major improvements in Pass@1 accuracy:

🛠️ Evaluation

Prepare your environment:

git clone https://github.com/InternLM/ETCHR.git
conda create -n ETCHR python==3.11
conda activate ETCHR
cd RL/Pref-GRPO
bash env_setup.sh fastvideo
pip install "vllm>=0.11.0"
pip install qwen-vl-utils==0.0.14

We Provide an example code running ETCHR on DL3DV-2K Benchmark in Evaluation/inference_dl3dv.py, you can start the evaluation with the following two steps:

Step 1: start a VLLM server for an understanding model (eg. Qwen3-VL-8B, Kimi K2.5, ...).

cd Evaluation
bash launch_vllm.sh

Step 2: Run ETCHR atop any understanding model

python inference_dl3dv.py

Cases

ETCHR can assist with a broad spectrum of understanding tasks, including fine-grained perception, chart reasoning, maze navigation, jigsaw puzzles, and 3D spatial understanding.

📄 License

Our work is based on FLUX.2-klein-base-9B, so please follow FLUX Non-Commercial License.

✒️Citation

If you find this project useful, please kindly cite:

@article{zhang2026etchr,
  title={ETCHR: Editing To Clarify and Harness Reasoning},
  author={Beichen Zhang, Yuhong Liu, Jinsong Li, Yuhang Zang, Jiaqi Wang, Dahua Lin},
  journal={arXiv preprint arXiv:2605.23897},
  year={2026}
}

❤️ Acknowledgement

The base model is FLUX.2-klein-base-9B, a powerful image-to-image model.

The work is built upon DiffSynth-Studio and Pref-GRPO, two excellent codebases for Diffusion models training!


Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

Running it yourself

Run it on a rented GPU

Rent a machine by the hour. Runs as it is with diffusers, on the machine, in Python.

# on your rented machine: pip install diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image

pipe = DiffusionPipeline.from_pretrained("internlm/ETCHR-FLUX.2-klein-9B", torch_dtype=torch.bfloat16).to("cuda")
start = load_image("/workspace/in.png")
image = pipe(prompt="the same scene at golden hour", image=start).images[0]
image.save("/workspace/out.png")
Renting a GPU: connect, tunnels, Python
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms