Arthemy Qwen Saver
Bake your tuned Qwen text encoder into a file you can load anywhere
- tuned_clip
The Qwen tuners work on a patched CLIP living in memory - useful while the workflow runs, useless the moment you close it. Arthemy Qwen Saver turns a tuned text encoder state into a standalone .safetensors file you can load later with a plain CLIPLoader, tuner not required. Find an encoder tuning you love, freeze it, and every future workflow just loads the saved file like any other text encoder.
The inputs
Four, and the first two matter more than the last two:
tuned_clip- the CLIP output ofArthemyQwenTunerSimpleorArthemyQwenTunerLab. This is the patched state you want to keep.original_filename- a dropdown of every model in yourclipandtext_encodersfolders. This is the template the saver rebuilds from, and it must be the exact file you tuned. Pick wrong and the shapes won't line up.filename_prefix- defaultqwen_arthemy_tuned. Your file lands atComfyUI/output/text_encoders/qwen_arthemy_tuned.safetensors.save_precision-fp16orfp32, defaultfp16. Qwen3-4B is a ~4B model, so fp16 lands around 8GB and fp32 doubles that. fp16 is the sensible default.
No outputs - it's an output node. Its job is the file it writes.
How it works (the part that trips people up)
The Z-Image saver dumps a whole tuned state dict. The Qwen saver can't, because the tuner never modifies the base weights - it registers lazy patches on top of them. So this node does the reconstruction: it opens original_filename from disk as a template, walks the patcher's patch table, and for every patched key recomputes final = base + patch_tensor × strength before writing. It also stamps tuned_by: Arthemy_Unified into the file's metadata, so you can tell your tuned encoders apart later.
That template dependency is why original_filename exists at all - and why it's a dropdown rather than a free-text field. If you loaded the encoder from text_encoders/ but pick a file name that isn't on disk, you'll get an "Error: Template file not found" in the console and no file.
Wiring
CLIPLoader (qwen_3_4b) ──> Arthemy Qwen Tuner (Simple/Lab) ──> Arthemy Qwen Saver
The tuner's CLIP output feeds the saver while also feeding CLIPTextEncode, so you can save and generate in the same queue. Standard practice: tune, look at a few outputs, then save only when the result is a keeper.
Reusing the result
Load it like any other text encoder:
CLIPLoader (text_encoders/qwen_arthemy_tuned.safetensors) ──> CLIPTextEncode ──> KSampler
Use the same lumina2 type the pack's example workflow uses for Qwen3-4B. From there the tuned encoder behaves identically to stock - just with your layer adjustments baked in.
Common issues
- "Template file not found" - the name in the dropdown isn't on disk (moved, renamed, or it came from a folder that no longer exists). Re-point
original_filename. - Saved file generates differently than the live tune - usually a precision or template mismatch. Make sure
original_filenameis the same file you loaded, not a quantized copy or a different revision. - File looks wrong when loaded - a saver can't know what you tuned it with; if the patch count was 0, you saved a stock encoder in a new costume. Check the tuner's
infooutput for the active patch count before saving. - Big file - it's a full 4B-parameter encoder, not a LoRA. That's the trade for a self-contained file that needs no tuner rig to load.
The honest framing: this is the "publish" step. The tuners are the exploration, the saver is the artifact - and once the artifact exists, your encoder tuning is portable, shareable, and independent of this pack's other nodes.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| tuned_clip | CLIP | — | |
| original_filename | COMBO | 0 options: | |
| filename_prefix | STRING | qwen_arthemy_tuned | — |
| save_precision | COMBO | fp16 | 2 options: fp16, fp32 |
Outputs (0)
No outputs