File size: 4,851 Bytes
6259880 5cc8250 6259880 c749a2d 4b12495 c749a2d 6259880 4b12495 5cc8250 4b12495 5cc8250 4b12495 5cc8250 4b12495 b538ab1 5cc8250 4b12495 5cc8250 4b12495 5cc8250 c749a2d a324fc8 c749a2d a3b8743 5cc8250 a324fc8 cedb79a 4b12495 a324fc8 5cc8250 | 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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | ---
tags:
- comfyui
- image-editing
- joyai
license: apache-2.0
library_name: ComfyUI
pipeline_tag: image-to-image
base_model: jdopensource/JoyAI-Image-Edit-Diffusers
---
# JoyAI-Image-Edit-ComfyUI
Repackaged model files for ComfyUI.
Original model repository: https://huggingface.co/jdopensource/JoyAI-Image-Edit-Diffusers
You can also use the same weight in: https://huggingface.co/Comfy-Org/JoyAI-Image-Edit
Place the files in the following folders:
```
ComfyUI/
`-- models/
|-- diffusion_models/
| |-- joyai_image_edit_bf16.safetensors
| `-- joyai_image_edit_int8_convrot.safetensors
|-- text_encoders/
| |-- qwen3vl_8b_joyimage_edit_bf16.safetensors
| `-- qwen3vl_8b_joyimage_edit_int8_convrot.safetensors
`-- vae/
`-- wan_2.1_vae.safetensors
```
Download directly into `ComfyUI/models/`:
```bash
hf download jdopensource/JoyAI-Image-Edit-ComfyUI \
--local-dir /path/to/ComfyUI/models
```

Workflow: [workflow_joyimage_edit.json](workflow_joyimage_edit.json)
## Spatial Editing Reference
JoyAI-Image supports three spatial editing prompt patterns: **Object Move**, **Object Rotation**, and **Camera Control**. For the most stable behavior, we recommend following the prompt templates below as closely as possible.
For more information (including data curation and evaluation strategies), please refer to [SpatialEdit](https://github.com/EasonXiao-888/SpatialEdit).
### Object Move
Use this pattern when you want to move a target object into a specified region.
**Prompt template:**
```text
Move the <object> into the red box and finally remove the red box.
```
**Rules:**
- Replace `<object>` with a clear description of the target object to be moved.
- The **red box** indicates the target destination in the image.
- The phrase **"finally remove the red box"** means the guidance box should not appear in the final edited result.
**Example:**
```text
Move the apple into the red box and finally remove the red box.
```
### Object Rotation
Use this pattern when you want to rotate an object to a specific canonical view.
**Prompt template:**
```text
Rotate the <object> to show the <view> side view.
```
**Supported `<view>` values:**
```
front, right, left, rear, front right, front left, rear right, rear left
```
**Rules:**
- Replace `<object>` with a clear description of the object to rotate.
- Replace `<view>` with one of the supported directions above.
- This instruction is intended to change the **object orientation**, while keeping the object identity and surrounding scene as consistent as possible.
**Examples:**
```text
Rotate the chair to show the front side view.
Rotate the car to show the rear left side view.
```
### Camera Control
Use this pattern when you want to change only the camera viewpoint while keeping the 3D scene itself unchanged.
**Prompt template:**
```text
Move the camera.
- Camera rotation: Yaw {y_rotation}°, Pitch {p_rotation}°.
- Camera zoom: in/out/unchanged.
- Keep the 3D scene static; only change the viewpoint.
```
**Rules:**
- `{y_rotation}` specifies the yaw rotation angle in degrees.
- `{p_rotation}` specifies the pitch rotation angle in degrees.
- `Camera zoom` must be one of: `in`, `out`,`unchanged`
- The last line is important: it explicitly tells the model to preserve the 3D scene content and geometry, and only adjust the camera viewpoint.
**Examples:**
```text
Move the camera.
- Camera rotation: Yaw 45°, Pitch 0°.
- Camera zoom: in.
- Keep the 3D scene static; only change the viewpoint.
```
```text
Move the camera.
- Camera rotation: Yaw -90°, Pitch 20°.
- Camera zoom: unchanged.
- Keep the 3D scene static; only change the viewpoint.
```
### Application
**3D Reconstruction:**
The first and third examples show point clouds with only a single given viewpoint. The second and fourth examples are augmented by [SpatialEdit](https://github.com/EasonXiao-888/SpatialEdit), which synthesizes richer spatial observations from the sparse input view.
**Conditional-frames Based Video Generation:**
Given the first frame, [SpatialEdit](https://github.com/EasonXiao-888/SpatialEdit) first generates the final frame of the video, and a video generation model then creates a smooth rotational transition between them while maintaining background consistency.
## Links
- Source code and documentation: [github.com/jd-opensource/JoyAI-Image](https://github.com/jd-opensource/JoyAI-Image)
- Original Diffusers-format weights: [jdopensource/JoyAI-Image-Edit-Diffusers](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Diffusers)
- Multi-image edit model for ComfyUI: [jdopensource/JoyAI-Image-Edit-Plus-ComfyUI](https://huggingface.co/jdopensource/JoyAI-Image-Edit-Plus-ComfyUI)
|