huangfeice commited on
Commit
a90b1a3
·
verified ·
1 Parent(s): d74fa98

Update ComfyUI workflow

Browse files
README.md CHANGED
@@ -1,110 +1,48 @@
1
  ---
 
 
 
 
 
2
  license: apache-2.0
 
3
  pipeline_tag: image-to-image
4
- tags:
5
- - comfyui
6
- - image-editing
7
- - joyai
8
- - multi-image
9
  ---
10
 
11
- # JoyAI-Image-Edit-Plus (ComfyUI weights)
12
-
13
- Single-file `.safetensors` checkpoints of [JoyAI-Image-Edit-Plus](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers), repackaged for **native ComfyUI** support (no custom node required).
14
-
15
- JoyAI-Image-Edit-Plus is the multi-image instruction-guided editing model of the [JoyAI-Image](https://github.com/jd-opensource/JoyAI-Image) family. It accepts **1–6 reference images** and a text instruction, and generates a new image that combines elements from the references according to the instruction.
16
-
17
- ## Files
18
-
19
- | File | Size | Goes into | Component |
20
- |------|------|-----------|-----------|
21
- | `diffusion_models/joy_image_edit_plus_bf16.safetensors` | ~31 GB | `ComfyUI/models/diffusion_models/` | `JoyImageEditPlusTransformer3DModel` (bf16) |
22
- | `text_encoders/qwen3vl_joyimage_bf16.safetensors` | ~17 GB | `ComfyUI/models/text_encoders/` | Qwen3-VL-8B text encoder (bf16) |
23
- | `vae/joy_image_edit_vae.safetensors` | ~243 MB | `ComfyUI/models/vae/` | `AutoencoderKLWan` |
24
-
25
- The repo layout already matches `ComfyUI/models/`, so a single `hf download` into your models root drops every file where it needs to go.
26
 
27
- ## Model architecture
28
 
29
- - **Transformer**: 40-layer DiT, hidden size 4096, 32 heads, in/out channels 16, patch size `[1, 2, 2]`, 3D RoPE (`rope_dim_list = [16, 56, 56]`, theta 10000). Each reference image is patchified independently and concatenated on the sequence dimension with a per-image temporal offset in the 3D RoPE grid, so references may differ in resolution.
30
- - **Text encoder**: `Qwen3VLForConditionalGeneration` (text dim 4096). The instruction is wrapped with one `<|vision_start|><|image_pad|><|vision_end|>` block per reference image.
31
- - **VAE**: `AutoencoderKLWan` (z_dim 16, spatial downscale 8, temporal downscale 4) — the same VAE used by the single-image edit model.
32
- - **Scheduler**: FlowMatch (Euler), sampling shift 1.5.
33
 
34
- Weight names are byte-identical to the diffusers checkpoint (894 transformer keys, zero renaming); ComfyUI auto-detects the model as `joyimage`.
35
 
36
- ## Installation
37
-
38
- The model runs natively in ComfyUI. Native support is proposed upstream in [Comfy-Org/ComfyUI#14428](https://github.com/Comfy-Org/ComfyUI/pull/14428); until it is merged, install the fork branch:
39
-
40
- ```bash
41
- git clone -b joyimage-edit-pr https://github.com/feice-huang/ComfyUI.git
42
- cd ComfyUI
43
- pip install -r requirements.txt
 
 
 
44
  ```
45
 
46
- Once the PR is merged upstream, the stock ComfyUI release will run these weights with no fork needed.
47
-
48
- Then download the weights straight into `ComfyUI/models/`:
49
 
50
  ```bash
51
  hf download jdopensource/JoyAI-Image-Edit-Plus-ComfyUI \
52
  --local-dir /path/to/ComfyUI/models
53
  ```
54
 
55
- Restart ComfyUI.
56
-
57
- ## Usage
58
 
59
- Example workflow: [workflow_joyimage_edit.json](https://github.com/user-attachments/files/29588811/workflow_joyimage_edit_plus.json)
60
-
61
- Build the graph from these native nodes:
62
-
63
- 1. **Load Diffusion Model** (`UNETLoader`) → `diffusion_models/joy_image_edit_plus_bf16.safetensors`
64
- 2. **Load CLIP** (`CLIPLoader`) → `text_encoders/qwen3vl_joyimage_bf16.safetensors`, type `joyimage`
65
- 3. **Load VAE** (`VAELoader`) → `vae/joy_image_edit_vae.safetensors`
66
- 4. **Load Image** (`LoadImage`) for each reference (1–6)
67
- 5. **TextEncodeJoyImageEditPlus** — feed `clip`, `vae`, the instruction, and the reference images into `image1`…`image6`. Wire one instance for the positive prompt and one (empty prompt, same images) for the negative. Each node bucket-resizes the references to the 1024-base buckets, VAE-encodes them, and appends the reference latents to the conditioning; its `image` output feeds `VAEDecode` / empty-latent sizing.
68
- 6. **KSampler** → **VAEDecode** → **SaveImage**
69
-
70
- ## Recommended parameters
71
-
72
- | Parameter | Value |
73
- |-----------|-------|
74
- | Steps | 30 |
75
- | CFG | 4.0 |
76
- | Sampler | `euler` |
77
- | Scheduler | `simple` |
78
- | dtype | bf16 |
79
- | Resolution | auto (1024-base buckets, per reference) |
80
-
81
- ## Example
82
-
83
- **Prompt:** "The woman is lovingly holding the cute puppy in her arms"
84
-
85
- | Input 0 | Input 1 | Output |
86
- |---------|---------|--------|
87
- | ![input_0](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers/resolve/main/examples/input_0.png) | ![input_1](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers/resolve/main/examples/input_1.png) | ![output](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers/resolve/main/examples/output.png) |
88
-
89
- ## Model details
90
-
91
- - **Developed by**: JD.com
92
- - **License**: Apache-2.0
93
- - **Framework**: PyTorch / ComfyUI
94
 
95
  ## Links
96
 
97
  - Source code and documentation: [github.com/jd-opensource/JoyAI-Image](https://github.com/jd-opensource/JoyAI-Image)
98
  - Original Diffusers-format weights: [jdopensource/JoyAI-Image-Edit-Plus-Diffusers](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers)
99
- - Single-image edit model (ComfyUI): [jdopensource/JoyAI-Image-Edit-ComfyUI](https://huggingface.co/jdopensource/JoyAI-Image-Edit-ComfyUI)
100
-
101
- ## Citation
102
-
103
- ```bibtex
104
- @misc{joyai-image-2025,
105
- title={JoyAI-Image: A Unified Multimodal Foundation Model for Image Understanding, Generation, and Editing},
106
- author={Joy Future Academy, JD},
107
- year={2025},
108
- url={https://github.com/jd-opensource/JoyAI-Image}
109
- }
110
- ```
 
1
  ---
2
+ tags:
3
+ - comfyui
4
+ - image-editing
5
+ - joyai
6
+ - multi-image
7
  license: apache-2.0
8
+ library_name: ComfyUI
9
  pipeline_tag: image-to-image
10
+ base_model: jdopensource/JoyAI-Image-Edit-Plus-Diffusers
 
 
 
 
11
  ---
12
 
13
+ # JoyAI-Image-Edit-Plus-ComfyUI
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
+ Repackaged model files for ComfyUI.
16
 
17
+ Original model repository: https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers
 
 
 
18
 
19
+ Place the files in the following folders:
20
 
21
+ ```
22
+ ComfyUI/
23
+ `-- models/
24
+ |-- diffusion_models/
25
+ | |-- joyai_image_edit_plus_bf16.safetensors
26
+ | `-- joyai_image_edit_plus_int8_convrot.safetensors
27
+ |-- text_encoders/
28
+ | |-- qwen3vl_8b_joyimage_edit_plus_bf16.safetensors
29
+ | `-- qwen3vl_8b_joyimage_edit_plus_int8_convrot.safetensors
30
+ `-- vae/
31
+ `-- wan_2.1_vae.safetensors
32
  ```
33
 
34
+ Download directly into `ComfyUI/models/`:
 
 
35
 
36
  ```bash
37
  hf download jdopensource/JoyAI-Image-Edit-Plus-ComfyUI \
38
  --local-dir /path/to/ComfyUI/models
39
  ```
40
 
41
+ Workflow: [workflow_joyimage_edit_plus.json](workflow_joyimage_edit_plus.json)
 
 
42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
  ## Links
45
 
46
  - Source code and documentation: [github.com/jd-opensource/JoyAI-Image](https://github.com/jd-opensource/JoyAI-Image)
47
  - Original Diffusers-format weights: [jdopensource/JoyAI-Image-Edit-Plus-Diffusers](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers)
48
+ - Single-image edit model for ComfyUI: [jdopensource/JoyAI-Image-Edit-ComfyUI](https://huggingface.co/jdopensource/JoyAI-Image-Edit-ComfyUI)
 
 
 
 
 
 
 
 
 
 
 
diffusion_models/{joy_image_edit_plus_bf16.safetensors → joyai_image_edit_plus_bf16.safetensors} RENAMED
File without changes
diffusion_models/joyai_image_edit_plus_int8_convrot.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c65b4a650054c4ab65caf35c0443077b9604f8fd3895181e221c5a6a601eb274
3
+ size 16433221224
text_encoders/{qwen3vl_joyimage_bf16.safetensors → qwen3vl_8b_joyimage_edit_plus_bf16.safetensors} RENAMED
File without changes
text_encoders/qwen3vl_8b_joyimage_edit_plus_int8_convrot.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e9cd1e1b43e49a8d9a3a650435822d6b77b85e15b018707d2cffdcc2896cd43
3
+ size 10064089108
vae/{joy_image_edit_vae.safetensors → wan_2.1_vae.safetensors} RENAMED
File without changes
workflow_joyimage_edit_plus.json ADDED
@@ -0,0 +1,1563 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "b2c3d4e5-f6a7-4890-91bc-def012345678",
3
+ "revision": 0,
4
+ "last_node_id": 170,
5
+ "last_link_id": 500,
6
+ "nodes": [
7
+ {
8
+ "id": 82,
9
+ "type": "MarkdownNote",
10
+ "pos": [
11
+ -1270,
12
+ -370
13
+ ],
14
+ "size": [
15
+ 570,
16
+ 860
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [],
23
+ "title": "Note: Model Links",
24
+ "properties": {},
25
+ "widgets_values": [
26
+ "## JoyImage Edit Plus\n\nInstruction-guided image editing workflow with up to six reference images.\n\n## Model Links\n\nRepository: [jdopensource/JoyAI-Image-Edit-Plus-ComfyUI](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-ComfyUI)\n\n**diffusion_models**\n\n- [joyai_image_edit_plus_bf16.safetensors](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-ComfyUI/resolve/main/diffusion_models/joyai_image_edit_plus_bf16.safetensors)\n- [joyai_image_edit_plus_int8_convrot.safetensors](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-ComfyUI/resolve/main/diffusion_models/joyai_image_edit_plus_int8_convrot.safetensors)\n\n**text_encoders**\n\n- [qwen3vl_8b_joyimage_edit_plus_bf16.safetensors](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-ComfyUI/resolve/main/text_encoders/qwen3vl_8b_joyimage_edit_plus_bf16.safetensors)\n- [qwen3vl_8b_joyimage_edit_plus_int8_convrot.safetensors](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-ComfyUI/resolve/main/text_encoders/qwen3vl_8b_joyimage_edit_plus_int8_convrot.safetensors)\n\n**vae**\n\n- [wan_2.1_vae.safetensors](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-ComfyUI/resolve/main/vae/wan_2.1_vae.safetensors)\n\n## Test Images\n\n- [input_0.png](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers/resolve/main/examples/input_0.png)\n- [input_1.png](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-Diffusers/resolve/main/examples/input_1.png)\n\n## Model Storage Location\n\n```\nComfyUI/\n`-- models/\n |-- diffusion_models/\n | |-- joyai_image_edit_plus_bf16.safetensors\n | `-- joyai_image_edit_plus_int8_convrot.safetensors\n |-- text_encoders/\n | |-- qwen3vl_8b_joyimage_edit_plus_bf16.safetensors\n | `-- qwen3vl_8b_joyimage_edit_plus_int8_convrot.safetensors\n `-- vae/\n `-- wan_2.1_vae.safetensors\n```\n\n## Defaults\n\n- Output size: `1024 x 1024`\n- Sampler: `euler / simple`\n- CFG: `4.0`\n"
27
+ ]
28
+ },
29
+ {
30
+ "id": 41,
31
+ "type": "LoadImage",
32
+ "pos": [
33
+ -640,
34
+ -370
35
+ ],
36
+ "size": [
37
+ 280,
38
+ 370
39
+ ],
40
+ "flags": {},
41
+ "order": 41,
42
+ "mode": 0,
43
+ "inputs": [],
44
+ "outputs": [
45
+ {
46
+ "name": "IMAGE",
47
+ "type": "IMAGE",
48
+ "links": [
49
+ 376
50
+ ]
51
+ },
52
+ {
53
+ "name": "MASK",
54
+ "type": "MASK",
55
+ "links": null
56
+ }
57
+ ],
58
+ "properties": {
59
+ "Node name for S&R": "LoadImage",
60
+ "cnr_id": "comfy-core",
61
+ "ver": "0.5.1"
62
+ },
63
+ "widgets_values": [
64
+ "input_0.png",
65
+ "image"
66
+ ],
67
+ "title": "Reference image 1"
68
+ },
69
+ {
70
+ "id": 83,
71
+ "type": "LoadImage",
72
+ "pos": [
73
+ -640,
74
+ 50
75
+ ],
76
+ "size": [
77
+ 280,
78
+ 370
79
+ ],
80
+ "flags": {},
81
+ "order": 83,
82
+ "mode": 0,
83
+ "inputs": [],
84
+ "outputs": [
85
+ {
86
+ "name": "IMAGE",
87
+ "type": "IMAGE",
88
+ "links": [
89
+ 377
90
+ ]
91
+ },
92
+ {
93
+ "name": "MASK",
94
+ "type": "MASK",
95
+ "links": null
96
+ }
97
+ ],
98
+ "properties": {
99
+ "Node name for S&R": "LoadImage",
100
+ "cnr_id": "comfy-core",
101
+ "ver": "0.5.1"
102
+ },
103
+ "widgets_values": [
104
+ "input_1.png",
105
+ "image"
106
+ ],
107
+ "title": "Reference image 2"
108
+ },
109
+ {
110
+ "id": 170,
111
+ "type": "bb58ce2c-6d67-4a94-9e83-6ab0b5f66b70",
112
+ "pos": [
113
+ -300,
114
+ -370
115
+ ],
116
+ "size": [
117
+ 460,
118
+ 720
119
+ ],
120
+ "flags": {},
121
+ "order": 10,
122
+ "mode": 0,
123
+ "inputs": [
124
+ {
125
+ "label": "image1",
126
+ "name": "image1",
127
+ "shape": 7,
128
+ "type": "IMAGE",
129
+ "link": 376
130
+ },
131
+ {
132
+ "label": "image2",
133
+ "name": "image2",
134
+ "shape": 7,
135
+ "type": "IMAGE",
136
+ "link": 377
137
+ },
138
+ {
139
+ "label": "image3",
140
+ "name": "image3",
141
+ "shape": 7,
142
+ "type": "IMAGE",
143
+ "link": null
144
+ },
145
+ {
146
+ "label": "image4",
147
+ "name": "image4",
148
+ "shape": 7,
149
+ "type": "IMAGE",
150
+ "link": null
151
+ },
152
+ {
153
+ "label": "image5",
154
+ "name": "image5",
155
+ "shape": 7,
156
+ "type": "IMAGE",
157
+ "link": null
158
+ },
159
+ {
160
+ "label": "image6",
161
+ "name": "image6",
162
+ "shape": 7,
163
+ "type": "IMAGE",
164
+ "link": null
165
+ },
166
+ {
167
+ "label": "positive_prompt",
168
+ "name": "prompt",
169
+ "type": "STRING",
170
+ "widget": {
171
+ "name": "prompt"
172
+ },
173
+ "link": null
174
+ },
175
+ {
176
+ "label": "negative_prompt",
177
+ "name": "negative_prompt",
178
+ "type": "STRING",
179
+ "widget": {
180
+ "name": "negative_prompt"
181
+ },
182
+ "link": null
183
+ },
184
+ {
185
+ "label": "unet_name",
186
+ "name": "unet_name",
187
+ "type": "COMBO",
188
+ "widget": {
189
+ "name": "unet_name"
190
+ },
191
+ "link": null
192
+ },
193
+ {
194
+ "label": "clip_name",
195
+ "name": "clip_name",
196
+ "type": "COMBO",
197
+ "widget": {
198
+ "name": "clip_name"
199
+ },
200
+ "link": null
201
+ },
202
+ {
203
+ "label": "vae_name",
204
+ "name": "vae_name",
205
+ "type": "COMBO",
206
+ "widget": {
207
+ "name": "vae_name"
208
+ },
209
+ "link": null
210
+ },
211
+ {
212
+ "name": "seed",
213
+ "type": "INT",
214
+ "widget": {
215
+ "name": "seed"
216
+ },
217
+ "link": null
218
+ },
219
+ {
220
+ "name": "width",
221
+ "type": "INT",
222
+ "widget": {
223
+ "name": "width"
224
+ },
225
+ "link": null
226
+ },
227
+ {
228
+ "name": "height",
229
+ "type": "INT",
230
+ "widget": {
231
+ "name": "height"
232
+ },
233
+ "link": null
234
+ },
235
+ {
236
+ "name": "steps",
237
+ "type": "INT",
238
+ "widget": {
239
+ "name": "steps"
240
+ },
241
+ "link": null
242
+ },
243
+ {
244
+ "name": "cfg",
245
+ "type": "FLOAT",
246
+ "widget": {
247
+ "name": "cfg"
248
+ },
249
+ "link": null
250
+ }
251
+ ],
252
+ "outputs": [
253
+ {
254
+ "name": "IMAGE",
255
+ "type": "IMAGE",
256
+ "links": [
257
+ 500
258
+ ]
259
+ }
260
+ ],
261
+ "properties": {
262
+ "proxyWidgets": [
263
+ [
264
+ "6",
265
+ "prompt"
266
+ ],
267
+ [
268
+ "7",
269
+ "prompt"
270
+ ],
271
+ [
272
+ "3",
273
+ "unet_name"
274
+ ],
275
+ [
276
+ "4",
277
+ "clip_name"
278
+ ],
279
+ [
280
+ "5",
281
+ "vae_name"
282
+ ],
283
+ [
284
+ "10",
285
+ "seed"
286
+ ],
287
+ [
288
+ "10",
289
+ "control_after_generate"
290
+ ],
291
+ [
292
+ "8",
293
+ "width"
294
+ ],
295
+ [
296
+ "8",
297
+ "height"
298
+ ],
299
+ [
300
+ "10",
301
+ "steps"
302
+ ],
303
+ [
304
+ "10",
305
+ "cfg"
306
+ ]
307
+ ],
308
+ "cnr_id": "comfy-core",
309
+ "ver": "0.16.4"
310
+ },
311
+ "widgets_values": [],
312
+ "title": "JoyImage Edit Plus"
313
+ },
314
+ {
315
+ "id": 9,
316
+ "type": "SaveImage",
317
+ "pos": [
318
+ 250,
319
+ -370
320
+ ],
321
+ "size": [
322
+ 580,
323
+ 410
324
+ ],
325
+ "flags": {},
326
+ "order": 11,
327
+ "mode": 0,
328
+ "inputs": [
329
+ {
330
+ "name": "images",
331
+ "type": "IMAGE",
332
+ "link": 500
333
+ },
334
+ {
335
+ "name": "filename_prefix",
336
+ "type": "STRING",
337
+ "widget": {
338
+ "name": "filename_prefix"
339
+ },
340
+ "link": null
341
+ }
342
+ ],
343
+ "outputs": [
344
+ {
345
+ "name": "IMAGE",
346
+ "type": "IMAGE",
347
+ "links": null
348
+ }
349
+ ],
350
+ "properties": {
351
+ "Node name for S&R": "SaveImage",
352
+ "cnr_id": "comfy-core",
353
+ "ver": "0.5.1"
354
+ },
355
+ "widgets_values": [
356
+ "JoyAI_ImageEditPlus"
357
+ ]
358
+ }
359
+ ],
360
+ "links": [
361
+ [
362
+ 376,
363
+ 41,
364
+ 0,
365
+ 170,
366
+ 0,
367
+ "IMAGE"
368
+ ],
369
+ [
370
+ 377,
371
+ 83,
372
+ 0,
373
+ 170,
374
+ 1,
375
+ "IMAGE"
376
+ ],
377
+ [
378
+ 500,
379
+ 170,
380
+ 0,
381
+ 9,
382
+ 0,
383
+ "IMAGE"
384
+ ]
385
+ ],
386
+ "groups": [],
387
+ "definitions": {
388
+ "subgraphs": [
389
+ {
390
+ "id": "bb58ce2c-6d67-4a94-9e83-6ab0b5f66b70",
391
+ "version": 1,
392
+ "state": {
393
+ "lastGroupId": 3,
394
+ "lastNodeId": 11,
395
+ "lastLinkId": 233,
396
+ "lastRerouteId": 0
397
+ },
398
+ "revision": 0,
399
+ "config": {},
400
+ "name": "JoyImage Edit Plus",
401
+ "inputNode": {
402
+ "id": -10,
403
+ "bounding": [
404
+ -1620,
405
+ 2950,
406
+ 159.744140625,
407
+ 320
408
+ ]
409
+ },
410
+ "outputNode": {
411
+ "id": -20,
412
+ "bounding": [
413
+ 720,
414
+ 2690,
415
+ 128,
416
+ 68
417
+ ]
418
+ },
419
+ "inputs": [
420
+ {
421
+ "id": "image1",
422
+ "name": "image1",
423
+ "type": "IMAGE",
424
+ "linkIds": [
425
+ 222,
426
+ 223
427
+ ],
428
+ "pos": [
429
+ -1484.255859375,
430
+ 2974
431
+ ],
432
+ "label": "image1",
433
+ "shape": 7
434
+ },
435
+ {
436
+ "id": "image2",
437
+ "name": "image2",
438
+ "type": "IMAGE",
439
+ "linkIds": [
440
+ 224,
441
+ 225
442
+ ],
443
+ "pos": [
444
+ -1484.255859375,
445
+ 2994
446
+ ],
447
+ "label": "image2",
448
+ "shape": 7
449
+ },
450
+ {
451
+ "id": "image3",
452
+ "name": "image3",
453
+ "type": "IMAGE",
454
+ "linkIds": [
455
+ 226,
456
+ 227
457
+ ],
458
+ "pos": [
459
+ -1484.255859375,
460
+ 3014
461
+ ],
462
+ "label": "image3",
463
+ "shape": 7
464
+ },
465
+ {
466
+ "id": "image4",
467
+ "name": "image4",
468
+ "type": "IMAGE",
469
+ "linkIds": [
470
+ 228,
471
+ 229
472
+ ],
473
+ "pos": [
474
+ -1484.255859375,
475
+ 3034
476
+ ],
477
+ "label": "image4",
478
+ "shape": 7
479
+ },
480
+ {
481
+ "id": "image5",
482
+ "name": "image5",
483
+ "type": "IMAGE",
484
+ "linkIds": [
485
+ 230,
486
+ 231
487
+ ],
488
+ "pos": [
489
+ -1484.255859375,
490
+ 3054
491
+ ],
492
+ "label": "image5",
493
+ "shape": 7
494
+ },
495
+ {
496
+ "id": "image6",
497
+ "name": "image6",
498
+ "type": "IMAGE",
499
+ "linkIds": [
500
+ 232,
501
+ 233
502
+ ],
503
+ "pos": [
504
+ -1484.255859375,
505
+ 3074
506
+ ],
507
+ "label": "image6",
508
+ "shape": 7
509
+ },
510
+ {
511
+ "id": "prompt",
512
+ "name": "prompt",
513
+ "type": "STRING",
514
+ "linkIds": [
515
+ 212
516
+ ],
517
+ "pos": [
518
+ -1484.255859375,
519
+ 3094
520
+ ],
521
+ "label": "positive_prompt"
522
+ },
523
+ {
524
+ "id": "negative",
525
+ "name": "negative_prompt",
526
+ "type": "STRING",
527
+ "linkIds": [
528
+ 213
529
+ ],
530
+ "pos": [
531
+ -1484.255859375,
532
+ 3114
533
+ ],
534
+ "label": "negative_prompt"
535
+ },
536
+ {
537
+ "id": "unet",
538
+ "name": "unet_name",
539
+ "type": "COMBO",
540
+ "linkIds": [
541
+ 214
542
+ ],
543
+ "pos": [
544
+ -1484.255859375,
545
+ 3134
546
+ ]
547
+ },
548
+ {
549
+ "id": "clip",
550
+ "name": "clip_name",
551
+ "type": "COMBO",
552
+ "linkIds": [
553
+ 215
554
+ ],
555
+ "pos": [
556
+ -1484.255859375,
557
+ 3154
558
+ ]
559
+ },
560
+ {
561
+ "id": "vae",
562
+ "name": "vae_name",
563
+ "type": "COMBO",
564
+ "linkIds": [
565
+ 216
566
+ ],
567
+ "pos": [
568
+ -1484.255859375,
569
+ 3174
570
+ ]
571
+ },
572
+ {
573
+ "id": "seed",
574
+ "name": "seed",
575
+ "type": "INT",
576
+ "linkIds": [
577
+ 217
578
+ ],
579
+ "pos": [
580
+ -1484.255859375,
581
+ 3194
582
+ ]
583
+ },
584
+ {
585
+ "id": "width",
586
+ "name": "width",
587
+ "type": "INT",
588
+ "linkIds": [
589
+ 218
590
+ ],
591
+ "pos": [
592
+ -1484.255859375,
593
+ 3214
594
+ ]
595
+ },
596
+ {
597
+ "id": "height",
598
+ "name": "height",
599
+ "type": "INT",
600
+ "linkIds": [
601
+ 219
602
+ ],
603
+ "pos": [
604
+ -1484.255859375,
605
+ 3234
606
+ ]
607
+ },
608
+ {
609
+ "id": "steps",
610
+ "name": "steps",
611
+ "type": "INT",
612
+ "linkIds": [
613
+ 220
614
+ ],
615
+ "pos": [
616
+ -1484.255859375,
617
+ 3254
618
+ ]
619
+ },
620
+ {
621
+ "id": "cfg",
622
+ "name": "cfg",
623
+ "type": "FLOAT",
624
+ "linkIds": [
625
+ 221
626
+ ],
627
+ "pos": [
628
+ -1484.255859375,
629
+ 3274
630
+ ]
631
+ }
632
+ ],
633
+ "outputs": [
634
+ {
635
+ "id": "out",
636
+ "name": "IMAGE",
637
+ "type": "IMAGE",
638
+ "linkIds": [
639
+ 211
640
+ ],
641
+ "localized_name": "IMAGE",
642
+ "pos": [
643
+ 720,
644
+ 2714
645
+ ]
646
+ }
647
+ ],
648
+ "widgets": [],
649
+ "nodes": [
650
+ {
651
+ "id": 3,
652
+ "type": "UNETLoader",
653
+ "pos": [
654
+ -1080,
655
+ 2700
656
+ ],
657
+ "size": [
658
+ 400,
659
+ 136
660
+ ],
661
+ "flags": {},
662
+ "order": 1,
663
+ "mode": 0,
664
+ "inputs": [
665
+ {
666
+ "name": "unet_name",
667
+ "type": "COMBO",
668
+ "widget": {
669
+ "name": "unet_name"
670
+ },
671
+ "link": 214
672
+ },
673
+ {
674
+ "name": "weight_dtype",
675
+ "type": "COMBO",
676
+ "widget": {
677
+ "name": "weight_dtype"
678
+ },
679
+ "link": null
680
+ }
681
+ ],
682
+ "outputs": [
683
+ {
684
+ "name": "MODEL",
685
+ "type": "MODEL",
686
+ "links": [
687
+ 201
688
+ ]
689
+ }
690
+ ],
691
+ "properties": {
692
+ "Node name for S&R": "UNETLoader",
693
+ "cnr_id": "comfy-core",
694
+ "ver": "0.5.1"
695
+ },
696
+ "widgets_values": [
697
+ "joyai_image_edit_plus_bf16.safetensors",
698
+ "default"
699
+ ]
700
+ },
701
+ {
702
+ "id": 4,
703
+ "type": "CLIPLoader",
704
+ "pos": [
705
+ -1080,
706
+ 2900
707
+ ],
708
+ "size": [
709
+ 400,
710
+ 168
711
+ ],
712
+ "flags": {},
713
+ "order": 2,
714
+ "mode": 0,
715
+ "inputs": [
716
+ {
717
+ "name": "clip_name",
718
+ "type": "COMBO",
719
+ "widget": {
720
+ "name": "clip_name"
721
+ },
722
+ "link": 215
723
+ },
724
+ {
725
+ "name": "type",
726
+ "type": "COMBO",
727
+ "widget": {
728
+ "name": "type"
729
+ },
730
+ "link": null
731
+ },
732
+ {
733
+ "name": "device",
734
+ "shape": 7,
735
+ "type": "COMBO",
736
+ "widget": {
737
+ "name": "device"
738
+ },
739
+ "link": null
740
+ }
741
+ ],
742
+ "outputs": [
743
+ {
744
+ "name": "CLIP",
745
+ "type": "CLIP",
746
+ "links": [
747
+ 202,
748
+ 203
749
+ ]
750
+ }
751
+ ],
752
+ "properties": {
753
+ "Node name for S&R": "CLIPLoader",
754
+ "cnr_id": "comfy-core",
755
+ "ver": "0.5.1"
756
+ },
757
+ "widgets_values": [
758
+ "qwen3vl_8b_joyimage_edit_plus_bf16.safetensors",
759
+ "joyimage",
760
+ "default"
761
+ ]
762
+ },
763
+ {
764
+ "id": 5,
765
+ "type": "VAELoader",
766
+ "pos": [
767
+ -1080,
768
+ 3160
769
+ ],
770
+ "size": [
771
+ 400,
772
+ 110
773
+ ],
774
+ "flags": {},
775
+ "order": 3,
776
+ "mode": 0,
777
+ "inputs": [
778
+ {
779
+ "name": "vae_name",
780
+ "type": "COMBO",
781
+ "widget": {
782
+ "name": "vae_name"
783
+ },
784
+ "link": 216
785
+ }
786
+ ],
787
+ "outputs": [
788
+ {
789
+ "name": "VAE",
790
+ "type": "VAE",
791
+ "links": [
792
+ 204,
793
+ 205,
794
+ 206
795
+ ]
796
+ }
797
+ ],
798
+ "properties": {
799
+ "Node name for S&R": "VAELoader",
800
+ "cnr_id": "comfy-core",
801
+ "ver": "0.5.1"
802
+ },
803
+ "widgets_values": [
804
+ "wan_2.1_vae.safetensors"
805
+ ]
806
+ },
807
+ {
808
+ "id": 6,
809
+ "type": "TextEncodeJoyImageEdit",
810
+ "pos": [
811
+ -580,
812
+ 2700
813
+ ],
814
+ "size": [
815
+ 440,
816
+ 360
817
+ ],
818
+ "flags": {},
819
+ "order": 6,
820
+ "mode": 0,
821
+ "inputs": [
822
+ {
823
+ "name": "clip",
824
+ "type": "CLIP",
825
+ "link": 202
826
+ },
827
+ {
828
+ "name": "vae",
829
+ "shape": 7,
830
+ "type": "VAE",
831
+ "link": 204
832
+ },
833
+ {
834
+ "label": "image1",
835
+ "localized_name": "images.image0",
836
+ "name": "images.image0",
837
+ "shape": 7,
838
+ "type": "IMAGE",
839
+ "link": 222
840
+ },
841
+ {
842
+ "label": "image2",
843
+ "localized_name": "images.image1",
844
+ "name": "images.image1",
845
+ "shape": 7,
846
+ "type": "IMAGE",
847
+ "link": 224
848
+ },
849
+ {
850
+ "label": "image3",
851
+ "localized_name": "images.image2",
852
+ "name": "images.image2",
853
+ "shape": 7,
854
+ "type": "IMAGE",
855
+ "link": 226
856
+ },
857
+ {
858
+ "label": "image4",
859
+ "localized_name": "images.image3",
860
+ "name": "images.image3",
861
+ "shape": 7,
862
+ "type": "IMAGE",
863
+ "link": 228
864
+ },
865
+ {
866
+ "label": "image5",
867
+ "localized_name": "images.image4",
868
+ "name": "images.image4",
869
+ "shape": 7,
870
+ "type": "IMAGE",
871
+ "link": 230
872
+ },
873
+ {
874
+ "label": "image6",
875
+ "localized_name": "images.image5",
876
+ "name": "images.image5",
877
+ "shape": 7,
878
+ "type": "IMAGE",
879
+ "link": 232
880
+ },
881
+ {
882
+ "localized_name": "prompt",
883
+ "name": "prompt",
884
+ "type": "STRING",
885
+ "widget": {
886
+ "name": "prompt"
887
+ },
888
+ "link": 212
889
+ }
890
+ ],
891
+ "outputs": [
892
+ {
893
+ "localized_name": "CONDITIONING",
894
+ "name": "CONDITIONING",
895
+ "type": "CONDITIONING",
896
+ "links": [
897
+ 207
898
+ ]
899
+ }
900
+ ],
901
+ "title": "Positive",
902
+ "properties": {
903
+ "Node name for S&R": "TextEncodeJoyImageEdit",
904
+ "cnr_id": "comfy-core",
905
+ "ver": "0.3.50"
906
+ },
907
+ "widgets_values": [
908
+ "The woman is lovingly holding the cute puppy in her arms"
909
+ ]
910
+ },
911
+ {
912
+ "id": 7,
913
+ "type": "TextEncodeJoyImageEdit",
914
+ "pos": [
915
+ -580,
916
+ 3060
917
+ ],
918
+ "size": [
919
+ 440,
920
+ 360
921
+ ],
922
+ "flags": {},
923
+ "order": 7,
924
+ "mode": 0,
925
+ "inputs": [
926
+ {
927
+ "name": "clip",
928
+ "type": "CLIP",
929
+ "link": 203
930
+ },
931
+ {
932
+ "name": "vae",
933
+ "shape": 7,
934
+ "type": "VAE",
935
+ "link": 205
936
+ },
937
+ {
938
+ "label": "image1",
939
+ "localized_name": "images.image0",
940
+ "name": "images.image0",
941
+ "shape": 7,
942
+ "type": "IMAGE",
943
+ "link": 223
944
+ },
945
+ {
946
+ "label": "image2",
947
+ "localized_name": "images.image1",
948
+ "name": "images.image1",
949
+ "shape": 7,
950
+ "type": "IMAGE",
951
+ "link": 225
952
+ },
953
+ {
954
+ "label": "image3",
955
+ "localized_name": "images.image2",
956
+ "name": "images.image2",
957
+ "shape": 7,
958
+ "type": "IMAGE",
959
+ "link": 227
960
+ },
961
+ {
962
+ "label": "image4",
963
+ "localized_name": "images.image3",
964
+ "name": "images.image3",
965
+ "shape": 7,
966
+ "type": "IMAGE",
967
+ "link": 229
968
+ },
969
+ {
970
+ "label": "image5",
971
+ "localized_name": "images.image4",
972
+ "name": "images.image4",
973
+ "shape": 7,
974
+ "type": "IMAGE",
975
+ "link": 231
976
+ },
977
+ {
978
+ "label": "image6",
979
+ "localized_name": "images.image5",
980
+ "name": "images.image5",
981
+ "shape": 7,
982
+ "type": "IMAGE",
983
+ "link": 233
984
+ },
985
+ {
986
+ "localized_name": "prompt",
987
+ "name": "prompt",
988
+ "type": "STRING",
989
+ "widget": {
990
+ "name": "prompt"
991
+ },
992
+ "link": 213
993
+ }
994
+ ],
995
+ "outputs": [
996
+ {
997
+ "localized_name": "CONDITIONING",
998
+ "name": "CONDITIONING",
999
+ "type": "CONDITIONING",
1000
+ "links": [
1001
+ 208
1002
+ ]
1003
+ }
1004
+ ],
1005
+ "title": "Negative",
1006
+ "properties": {
1007
+ "Node name for S&R": "TextEncodeJoyImageEdit",
1008
+ "cnr_id": "comfy-core",
1009
+ "ver": "0.3.50"
1010
+ },
1011
+ "widgets_values": [
1012
+ ""
1013
+ ]
1014
+ },
1015
+ {
1016
+ "id": 8,
1017
+ "type": "EmptySD3LatentImage",
1018
+ "pos": [
1019
+ -580,
1020
+ 3460
1021
+ ],
1022
+ "size": [
1023
+ 320,
1024
+ 130
1025
+ ],
1026
+ "flags": {},
1027
+ "order": 8,
1028
+ "mode": 0,
1029
+ "inputs": [
1030
+ {
1031
+ "name": "width",
1032
+ "type": "INT",
1033
+ "widget": {
1034
+ "name": "width"
1035
+ },
1036
+ "link": 218
1037
+ },
1038
+ {
1039
+ "name": "height",
1040
+ "type": "INT",
1041
+ "widget": {
1042
+ "name": "height"
1043
+ },
1044
+ "link": 219
1045
+ },
1046
+ {
1047
+ "name": "batch_size",
1048
+ "type": "INT",
1049
+ "widget": {
1050
+ "name": "batch_size"
1051
+ },
1052
+ "link": null
1053
+ }
1054
+ ],
1055
+ "outputs": [
1056
+ {
1057
+ "name": "LATENT",
1058
+ "type": "LATENT",
1059
+ "links": [
1060
+ 209
1061
+ ]
1062
+ }
1063
+ ],
1064
+ "properties": {
1065
+ "Node name for S&R": "EmptySD3LatentImage",
1066
+ "cnr_id": "comfy-core",
1067
+ "ver": "0.3.50"
1068
+ },
1069
+ "widgets_values": [
1070
+ 1024,
1071
+ 1024,
1072
+ 1
1073
+ ],
1074
+ "title": "Output latent"
1075
+ },
1076
+ {
1077
+ "id": 10,
1078
+ "type": "KSampler",
1079
+ "pos": [
1080
+ 80,
1081
+ 2700
1082
+ ],
1083
+ "size": [
1084
+ 300,
1085
+ 474
1086
+ ],
1087
+ "flags": {},
1088
+ "order": 9,
1089
+ "mode": 0,
1090
+ "inputs": [
1091
+ {
1092
+ "localized_name": "model",
1093
+ "name": "model",
1094
+ "type": "MODEL",
1095
+ "link": 201
1096
+ },
1097
+ {
1098
+ "localized_name": "positive",
1099
+ "name": "positive",
1100
+ "type": "CONDITIONING",
1101
+ "link": 207
1102
+ },
1103
+ {
1104
+ "localized_name": "negative",
1105
+ "name": "negative",
1106
+ "type": "CONDITIONING",
1107
+ "link": 208
1108
+ },
1109
+ {
1110
+ "localized_name": "latent_image",
1111
+ "name": "latent_image",
1112
+ "type": "LATENT",
1113
+ "link": 209
1114
+ },
1115
+ {
1116
+ "localized_name": "seed",
1117
+ "name": "seed",
1118
+ "type": "INT",
1119
+ "widget": {
1120
+ "name": "seed"
1121
+ },
1122
+ "link": 217
1123
+ },
1124
+ {
1125
+ "localized_name": "steps",
1126
+ "name": "steps",
1127
+ "type": "INT",
1128
+ "widget": {
1129
+ "name": "steps"
1130
+ },
1131
+ "link": 220
1132
+ },
1133
+ {
1134
+ "localized_name": "cfg",
1135
+ "name": "cfg",
1136
+ "type": "FLOAT",
1137
+ "widget": {
1138
+ "name": "cfg"
1139
+ },
1140
+ "link": 221
1141
+ },
1142
+ {
1143
+ "localized_name": "sampler_name",
1144
+ "name": "sampler_name",
1145
+ "type": "COMBO",
1146
+ "widget": {
1147
+ "name": "sampler_name"
1148
+ },
1149
+ "link": null
1150
+ },
1151
+ {
1152
+ "localized_name": "scheduler",
1153
+ "name": "scheduler",
1154
+ "type": "COMBO",
1155
+ "widget": {
1156
+ "name": "scheduler"
1157
+ },
1158
+ "link": null
1159
+ },
1160
+ {
1161
+ "localized_name": "denoise",
1162
+ "name": "denoise",
1163
+ "type": "FLOAT",
1164
+ "widget": {
1165
+ "name": "denoise"
1166
+ },
1167
+ "link": null
1168
+ }
1169
+ ],
1170
+ "outputs": [
1171
+ {
1172
+ "localized_name": "LATENT",
1173
+ "name": "LATENT",
1174
+ "type": "LATENT",
1175
+ "links": [
1176
+ 210
1177
+ ]
1178
+ }
1179
+ ],
1180
+ "properties": {
1181
+ "Node name for S&R": "KSampler",
1182
+ "cnr_id": "comfy-core",
1183
+ "ver": "0.5.1"
1184
+ },
1185
+ "widgets_values": [
1186
+ 42,
1187
+ "fixed",
1188
+ 30,
1189
+ 4.0,
1190
+ "euler",
1191
+ "simple",
1192
+ 1
1193
+ ]
1194
+ },
1195
+ {
1196
+ "id": 11,
1197
+ "type": "VAEDecode",
1198
+ "pos": [
1199
+ 440,
1200
+ 2700
1201
+ ],
1202
+ "size": [
1203
+ 230,
1204
+ 100
1205
+ ],
1206
+ "flags": {},
1207
+ "order": 10,
1208
+ "mode": 0,
1209
+ "inputs": [
1210
+ {
1211
+ "localized_name": "samples",
1212
+ "name": "samples",
1213
+ "type": "LATENT",
1214
+ "link": 210
1215
+ },
1216
+ {
1217
+ "localized_name": "vae",
1218
+ "name": "vae",
1219
+ "type": "VAE",
1220
+ "link": 206
1221
+ }
1222
+ ],
1223
+ "outputs": [
1224
+ {
1225
+ "name": "IMAGE",
1226
+ "type": "IMAGE",
1227
+ "links": [
1228
+ 211
1229
+ ]
1230
+ }
1231
+ ],
1232
+ "properties": {
1233
+ "Node name for S&R": "VAEDecode",
1234
+ "cnr_id": "comfy-core",
1235
+ "ver": "0.5.1"
1236
+ },
1237
+ "widgets_values": []
1238
+ }
1239
+ ],
1240
+ "groups": [
1241
+ {
1242
+ "id": 1,
1243
+ "title": "Models",
1244
+ "bounding": [
1245
+ -1110,
1246
+ 2580,
1247
+ 460,
1248
+ 720
1249
+ ],
1250
+ "color": "#3f789e",
1251
+ "flags": {}
1252
+ },
1253
+ {
1254
+ "id": 2,
1255
+ "title": "Prompt",
1256
+ "bounding": [
1257
+ -620,
1258
+ 2580,
1259
+ 520,
1260
+ 900
1261
+ ],
1262
+ "color": "#3f789e",
1263
+ "flags": {}
1264
+ },
1265
+ {
1266
+ "id": 3,
1267
+ "title": "Sample",
1268
+ "bounding": [
1269
+ 40,
1270
+ 2580,
1271
+ 660,
1272
+ 720
1273
+ ],
1274
+ "color": "#3f789e",
1275
+ "flags": {}
1276
+ }
1277
+ ],
1278
+ "links": [
1279
+ {
1280
+ "id": 201,
1281
+ "origin_id": 3,
1282
+ "origin_slot": 0,
1283
+ "target_id": 10,
1284
+ "target_slot": 0,
1285
+ "type": "MODEL"
1286
+ },
1287
+ {
1288
+ "id": 202,
1289
+ "origin_id": 4,
1290
+ "origin_slot": 0,
1291
+ "target_id": 6,
1292
+ "target_slot": 0,
1293
+ "type": "CLIP"
1294
+ },
1295
+ {
1296
+ "id": 203,
1297
+ "origin_id": 4,
1298
+ "origin_slot": 0,
1299
+ "target_id": 7,
1300
+ "target_slot": 0,
1301
+ "type": "CLIP"
1302
+ },
1303
+ {
1304
+ "id": 204,
1305
+ "origin_id": 5,
1306
+ "origin_slot": 0,
1307
+ "target_id": 6,
1308
+ "target_slot": 1,
1309
+ "type": "VAE"
1310
+ },
1311
+ {
1312
+ "id": 205,
1313
+ "origin_id": 5,
1314
+ "origin_slot": 0,
1315
+ "target_id": 7,
1316
+ "target_slot": 1,
1317
+ "type": "VAE"
1318
+ },
1319
+ {
1320
+ "id": 206,
1321
+ "origin_id": 5,
1322
+ "origin_slot": 0,
1323
+ "target_id": 11,
1324
+ "target_slot": 1,
1325
+ "type": "VAE"
1326
+ },
1327
+ {
1328
+ "id": 207,
1329
+ "origin_id": 6,
1330
+ "origin_slot": 0,
1331
+ "target_id": 10,
1332
+ "target_slot": 1,
1333
+ "type": "CONDITIONING"
1334
+ },
1335
+ {
1336
+ "id": 208,
1337
+ "origin_id": 7,
1338
+ "origin_slot": 0,
1339
+ "target_id": 10,
1340
+ "target_slot": 2,
1341
+ "type": "CONDITIONING"
1342
+ },
1343
+ {
1344
+ "id": 209,
1345
+ "origin_id": 8,
1346
+ "origin_slot": 0,
1347
+ "target_id": 10,
1348
+ "target_slot": 3,
1349
+ "type": "LATENT"
1350
+ },
1351
+ {
1352
+ "id": 210,
1353
+ "origin_id": 10,
1354
+ "origin_slot": 0,
1355
+ "target_id": 11,
1356
+ "target_slot": 0,
1357
+ "type": "LATENT"
1358
+ },
1359
+ {
1360
+ "id": 211,
1361
+ "origin_id": 11,
1362
+ "origin_slot": 0,
1363
+ "target_id": -20,
1364
+ "target_slot": 0,
1365
+ "type": "IMAGE"
1366
+ },
1367
+ {
1368
+ "id": 212,
1369
+ "origin_id": -10,
1370
+ "origin_slot": 6,
1371
+ "target_id": 6,
1372
+ "target_slot": 8,
1373
+ "type": "STRING"
1374
+ },
1375
+ {
1376
+ "id": 213,
1377
+ "origin_id": -10,
1378
+ "origin_slot": 7,
1379
+ "target_id": 7,
1380
+ "target_slot": 8,
1381
+ "type": "STRING"
1382
+ },
1383
+ {
1384
+ "id": 214,
1385
+ "origin_id": -10,
1386
+ "origin_slot": 8,
1387
+ "target_id": 3,
1388
+ "target_slot": 0,
1389
+ "type": "COMBO"
1390
+ },
1391
+ {
1392
+ "id": 215,
1393
+ "origin_id": -10,
1394
+ "origin_slot": 9,
1395
+ "target_id": 4,
1396
+ "target_slot": 0,
1397
+ "type": "COMBO"
1398
+ },
1399
+ {
1400
+ "id": 216,
1401
+ "origin_id": -10,
1402
+ "origin_slot": 10,
1403
+ "target_id": 5,
1404
+ "target_slot": 0,
1405
+ "type": "COMBO"
1406
+ },
1407
+ {
1408
+ "id": 217,
1409
+ "origin_id": -10,
1410
+ "origin_slot": 11,
1411
+ "target_id": 10,
1412
+ "target_slot": 4,
1413
+ "type": "INT"
1414
+ },
1415
+ {
1416
+ "id": 218,
1417
+ "origin_id": -10,
1418
+ "origin_slot": 12,
1419
+ "target_id": 8,
1420
+ "target_slot": 0,
1421
+ "type": "INT"
1422
+ },
1423
+ {
1424
+ "id": 219,
1425
+ "origin_id": -10,
1426
+ "origin_slot": 13,
1427
+ "target_id": 8,
1428
+ "target_slot": 1,
1429
+ "type": "INT"
1430
+ },
1431
+ {
1432
+ "id": 220,
1433
+ "origin_id": -10,
1434
+ "origin_slot": 14,
1435
+ "target_id": 10,
1436
+ "target_slot": 5,
1437
+ "type": "INT"
1438
+ },
1439
+ {
1440
+ "id": 221,
1441
+ "origin_id": -10,
1442
+ "origin_slot": 15,
1443
+ "target_id": 10,
1444
+ "target_slot": 6,
1445
+ "type": "FLOAT"
1446
+ },
1447
+ {
1448
+ "id": 222,
1449
+ "origin_id": -10,
1450
+ "origin_slot": 0,
1451
+ "target_id": 6,
1452
+ "target_slot": 2,
1453
+ "type": "IMAGE"
1454
+ },
1455
+ {
1456
+ "id": 223,
1457
+ "origin_id": -10,
1458
+ "origin_slot": 0,
1459
+ "target_id": 7,
1460
+ "target_slot": 2,
1461
+ "type": "IMAGE"
1462
+ },
1463
+ {
1464
+ "id": 224,
1465
+ "origin_id": -10,
1466
+ "origin_slot": 1,
1467
+ "target_id": 6,
1468
+ "target_slot": 3,
1469
+ "type": "IMAGE"
1470
+ },
1471
+ {
1472
+ "id": 225,
1473
+ "origin_id": -10,
1474
+ "origin_slot": 1,
1475
+ "target_id": 7,
1476
+ "target_slot": 3,
1477
+ "type": "IMAGE"
1478
+ },
1479
+ {
1480
+ "id": 226,
1481
+ "origin_id": -10,
1482
+ "origin_slot": 2,
1483
+ "target_id": 6,
1484
+ "target_slot": 4,
1485
+ "type": "IMAGE"
1486
+ },
1487
+ {
1488
+ "id": 227,
1489
+ "origin_id": -10,
1490
+ "origin_slot": 2,
1491
+ "target_id": 7,
1492
+ "target_slot": 4,
1493
+ "type": "IMAGE"
1494
+ },
1495
+ {
1496
+ "id": 228,
1497
+ "origin_id": -10,
1498
+ "origin_slot": 3,
1499
+ "target_id": 6,
1500
+ "target_slot": 5,
1501
+ "type": "IMAGE"
1502
+ },
1503
+ {
1504
+ "id": 229,
1505
+ "origin_id": -10,
1506
+ "origin_slot": 3,
1507
+ "target_id": 7,
1508
+ "target_slot": 5,
1509
+ "type": "IMAGE"
1510
+ },
1511
+ {
1512
+ "id": 230,
1513
+ "origin_id": -10,
1514
+ "origin_slot": 4,
1515
+ "target_id": 6,
1516
+ "target_slot": 6,
1517
+ "type": "IMAGE"
1518
+ },
1519
+ {
1520
+ "id": 231,
1521
+ "origin_id": -10,
1522
+ "origin_slot": 4,
1523
+ "target_id": 7,
1524
+ "target_slot": 6,
1525
+ "type": "IMAGE"
1526
+ },
1527
+ {
1528
+ "id": 232,
1529
+ "origin_id": -10,
1530
+ "origin_slot": 5,
1531
+ "target_id": 6,
1532
+ "target_slot": 7,
1533
+ "type": "IMAGE"
1534
+ },
1535
+ {
1536
+ "id": 233,
1537
+ "origin_id": -10,
1538
+ "origin_slot": 5,
1539
+ "target_id": 7,
1540
+ "target_slot": 7,
1541
+ "type": "IMAGE"
1542
+ }
1543
+ ],
1544
+ "extra": {
1545
+ "workflowRendererVersion": "LG"
1546
+ }
1547
+ }
1548
+ ]
1549
+ },
1550
+ "config": {},
1551
+ "extra": {
1552
+ "ds": {
1553
+ "scale": 0.75,
1554
+ "offset": [
1555
+ 500,
1556
+ 250
1557
+ ]
1558
+ },
1559
+ "frontendVersion": "1.41.16",
1560
+ "workflowRendererVersion": "LG"
1561
+ },
1562
+ "version": 0.4
1563
+ }