← back to catalog · registered 2026-10-12 21:59

webmp3/Sakura-Qwen-Image-2.1-PE-T2I-Uncensored-GGUF

webmp3 Qwen GGUF
Your rig guess connected
? Why do I need an app?
Reading your rig…

This is a rough estimate. Install the free app - we'll show exact numbers.

Reading real hardware from your app right now. Numbers below are exact.

Below is the per-quantization compatibility for this model.

curl -H "Authorization: Bearer $ABL_KEY" \
     "https://abliteration.org/api/v1/models/webmp3%2FSakura-Qwen-Image-2.1-PE-T2I-Uncensored-GGUF"
Response includes
  • classification m-uncensored
  • files 9
  • author_summary 4 models
  • readme_text full
10 credits · hourly refresh · ~4 KB payload Get an API key →
Abliteration classifier · v1.0.0
M-U
Primary method

Uncensored (method unknown)

No other method signals detected in this model.
Confidence
LOW
Why this label 3 signals
Weak or ambiguous signals. Best guess based on catalog patterns; treat as tentative and check the evidence below.
  • 'uncensored' in name/tags but no 'abliterated' marker
  • method not identifiable from author declaration alone
  • may be DPO fine-tune, prompt engineering, or unknown technique
Refusal direction extraction

No specific extraction method could be identified for this model. The producer either did not document it or used a proprietary pipeline.

What is a refusal direction? →
Downloads · 30-day
0
Likes
0
Model age
today
created 2026-10-12

Genealogy 0 direct forks

Full fork graph →

This model's place in the market. Above: what it was derived from. Below: the tree of everything derived from it.

Metadata

License
other
Quantizations
Q4_K
Tags
gguf sakura sakura-image llama.cpp qwen-image prompt-rewriting text-to-image uncensored abliterated not-for-all-audiences text-generation base_model:Qwen/Qwen-Image-2.1-PE-T2I

Related

Total size
14.1 GB
Files
9
Quantizations
2
Registered
2026-10-12 21:59
Last updated on HF
2026-10-12 21:46

Files by quantization

Q4_K 1 file 5.24 GB
Sakura-PE-T2I-Uncensored-Q4_K_M-5.24GiB.gguf 5.24 GB 865efbe4 download
Auxiliary files 8 files 8.87 GB
Sakura-PE-T2I-Uncensored-Q8_0-8.87GiB.gguf 8.87 GB 6edb9d0b download
README.md 20.9 KB 78d9bbf3 download
README_zh.md 10.1 KB 37467d2f download
system_prompt.txt 9.81 KB 7fceb851 download
LICENSE 7.65 KB 13ae08d5 download
.gitattributes 1.64 KB 7a3535a5 download
NOTICE 1.07 KB 7524e042 download
SHA256SUMS 606 B e77c619d download

README current version from Hugging Face


license: other
license_name: qwen-research
license_link: LICENSE
base_model: Qwen/Qwen-Image-2.1-PE-T2I
base_model_relation: quantized
library_name: gguf
pipeline_tag: text-generation
tags:

  • sakura
  • sakura-image
  • gguf
  • llama.cpp
  • qwen-image
  • prompt-rewriting
  • text-to-image
  • uncensored
  • abliterated
  • not-for-all-audiences

Sakura — Qwen-Image-2.1-PE-T2I, uncensored (GGUF)

Built with Qwen. Community quantization of Qwen/Qwen-Image-2.1-PE-T2I, the text-to-image prompt-rewriting model of Qwen-Image-2.1 (a fine-tuned Qwen3.5-VL 9B that turns a short request in any language into one long English image description plus a recommended aspect ratio), with abliterated (uncensored) weights. Independent work, not made or endorsed by Alibaba/Qwen. Non-commercial use only (Qwen RESEARCH LICENSE AGREEMENT, copy in LICENSE).
For adults only; you are responsible for what you generate and for the laws that apply to you. The model has no safety filter and writes harmful requests verbatim into the prompt and thus into the image (in our test, for example, explosive-making steps, a threatening letter and an invented hate-site URL). Do not use it to depict minors in any sexual or abusive context, or to create sexual or defamatory images of real persons without their consent; this is illegal in most countries. Do not put it into a public service without your own moderation.

What this model does

The model reads a short image request, thinks in a <think> block, and then answers with a JSON object:

{"rewritten_prompt": "<long detailed English prompt describing the finished image>", "wh_ratio": "16:9"}

You pass rewritten_prompt to the image model (Qwen-Image-2.1) and render at the recommended aspect ratio. The system prompt the model was trained with is the unmodified system_prompt.txt of the original repository, included here; always send it as the system message.

What you need to run it

Everything except the runtime is in this repository. Pick the column of the program you use (🟦 llama.cpp, 🟧 ComfyUI):

Part 🟦 llama.cpp 🟧 ComfyUI
Model (pick one) Sakura-PE-T2I-Uncensored-Q8_0-8.87GiB.gguf (the file we measured) or Sakura-PE-T2I-Uncensored-Q4_K_M-5.24GiB.gguf (smaller, importance matrix, not evaluated), passed with -m not tested
System prompt system_prompt.txt (this repository, unmodified copy of the original) –
Program llama-server / llama-cli of llama.cpp with Qwen3.5 support and --jinja; we measured with release b11524 (Vulkan), not included –

Qwen3.5 is a hybrid model (linear attention layers plus full attention layers); the vision tower of the original is not part of these text-only GGUF files.

Runtime warning: with llama.cpp release b11259 this architecture read only the first word of an English user message in our tests (also with third-party GGUF files). Use a newer build and check it with a short question before you trust any result.

What is "uncensored" here, exactly

Part What we did
Weights (Qwen3.5-VL 9B language model) Directional ablation with Heretic 1.4.0 on o_proj + down_proj, then GGUF Q8_0 and Q4_K_M. 80 trials (30 random start trials, seed 42); selection rule: fewest refusals with KL <= 0.1; selected trial 23 of 80.

What we measured (and what not)

1. Heretic's own count (BF16 checkpoint, before quantization). Heretic generates 100 tokens with its default system prompt (You are a helpful assistant.) and the template default (thinking open); it found the common response start 'I first' automatically and counts English keywords in the continuation. Result on its 100 harmful evaluation prompts: refusals 95/100 -> 21/100, KL divergence of the first-token distribution 0.029. This counts words in the reasoning text, not in the final answer.

2. The same count on our GGUF files (Q8_0, llama.cpp b11524, the first 100 harmful test prompts, 100 tokens, Heretic's counting rule, default system prompt):

Setting unchanged ours (uncensored)
thinking open, response start I first 97 / 100 23 / 100
thinking open, no forced start 96 / 100 21 / 100
thinking switched off (closed <think></think>) 98 / 100 88 / 100
thinking switched off, response start I first 95 / 100 26 / 100

The ablation reached the GGUF file (the first row comes close to the BF16 value: 23 against 21, and 21 without a forced start) and it acts while the model thinks; with thinking switched off the first answer tokens hardly change. Keep thinking on.

3. Full-length test with the model's own system prompt (the intended use; llama.cpp b11524, Q8_0, thinking on, temperature 0, up to 6,144 generated tokens, 24 prompts, every fourth of the 104 harmful test prompts (index 0, 4, ..., 92); the final JSON was parsed and the rewritten prompts were read by us):

unchanged ours (uncensored)
final JSON found 23 24
not finished within 6,144 tokens 1 0
rewritten_prompt declines the request explicitly 0 0
rewritten_prompt turns the request into its opposite (prevention, defence or warning content instead of what was asked) 9 (+ 1 unclear) 0

What this means: with its own system prompt neither model declines explicitly in our sample, and both turn the request into an image description (mostly an "educational infographic", a screenshot or a poster). The difference is what the description shows: the unchanged model turned 9 of its 23 answers (one more unclear) into the opposite of the request. In those answers the headline of the infographic reads, for example, "avoiding detection is illegal and unethical", "prevention and detection" or "explosives: educational overview" instead of the requested how-to, and a tool request becomes a security dashboard. Ours did this in none of its 24 answers and wrote the requested content, including the harmful steps. Classified by hand by one person (us). A crude word count points the same way: counting the words prevention, awareness, safety, warning, educational, compliance, security, legal, ethical and defense (case-insensitive substring count over the 23 pairs that have a JSON from both models) gave 233 occurrences for the unchanged and 96 for ours, more in the unchanged answer for 19 of the 23 prompts; it is not a validated metric.

Limits of this test: only 24 prompts, English only, the answers were classified by one person (us), no image was generated from the rewritten prompts. The test prompts cover crime, cyber attacks, hate and misinformation only; sexual content and edits of real people were not tested, so we make no claim about them. The Q4_K_M file was not part of this test (one smoke test only: it loaded and answered a short question). We have not run other community builds through it.

Other community builds of the same model exist, for example prithivMLmods/Qwen-Image-2.1-PE-T2I-Heretic-v1.0 (reports 97 -> 22 of 100 refusals at KL 0.0331 by Heretic's count) and kkxao/Qwen-Image-2.1-PE-T2I-Heretic (reports 98 -> 3 of 100 at KL 0.036 after a 1,600-trial search). By Heretic's count ours is the same class as the first and weaker than the second.

Files

File Size What it is
Sakura-PE-T2I-Uncensored-Q8_0-8.87GiB.gguf 8.87 GiB uncensored prompt rewriter, Q8_0
Sakura-PE-T2I-Uncensored-Q4_K_M-5.24GiB.gguf 5.24 GiB uncensored prompt rewriter, Q4_K_M (importance matrix)
system_prompt.txt 10 KiB the system prompt of the original model, unmodified
LICENSE, NOTICE, SHA256SUMS Qwen RESEARCH LICENSE AGREEMENT, notices and list of changes, checksums

Run with llama.cpp

llama-server -m Sakura-PE-T2I-Uncensored-Q8_0-8.87GiB.gguf --jinja -ngl 99 -c 16384 --port 8080
import json, urllib.request
system = open("system_prompt.txt", encoding="utf-8").read().strip()
body = {"messages": [{"role": "system", "content": system},
                     {"role": "user", "content": "a corgi playing guitar in the rain"}],
        "temperature": 0, "max_tokens": 8192}
req = urllib.request.Request("http://127.0.0.1:8080/v1/chat/completions", json.dumps(body).encode(), {"Content-Type": "application/json"})
print(json.loads(urllib.request.urlopen(req).read())["choices"][0]["message"]["content"])

The model thinks for roughly 1,300 to 3,300 tokens before the JSON in most cases (55 to 138 seconds per answer on our machine, AMD Strix Halo, Vulkan; one answer of the unchanged model was still thinking at 6,144 tokens): give it max_tokens of 8,192 and a context of 16,384. The original model card samples with temperature 1.0, top-p 0.95, top-k 20; all our tests used temperature 0.

How the Q4_K_M file was made

With an importance matrix computed on the ablated weights (calib_mix_v1.txt, English / German / code mix, 30 chunks of 512 tokens), then llama-quantize from the BF16 GGUF. We did not build an unchanged Q4_K_M.

What we changed (Qwen RESEARCH LICENSE, section 3b)

  • Sakura-PE-T2I-Uncensored-*.gguf: the official weights of Qwen-Image-2.1-PE-T2I (repository revision f3ed7985c788ad75b3ab7223e0c4c51e2a43545b, sha256 of all four shards checked against the Hub) with Heretic's directional ablation (o_proj, down_proj) merged into the weights, converted to GGUF with llama.cpp (--no-mtp, because the original config.json has "mtp_num_hidden_layers": null) and quantized (Q8_0; Q4_K_M with importance matrix). The vision tower is not included. Modified files.
  • system_prompt.txt and LICENSE are unmodified copies from the original repository.

License and use

Qwen RESEARCH LICENSE AGREEMENT (LICENSE): use, reproduction and modification for non-commercial purposes only (research or evaluation); redistribution requires this license text and the notices in NOTICE. The agreement is governed by the laws of China. "Qwen" is the name of the original work; this is a derivative work by Sakura, "based on Qwen-Image-2.1-PE-T2I".
Part of the Sakura Image collection.

Credits


中文说明 · 樱花 (Simplified Chinese)

English above. 本节为上文的中文翻译(Sakura = 樱花 yīnghuā);完整的独立中文版见 README_zh.md。

Sakura — Qwen-Image-2.1-PE-T2I,去审查版(GGUF)

Built with Qwen. 这是 Qwen/Qwen-Image-2.1-PE-T2I 的社区量化版本。它是 Qwen-Image-2.1 的文生图 提示词改写模型(基于 Qwen3.5-VL 9B 微调,把任意语言的简短请求改写为一段很长的英文图像描述,并给出推荐的宽高比),并带有 经消融(abliterated,去审查)的权重。属于独立工作,并非 Alibaba/Qwen 制作或认可。仅限非商业用途(Qwen RESEARCH LICENSE AGREEMENT,副本见 LICENSE)。
仅限成年人使用;您需对自己生成的内容以及适用于您的法律负责。本模型没有安全过滤,会把有害请求原样写进提示词,进而写进图像(在我们的测试中,例如制造爆炸物的步骤、一封威胁信和一个虚构的仇恨网站网址)。不要用它来描绘涉及性或虐待情境的未成年人,也不要在未经同意的情况下制作真实人物的性相关或诽谤性图像;这在大多数国家是违法的。未经您自己的内容审核,请勿将其放入公共服务。

这个模型做什么

模型读取一条简短的图像请求,先在 <think> 块中思考,然后输出一个 JSON 对象:

{"rewritten_prompt": "<long detailed English prompt describing the finished image>", "wh_ratio": "16:9"}

您把 rewritten_prompt 交给图像模型(Qwen-Image-2.1),并按推荐的宽高比渲染。模型训练时使用的系统提示词就是原始仓库中未改动的 system_prompt.txt,已随本仓库提供;请始终把它作为系统消息发送。

运行所需文件

除运行程序外,所需文件都在本仓库中。请选择您所用程序对应的一列(🟦 llama.cpp,🟧 ComfyUI):

部分 🟦 llama.cpp 🟧 ComfyUI
模型(二选一) Sakura-PE-T2I-Uncensored-Q8_0-8.87GiB.gguf(我们测量过的文件)或 Sakura-PE-T2I-Uncensored-Q4_K_M-5.24GiB.gguf(更小,带重要性矩阵,未经评估),通过 -m 传入 未测试
系统提示词 system_prompt.txt(本仓库,原文件的未改动副本) –
程序 支持 Qwen3.5 并带 --jinja 的 llama.cpp 的 llama-server / llama-cli;我们使用 b11524 版本(Vulkan)测量,不包含 –

Qwen3.5 是混合模型(线性注意力层加完整注意力层);原模型的视觉塔不属于这些纯文本 GGUF 文件。

运行环境警告: 在我们的测试中,llama.cpp 的 b11259 版本对这一架构只读取英文用户消息的第一个单词(第三方 GGUF 文件也一样)。请使用更新的版本,并先用一个简短问题验证,再相信任何结果。

这里的“去审查”具体指什么

部分 我们做了什么
权重(Qwen3.5-VL 9B 语言模型) 使用 Heretic 1.4.0 对 o_proj + down_proj 做定向消融,再转为 GGUF Q8_0 和 Q4_K_M。80 次试验(30 次随机起始试验,种子 42);选择规则:在 KL <= 0.1 的前提下拒绝次数最少;选中的是 80 次中的第 23 次。

我们测量了什么(以及没有测量什么)

1. Heretic 自带的统计(BF16 检查点,量化之前)。 Heretic 使用默认系统提示词(You are a helpful assistant.)和模板默认值(思考开启)生成 100 个词元;它自动找到了共同的回答开头 'I first',并统计后续文本中的英文关键词。在它的 100 条有害评估提示词上的结果:拒绝次数 95/100 -> 21/100,首个词元分布的 KL 散度为 0.029。这统计的是 推理文本 中的词,而不是最终回答。

2. 在我们的 GGUF 文件上做同样的统计(Q8_0,llama.cpp b11524,前 100 条有害测试提示词,100 个词元,Heretic 的计数规则,默认系统提示词):

设置 未改动 我们的(去审查)
思考开启,回答开头 I first 97 / 100 23 / 100
思考开启,不强制开头 96 / 100 21 / 100
关闭思考(闭合的 <think></think>) 98 / 100 88 / 100
关闭思考,回答开头 I first 95 / 100 26 / 100

消融确实作用到了 GGUF 文件上(第一行接近 BF16 的数值:23 对 21,不强制开头时为 21),而且它在模型思考时起作用;关闭思考后,回答最初的几个词元几乎没有变化。 请保持思考开启。

3. 使用模型自带系统提示词的完整长度测试(即预期用法;llama.cpp b11524,Q8_0,思考开启,温度 0,最多生成 6,144 个词元,取 104 条有害测试提示词中每隔四条的一条,共 24 条(索引 0、4、……、92);我们解析了最终的 JSON,并阅读了改写后的提示词):

未改动 我们的(去审查)
找到最终 JSON 23 24
在 6,144 个词元内未完成 1 0
rewritten_prompt 明确拒绝了请求 0 0
rewritten_prompt 把请求变成了它的反面(用预防、防御或警示内容取代所要求的内容) 9(另有 1 条不明确) 0

这意味着什么: 在使用自带系统提示词时,在我们的样本中两个模型都没有明确拒绝,而且都把请求变成一段图像描述(多半是“科普信息图”、截图或海报)。差别在于 描述所展示的内容:未改动的模型在 23 条回答中有 9 条(另有一条不明确)变成了请求的反面。在这些回答里,信息图的标题是例如“avoiding detection is illegal and unethical”“prevention and detection”或“explosives: educational overview”,而不是所要求的操作指南,索要工具的请求则变成了安全仪表盘。我们的在它的 24 条回答中一条也没有这样做,而是写出了所要求的内容,包括有害的步骤。由一个人(我们)手工分类。一个粗略的词频统计指向同一方向:统计 prevention、awareness、safety、warning、educational、compliance、security、legal、ethical 和 defense 这些词(在两个模型都有 JSON 的 23 对提示词上做不区分大小写的子串计数),未改动版本为 233 次,我们的为 96 次,其中 23 条里有 19 条未改动版本的回答更多;这不是经过验证的指标。

本测试的局限: 只有 24 条提示词,只有英文,回答由一个人(我们)分类,没有根据改写后的提示词生成图像。测试提示词只涉及犯罪、网络攻击、仇恨和虚假信息;性相关内容和对真实人物的编辑没有测试,因此我们对这些不作任何声明。Q4_K_M 文件 没有 参与这项测试(只做过一次冒烟测试:加载并回答了一个简短问题)。我们也没有让其他社区构建版本通过同样的测试。

同一模型还有其他 社区构建版本,例如 prithivMLmods/Qwen-Image-2.1-PE-T2I-Heretic-v1.0(按 Heretic 的统计报告 100 条中拒绝从 97 降到 22,KL 为 0.0331)和 kkxao/Qwen-Image-2.1-PE-T2I-Heretic(经过 1,600 次试验的搜索后报告 100 条中从 98 降到 3,KL 为 0.036)。按 Heretic 的统计,我们的结果与第一个属于同一水平,弱于第二个。

文件

文件 大小 说明
Sakura-PE-T2I-Uncensored-Q8_0-8.87GiB.gguf 8.87 GiB 去审查的提示词改写模型,Q8_0
Sakura-PE-T2I-Uncensored-Q4_K_M-5.24GiB.gguf 5.24 GiB 去审查的提示词改写模型,Q4_K_M(重要性矩阵)
system_prompt.txt 10 KiB 原模型的系统提示词,未改动
LICENSE、NOTICE、SHA256SUMS Qwen RESEARCH LICENSE AGREEMENT、声明与修改清单、校验和

使用 llama.cpp 运行

llama-server -m Sakura-PE-T2I-Uncensored-Q8_0-8.87GiB.gguf --jinja -ngl 99 -c 16384 --port 8080
import json, urllib.request
system = open("system_prompt.txt", encoding="utf-8").read().strip()
body = {"messages": [{"role": "system", "content": system},
                     {"role": "user", "content": "a corgi playing guitar in the rain"}],
        "temperature": 0, "max_tokens": 8192}
req = urllib.request.Request("http://127.0.0.1:8080/v1/chat/completions", json.dumps(body).encode(), {"Content-Type": "application/json"})
print(json.loads(urllib.request.urlopen(req).read())["choices"][0]["message"]["content"])

模型在输出 JSON 之前,大多数情况下会思考大约 1,300 到 3,300 个词元(在我们的机器上,AMD Strix Halo,Vulkan,每次回答 55 到 138 秒;未改动模型有一次回答在 6,144 个词元时仍在思考):请给它 8,192 的 max_tokens 和 16,384 的上下文。原始模型卡使用温度 1.0、top-p 0.95、top-k 20;我们的所有测试都使用温度 0。

Q4_K_M 文件是怎么做的

使用在消融后权重上计算的重要性矩阵(calib_mix_v1.txt,英文 / 德文 / 代码混合,30 个 512 词元的块),再用 llama-quantize 从 BF16 GGUF 量化。我们没有制作未改动的 Q4_K_M。

我们做了哪些修改(Qwen RESEARCH LICENSE,第 3b 条)

  • Sakura-PE-T2I-Uncensored-*.gguf:Qwen-Image-2.1-PE-T2I 的官方权重(仓库版本 f3ed7985c788ad75b3ab7223e0c4c51e2a43545b,四个分片的 sha256 均已与 Hub 核对),并把 Heretic 的定向消融(o_proj、down_proj)合并进权重,再用 llama.cpp 转为 GGUF(使用 --no-mtp,因为原始 config.json 中是 "mtp_num_hidden_layers": null),然后量化(Q8_0;Q4_K_M 带重要性矩阵)。不包含视觉塔。属于修改过的文件。
  • system_prompt.txt 与 LICENSE 是原始仓库中文件的未改动副本。

许可与使用

Qwen RESEARCH LICENSE AGREEMENT(LICENSE):使用、复制和修改 仅限非商业目的(研究或评估);再分发需要附带本许可文本以及 NOTICE 中的声明。该协议受中国法律管辖。“Qwen”是原作品的名称;本仓库是 Sakura 的衍生作品,“基于 Qwen-Image-2.1-PE-T2I”。
属于 Sakura Image 合集。

致谢

Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration