Image-Text-to-Image
Diffusers
Safetensors
GGUF
English
Chinese
ggml
quantized
unsloth
qwen
lora
psd
photoshop
image-decomposition
Instructions to use Rushikesh1907/Image_Layered with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Local Apps Settings
- Unsloth Desktop
Update README.md
Browse files
README.md
CHANGED
|
@@ -16,10 +16,6 @@ tags:
|
|
| 16 |
- psd
|
| 17 |
- photoshop
|
| 18 |
- image-decomposition
|
| 19 |
-
widget:
|
| 20 |
-
- text: sloth cartoon final decomposed layer
|
| 21 |
-
output:
|
| 22 |
-
url: assets/sloth_3.png
|
| 23 |
---
|
| 24 |
|
| 25 |
> [!NOTE]
|
|
@@ -28,7 +24,6 @@ widget:
|
|
| 28 |
> - **End-to-End PSD Packaging**: Bundled with a packaging pipeline that exports generated layers directly into a multi-layer Adobe Photoshop (`.psd`) file.
|
| 29 |
> - **GGUF Quantization & Web Studio**: Optimized with [Unsloth Dynamic 2.0](https://docs.unsloth.ai/basics/unsloth-dynamic-2.0-ggufs) GGUFs for lightweight local inference, accompanied by a local **Layer Studio** web UI.
|
| 30 |
|
| 31 |
-
|
| 32 |
<div>
|
| 33 |
<div style="display: flex; gap: 5px; align-items: center; ">
|
| 34 |
<a href="https://github.com/unslothai/unsloth/">
|
|
@@ -43,30 +38,18 @@ widget:
|
|
| 43 |
</div>
|
| 44 |
</div>
|
| 45 |
|
| 46 |
-
### Sample
|
| 47 |
-
|
| 48 |
-
<table>
|
| 49 |
-
<tr>
|
| 50 |
-
<td><img src="assets/sloth_main.png" width="200"></td>
|
| 51 |
-
<td><img src="assets/sloth_1.png" width="200"></td>
|
| 52 |
-
</tr>
|
| 53 |
-
<tr>
|
| 54 |
-
<td><img src="assets/sloth_2.png" width="200"></td>
|
| 55 |
-
<td><img src="assets/sloth_3.png" width="200"></td>
|
| 56 |
-
</tr>
|
| 57 |
-
</table>
|
| 58 |
-
|
| 59 |
-
|
| 60 |
---
|
|
|
|
| 61 |
<p align="center">
|
| 62 |
-
<img src="https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-Image/layered/
|
| 63 |
-
<p>
|
| 64 |
-
<p align="center">  🤗 <a href="https://huggingface.co/Qwen/Qwen-Image-Layered">HuggingFace</a>   |   🤖 <a href="https://modelscope.cn/models/Qwen/Qwen-Image-Layered">ModelScope</a>   |    📑 <a href="https://arxiv.org/abs/2512.15603">Research Paper</a>    |    📑 <a href="https://qwenlm.github.io/blog/qwen-image-layered/">Blog</a>    |    🤗 <a href="https://huggingface.co/spaces/Qwen/Qwen-Image-Layered">Demo</a>   
|
| 65 |
</p>
|
| 66 |
|
| 67 |
<p align="center">
|
| 68 |
-
|
| 69 |
-
<
|
|
|
|
|
|
|
|
|
|
| 70 |
|
| 71 |
## Introduction
|
| 72 |
|
|
@@ -109,7 +92,7 @@ pipeline = pipeline.to("cuda")
|
|
| 109 |
# (Optional) Load custom designer LoRA adapter
|
| 110 |
# pipeline.load_lora_weights("path/to/designer-lora")
|
| 111 |
|
| 112 |
-
image = Image.open("
|
| 113 |
inputs = {
|
| 114 |
"image": image,
|
| 115 |
"generator": torch.Generator(device='cuda').manual_seed(42),
|
|
@@ -142,40 +125,22 @@ python package_psd.py --composite source.png --layers layer_00.png layer_01.png
|
|
| 142 |
|
| 143 |
---
|
| 144 |
|
| 145 |
-
##
|
| 146 |
-
### Layered Decomposition in Application
|
| 147 |
-
Given an image, Qwen-Image-Layered can decompose it into several RGBA layers:
|
| 148 |
-

|
| 149 |
-
|
| 150 |
-
After decomposition, edits are applied exclusively to the target layer, physically isolating it from the rest of the content, and thereby fundamentally ensuring consistency across edits.
|
| 151 |
-
|
| 152 |
-
For example, we can recolor the first layer and keep all other content untouched:
|
| 153 |
-

|
| 154 |
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
We can also resize an object without distortion:
|
| 165 |
-

|
| 166 |
-
|
| 167 |
-
After layer decomposition, we can move objects freely within the canvas:
|
| 168 |
-

|
| 169 |
|
| 170 |
### Flexible and Iterative Decomposition
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-

|
| 174 |
-
|
| 175 |
-
Moreover, decomposition can be applied recursively: any layer can itself be further decomposed, enabling infinite decomposition.
|
| 176 |
-
|
| 177 |
-

|
| 178 |
|
|
|
|
| 179 |
|
| 180 |
## License Agreement
|
| 181 |
|
|
@@ -183,8 +148,6 @@ Qwen-Image-Layered is licensed under Apache 2.0.
|
|
| 183 |
|
| 184 |
## Citation
|
| 185 |
|
| 186 |
-
We kindly encourage citation of our work if you find it useful.
|
| 187 |
-
|
| 188 |
```bibtex
|
| 189 |
@misc{yin2025qwenimagelayered,
|
| 190 |
title={Qwen-Image-Layered: Towards Inherent Editability via Layer Decomposition},
|
|
|
|
| 16 |
- psd
|
| 17 |
- photoshop
|
| 18 |
- image-decomposition
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
---
|
| 20 |
|
| 21 |
> [!NOTE]
|
|
|
|
| 24 |
> - **End-to-End PSD Packaging**: Bundled with a packaging pipeline that exports generated layers directly into a multi-layer Adobe Photoshop (`.psd`) file.
|
| 25 |
> - **GGUF Quantization & Web Studio**: Optimized with [Unsloth Dynamic 2.0](https://docs.unsloth.ai/basics/unsloth-dynamic-2.0-ggufs) GGUFs for lightweight local inference, accompanied by a local **Layer Studio** web UI.
|
| 26 |
|
|
|
|
| 27 |
<div>
|
| 28 |
<div style="display: flex; gap: 5px; align-items: center; ">
|
| 29 |
<a href="https://github.com/unslothai/unsloth/">
|
|
|
|
| 38 |
</div>
|
| 39 |
</div>
|
| 40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
---
|
| 42 |
+
|
| 43 |
<p align="center">
|
| 44 |
+
<img src="https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-Image/layered/layered.JPG" width="1024"/>
|
|
|
|
|
|
|
| 45 |
</p>
|
| 46 |
|
| 47 |
<p align="center">
|
| 48 |
+
🤗 <a href="https://huggingface.co/Qwen/Qwen-Image-Layered">Original Base Model</a> |
|
| 49 |
+
📑 <a href="https://arxiv.org/abs/2512.15603">Research Paper</a> |
|
| 50 |
+
📑 <a href="https://qwenlm.github.io/blog/qwen-image-layered/">Blog</a> |
|
| 51 |
+
🤗 <a href="https://huggingface.co/spaces/Qwen/Qwen-Image-Layered">Official Demo</a>
|
| 52 |
+
</p>
|
| 53 |
|
| 54 |
## Introduction
|
| 55 |
|
|
|
|
| 92 |
# (Optional) Load custom designer LoRA adapter
|
| 93 |
# pipeline.load_lora_weights("path/to/designer-lora")
|
| 94 |
|
| 95 |
+
image = Image.open("input_design.png").convert("RGBA")
|
| 96 |
inputs = {
|
| 97 |
"image": image,
|
| 98 |
"generator": torch.Generator(device='cuda').manual_seed(42),
|
|
|
|
| 125 |
|
| 126 |
---
|
| 127 |
|
| 128 |
+
## Capabilities
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
|
| 130 |
+
### Layer Decomposition in Application
|
| 131 |
+
Given an input design, the model decomposes it into several RGBA layers:
|
| 132 |
+
- **Independent Manipulation**: Edits can be applied exclusively to targeted layers, physically isolating changes from the rest of the canvas.
|
| 133 |
+
- **Subject & Text Replacement**: Replace specific layer elements (e.g. swap subjects or text) without altering backgrounds.
|
| 134 |
+
- **Recoloring & Styling**: Recolor specific graphics, badges, or backgrounds while preserving unaffected elements.
|
| 135 |
+
- **Elementary Operations**:
|
| 136 |
+
- **Clean Object Removal**: Erase elements cleanly by simply hiding or deleting layers.
|
| 137 |
+
- **Repositioning & Resizing**: Move or resize objects freely on the canvas without distortion or background hole-filling issues.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 138 |
|
| 139 |
### Flexible and Iterative Decomposition
|
| 140 |
+
- **Variable Layer Counts**: Supports decomposing images into arbitrary layer counts (e.g., 2, 4, 6, 8+ layers) depending on complexity.
|
| 141 |
+
- **Recursive Decomposition**: Any decomposed layer can be recursively passed back into the model to break it down further into sub-components.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 142 |
|
| 143 |
+
---
|
| 144 |
|
| 145 |
## License Agreement
|
| 146 |
|
|
|
|
| 148 |
|
| 149 |
## Citation
|
| 150 |
|
|
|
|
|
|
|
| 151 |
```bibtex
|
| 152 |
@misc{yin2025qwenimagelayered,
|
| 153 |
title={Qwen-Image-Layered: Towards Inherent Editability via Layer Decomposition},
|