File size: 3,361 Bytes
6259880
 
c749a2d
4b12495
 
 
 
 
c749a2d
6259880
4b12495
c749a2d
4b12495
c749a2d
4b12495
 
 
 
 
c749a2d
 
 
4b12495
c749a2d
4b12495
 
 
 
c749a2d
4b12495
c749a2d
 
 
4b12495
c749a2d
4b12495
 
 
 
c749a2d
 
 
 
 
 
 
 
 
 
4b12495
c749a2d
4b12495
c749a2d
 
 
4b12495
 
 
c749a2d
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
---
license: apache-2.0
library_name: ComfyUI
pipeline_tag: image-to-image
tags:
  - comfyui
  - image-editing
  - joyai
base_model: jdopensource/JoyAI-Image-Edit-Diffusers
---

# JoyAI-Image-Edit (ComfyUI)

Repackaged single-file weights of [`jdopensource/JoyAI-Image-Edit-Diffusers`](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Diffusers) for ComfyUI's standard model-folder layout. Keys, filenames and directory layout follow the [Comfy-Org](https://huggingface.co/Comfy-Org) packaging convention used by `Qwen-Image-Edit_ComfyUI` and `Wan_2.1_ComfyUI_repackaged` — drop the files into `ComfyUI/models/` and they load natively.

## Files

| File | Size | Goes into | Component |
|------|------|-----------|-----------|
| `split_files/diffusion_models/joyai_image_edit_bf16.safetensors` | ~32 GB | `ComfyUI/models/diffusion_models/` | `JoyImageEditTransformer3DModel` (bf16) |
| `split_files/text_encoders/qwen_3vl_8b_joyimage_bf16.safetensors` | ~17 GB | `ComfyUI/models/text_encoders/` | Qwen3-VL-8B text encoder, JoyImage-finetuned (bf16) |
| `split_files/vae/wan_2.1_vae.safetensors` | ~250 MB | `ComfyUI/models/vae/` | Wan 2.1 VAE (shared with Wan / Qwen-Image; bf16) |

The VAE is the standard Wan 2.1 VAE — bit-identical to [`Comfy-Org/Wan_2.1_ComfyUI_repackaged/split_files/vae/wan_2.1_vae.safetensors`](https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/blob/main/split_files/vae/wan_2.1_vae.safetensors). If you already have it from Wan or Qwen-Image, you can skip the VAE here.

## Quick start

```bash
# Download into ComfyUI/models/ (skips split_files/ wrapper):
hf download jdopensource/JoyAI-Image-Edit-ComfyUI \
  --include "split_files/*" \
  --local-dir /path/to/ComfyUI/models \
  --local-dir-use-symlinks False

# Or fetch each file individually into the matching model folder.
```

## Requirements

Native JoyImageEdit support is in flight upstream against [Comfy-Org/ComfyUI](https://github.com/comfyanonymous/ComfyUI). Until the PR lands, install ComfyUI from the JoyAI fork's branch:

```bash
git clone https://github.com/jd-opensource/JoyAI-Image.git
# follow the ComfyUI branch instructions in JoyAI-Image/README.md
```

When the upstream PR merges, plain `comfyanonymous/ComfyUI` will detect and load these files with no extra setup.

## Key namespaces

For developers / quantizers — the top-level state-dict prefixes in each file:

- **diffusion_models**: raw transformer keys (`double_blocks.*`, `condition_embedder.*`, `img_in.*`, `proj_out.*`, `norm_out.*`). No `model.diffusion_model.` wrapper. Auto-detected by ComfyUI's `model_detection.py`.
- **text_encoders**: HF Qwen3-VL keys (`model.language_model.*`, `model.visual.*`, `lm_head.*`). ComfyUI strips the `model.` wrappers internally.
- **vae**: standard Comfy-Org Wan 2.1 VAE keys (`encoder.{conv1,downsamples,middle}.*`, `decoder.{conv1,upsamples,middle,head}.*`, plus top-level `conv1.*`/`conv2.*` for the post-quant projections).

## Links

- Source code & nodes: [github.com/jd-opensource/JoyAI-Image](https://github.com/jd-opensource/JoyAI-Image)
- Diffusers weights: [jdopensource/JoyAI-Image-Edit-Diffusers](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Diffusers)
- GGUF quantizations (community): [huangfeice/JoyAI-Image-Edit-Diffusers-GGUF](https://huggingface.co/huangfeice/JoyAI-Image-Edit-Diffusers-GGUF)
- License: Apache 2.0