Instructions to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S # Run inference directly in the terminal: llama cli -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S # Run inference directly in the terminal: llama cli -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S # Run inference directly in the terminal: ./build/bin/llama cli -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
Use Docker
docker model run hf.co/AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
- Llama new
- LM Studio
- Jan
- vLLM
How to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
- Ollama
How to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with Ollama:
ollama run hf.co/AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
- Unsloth Desktop
- Pi
How to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with Docker Model Runner:
docker model run hf.co/AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
- Lemonade
How to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
Run and chat with the model
lemonade run user.FLUX-3-Image-Klein-pup-Uncensored-GGUF-IQ3_S
List all available models
lemonade list
- Hermes Agent
How to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF:IQ3_S" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
How to Run FLUX 3 Image Klein's Prompt Upsampler Without Refusals Locally
BFL's prompt upsampler for FLUX 3 Image Klein (a 9B Qwen3.5 fine-tune) with its refusal direction projected out, as GGUF for llama.cpp, plus the same edit as a LoRA for the stock files. Klein's text encoder without refusals is in FLUX-3-Image-Klein-TE-Uncensored-GGUF. The measurements are public.
- Built by the team behind Atomic Chat, the app that runs open-weight models locally and offline.
- As a chat model, refusals fall from 63% to 0% on held-out English prompts. MMLU goes from 74.15% to 73.95%.
- As Klein's upsampler, under BFL's
t2isystem prompt, the stock model refuses none of our requests but softens 2 of 35 sensitive ones in its captions; this one keeps them. The image model draws neither of the two in any build, so on Klein's pictures we measured no uncensoring effect; the open pipeline already draws the sensitive categories (the per-category table). - Against the other uncensored upsamplers on our stand, prithiv's measures the same as this one, and Sakura's still refuses 22% in English.
Pick a file
The same rungs and layouts as our stock upsampler GGUFs, with the edit baked in. KLD and top-1 are against the original BF16 on a 30-language neutral text set (87 chunks of 4096 tokens), so they include the edit itself. Refusals are on held-out prompts (81 English harmful requests; 250 XSTest safe prompts), plain chat, thinking off.
| File | Size on disk | KLD | Top-1 | Refused EN / XSTest | KLD of our stock file |
|---|---|---|---|---|---|
FLUX-3-Image-Klein-pup-Uncensored-BF16.gguf |
17.92 GB | 0.0015 | 98.1% | 0 / 0 | โ |
FLUX-3-Image-Klein-pup-Uncensored-Q8_0.gguf |
9.53 GB | 0.0027 | 97.5% | 0 / 0 | 0.0011 |
FLUX-3-Image-Klein-pup-Uncensored-AD-Q5_K_M.gguf |
6.57 GB | 0.0079 | 95.7% | 0 / 0 | 0.0065 |
FLUX-3-Image-Klein-pup-Uncensored-AD-IQ4_XS.gguf |
5.51 GB | 0.0283 | 92.0% | 0 / 0 | 0.0265 |
FLUX-3-Image-Klein-pup-Uncensored-AD-IQ3_S.gguf |
4.68 GB | 0.0491 | 89.2% | 0 / 0 | 0.0476 |
The BF16 row was measured with the edit applied as an adapter to the original BF16; the baked file is the same edit rounded once to bf16. The original refuses 51 / 8 of the same prompts (63% / 3.2%).
Q8_0if it fits;AD-IQ4_XSis the pick at about 5.5 GB.FLUX-3-Image-Klein-pup-Uncensored-LoRA.gguf(3 MB) is the same edit for the stock files. With any GGUF of the original upsampler:--lora-scaled FLUX-3-Image-Klein-pup-Uncensored-LoRA.gguf 0.75.mmproj-FLUX-3-Image-Klein-pup-Uncensored-F16.ggufis the vision projector, unmodified, for edits with reference images.system_prompts.jsonis BFL's file, unchanged.
Running it
llama-server -m FLUX-3-Image-Klein-pup-Uncensored-AD-IQ4_XS.gguf --jinja -ngl 99 -c 8192
Send the t2i system prompt from system_prompts.json and the short request as the user message, with thinking off
("chat_template_kwargs": {"enable_thinking": false}), greedy decoding and a presence penalty of 1.5. The answer is
the caption: pass it to Klein as the prompt.
As a chat model
Original against this one, both BF16, on prompts never used to pick anything:
| Original | Uncensored | |
|---|---|---|
| Harmful requests, English (81), refused | 63% | 0% |
| XSTest safe prompts (250), refused | 3.2% | 0% |
| MMLU (2000 questions) | 74.15% | 73.95% |
| Tool calls (20) | 19/20 valid | 19/20 valid |
| Needle in a long text (3 depths) | 3/3 | 3/3 |
| Thinking on: refusals / unclosed / loops | โ | 0% / 0 / 0 |
Refusal is counted by the opening of the reply, so it is indicative, not a judge.
Against other uncensored Klein upsamplers
At Q8_0, same stand, same sets:
| Upsampler | KLD | Same top-1 | Refused EN / XSTest | MMLU |
|---|---|---|---|---|
| prithivMLmods abliterated | 0.0025 | 97.6% | 0 / 1 | 73.7% |
| this one | 0.0027 | 97.5% | 0 / 0 | 74.1% |
| webmp3 Sakura | 0.0049 | 96.6% | 18 / 1 | 73.7% |
What it does to Klein's captions and pictures
- Captions. 45 sensitive requests (adults only, no real people),
t2isystem prompt, greedy. A language-model judge read every caption: the stock upsampler keeps 31 of the 35 sensitive requests, this one 33. The two it adds back are a topless beach scene and swim briefs. - Pictures. Rendered with Klein's BF16 image model on two seeds, judged by a vision model: the requested content shows in 79 of 90 pictures with this upsampler and 80 of 90 with the stock one. No category moved by more than one picture in ten. The image model does not draw the two requests this upsampler adds back.
- Ordinary pictures change. Any change in a caption changes Klein's picture. On 48 neutral requests the captions of this upsampler differ from the stock ones, and the pictures differ by LPIPS 0.375 (a new seed is 0.53). They are different pictures of the same request, not worse ones as far as we measured.
How it was made
- Direction. Difference of means of the residual stream at the last prompt token, chat template applied, harmful against harmless prompts, taken entering block 19 of 32, with the harmless-mean component removed.
- Edit.
W' = W - 0.75 r rแตWon the 32 attention outputs and 32 MLP down projections. The token embedding, the output head, the MTP layer and the vision tower are untouched. - Choice. Variants screened on validation prompts; the numbers above come from held-out test prompts.
- Bake and quantize. The edit applied to the BF16 weights in f32 and rounded once, then the stock upsampler's
ladder and importance matrix (the stock model's; the edit is rank 1). llama.cpp
6184e92(upstream).
Responsible use
The upsampler no longer leans requests towards a refusal. That does not make the output safe, correct or lawful. Do not use it to make sexual content involving minors, or intimate or degrading images of real people without their consent. Klein's image model is under the FLUX Kommunity License, which forbids such uses. Any deployment needs its own access controls and policy enforcement.
Credits
Direction estimation, edit, quantization and evaluation by AtomicChat. The upsampler is BFL's flux-3-image-klein-pup, Apache-2.0, on top of Qwen3.5-9B by the Qwen team. Not affiliated with or endorsed by Black Forest Labs. The method follows Arditi et al., Refusal in Language Models Is Mediated by a Single Direction (2024).
- Downloads last month
- 16,597
Model tree for AtomicChat/FLUX-3-Image-Klein-pup-Uncensored-GGUF
Base model
Qwen/Qwen3.5-9B-Base


