diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000000000000000000000000000000000..a5038ec7369f79e48b7cf860274135002384d2ad
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,39 @@
+*.7z filter=lfs diff=lfs merge=lfs -text
+*.arrow filter=lfs diff=lfs merge=lfs -text
+*.bin filter=lfs diff=lfs merge=lfs -text
+*.bz2 filter=lfs diff=lfs merge=lfs -text
+*.ckpt filter=lfs diff=lfs merge=lfs -text
+*.ftz filter=lfs diff=lfs merge=lfs -text
+*.gz filter=lfs diff=lfs merge=lfs -text
+*.h5 filter=lfs diff=lfs merge=lfs -text
+*.joblib filter=lfs diff=lfs merge=lfs -text
+*.lfs.* filter=lfs diff=lfs merge=lfs -text
+*.mlmodel filter=lfs diff=lfs merge=lfs -text
+*.model filter=lfs diff=lfs merge=lfs -text
+*.msgpack filter=lfs diff=lfs merge=lfs -text
+*.npy filter=lfs diff=lfs merge=lfs -text
+*.npz filter=lfs diff=lfs merge=lfs -text
+*.onnx filter=lfs diff=lfs merge=lfs -text
+*.ot filter=lfs diff=lfs merge=lfs -text
+*.parquet filter=lfs diff=lfs merge=lfs -text
+*.pb filter=lfs diff=lfs merge=lfs -text
+*.pickle filter=lfs diff=lfs merge=lfs -text
+*.pkl filter=lfs diff=lfs merge=lfs -text
+*.pt filter=lfs diff=lfs merge=lfs -text
+*.pth filter=lfs diff=lfs merge=lfs -text
+*.rar filter=lfs diff=lfs merge=lfs -text
+*.safetensors filter=lfs diff=lfs merge=lfs -text
+saved_model/**/* filter=lfs diff=lfs merge=lfs -text
+*.tar.* filter=lfs diff=lfs merge=lfs -text
+*.tar filter=lfs diff=lfs merge=lfs -text
+*.tflite filter=lfs diff=lfs merge=lfs -text
+*.tgz filter=lfs diff=lfs merge=lfs -text
+*.wasm filter=lfs diff=lfs merge=lfs -text
+*.xz filter=lfs diff=lfs merge=lfs -text
+*.zip filter=lfs diff=lfs merge=lfs -text
+*.zst filter=lfs diff=lfs merge=lfs -text
+*tfevents* filter=lfs diff=lfs merge=lfs -text
+assets/*.jpg filter=lfs diff=lfs merge=lfs -text
+*.jpg filter=lfs diff=lfs merge=lfs -text
+*.jpeg filter=lfs diff=lfs merge=lfs -text
+*.png filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..f14d72aa587d18440c7669d447d32c7b16d7b73d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+**/.DS_Store
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..01a01e8989a3f19cb8c41ceaf1c8c49577fd96b9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,293 @@
+---
+license: apache-2.0
+---
+# Implementation of EasyControl
+
+EasyControl: Adding Efficient and Flexible Control for Diffusion Transformer
+
+
+
+
+> *[Yuxuan Zhang](https://xiaojiu-z.github.io/YuxuanZhang.github.io/), [Yirui Yuan](https://github.com/Reynoldyy), [Yiren Song](https://scholar.google.com.hk/citations?user=L2YS0jgAAAAJ), [Haofan Wang](https://haofanwang.github.io/), [Jiaming Liu](https://scholar.google.com/citations?user=SmL7oMQAAAAJ&hl=en)*
+>
+> Tiamat AI, ShanghaiTech University, National University of Singapore, Liblib AI
+
+
+
+## Features
+* **Motivation:** The architecture of diffusion models is transitioning from Unet-based to DiT (Diffusion Transformer). However, the DiT ecosystem lacks mature plugin support and faces challenges such as efficiency bottlenecks, conflicts in multi-condition coordination, and insufficient model adaptability, particularly in zero-shot multi-condition combination scenarios where these issues are most pronounced.
+* **Contribution:** We propose EasyControl, an efficient and flexible unified conditional DiT framework. By incorporating a lightweight Condition Injection LoRA module, a Position-Aware Training Paradigm, and a combination of Causal Attention mechanisms with KV Cache technology, we significantly enhance model compatibility, generation flexibility, and inference efficiency.
+
+
+## Download
+
+You can download the model directly from [Hugging Face](https://huggingface.co/EasyControl/EasyControl).
+Or download using Python script:
+
+```python
+from huggingface_hub import hf_hub_download
+hf_hub_download(repo_id="Xiaojiu-Z/EasyControl", filename="models/canny.safetensors", local_dir="./models")
+hf_hub_download(repo_id="Xiaojiu-Z/EasyControl", filename="models/depth.safetensors", local_dir="./models")
+hf_hub_download(repo_id="Xiaojiu-Z/EasyControl", filename="models/hedsketch.safetensors", local_dir="./models")
+hf_hub_download(repo_id="Xiaojiu-Z/EasyControl", filename="models/inpainting.safetensors", local_dir="./models")
+hf_hub_download(repo_id="Xiaojiu-Z/EasyControl", filename="models/pose.safetensors", local_dir="./models")
+hf_hub_download(repo_id="Xiaojiu-Z/EasyControl", filename="models/seg.safetensors", local_dir="./models")
+hf_hub_download(repo_id="Xiaojiu-Z/EasyControl", filename="models/subject.safetensors", local_dir="./models")
+```
+
+If you cannot access Hugging Face, you can use [hf-mirror](https://hf-mirror.com/) to download the models:
+```python
+export HF_ENDPOINT=https://hf-mirror.com
+huggingface-cli download --resume-download Xiaojiu-Z/EasyControl --local-dir checkpoints --local-dir-use-symlinks False
+```
+
+## Usage
+Here's a basic example of using EasyControl. For more details, please follow the instructions in our [__GitHub repository__](https://github.com/Xiaojiu-z/EasyControl):
+
+### Model Initialization
+
+```python
+import torch
+from PIL import Image
+from src.pipeline import FluxPipeline
+from src.transformer_flux import FluxTransformer2DModel
+from src.lora_helper import set_single_lora, set_multi_lora
+
+def clear_cache(transformer):
+ for name, attn_processor in transformer.attn_processors.items():
+ attn_processor.bank_kv.clear()
+
+# Initialize model
+device = "cuda"
+base_path = "FLUX.1-dev" # Path to your base model
+pipe = FluxPipeline.from_pretrained(base_path, torch_dtype=torch.bfloat16, device=device)
+transformer = FluxTransformer2DModel.from_pretrained(
+ base_path,
+ subfolder="transformer",
+ torch_dtype=torch.bfloat16,
+ device=device
+)
+pipe.transformer = transformer
+pipe.to(device)
+
+# Load control models
+lora_path = "./models"
+control_models = {
+ "canny": f"{lora_path}/canny.safetensors",
+ "depth": f"{lora_path}/depth.safetensors",
+ "hedsketch": f"{lora_path}/hedsketch.safetensors",
+ "pose": f"{lora_path}/pose.safetensors",
+ "seg": f"{lora_path}/seg.safetensors",
+ "inpainting": f"{lora_path}/inpainting.safetensors",
+ "subject": f"{lora_path}/subject.safetensors",
+ "Ghibli": f"{lora_path}/Ghibli.safetensors"
+}
+```
+
+### Single Condition Control
+
+```python
+# Single spatial condition control example
+path = control_models["canny"]
+set_single_lora(pipe.transformer, path, lora_weights=[1], cond_size=512)
+
+# Generate image
+prompt = "A nice car on the beach"
+spatial_image = Image.open("./test_imgs/canny.png")
+
+image = pipe(
+ prompt,
+ height=720,
+ width=992,
+ guidance_scale=3.5,
+ num_inference_steps=25,
+ max_sequence_length=512,
+ generator=torch.Generator("cpu").manual_seed(5),
+ spatial_images=[spatial_image],
+ cond_size=512,
+).images[0]
+
+# Clear cache after generation
+clear_cache(pipe.transformer)
+```
+
+### Multi-Condition Control
+
+```python
+# Multi-condition control example
+paths = [control_models["subject"], control_models["inpainting"]]
+set_multi_lora(pipe.transformer, paths, lora_weights=[[1], [1]], cond_size=512)
+
+prompt = "A SKS on the car"
+subject_images = [Image.open("./test_imgs/subject_1.png")]
+spatial_images = [Image.open("./test_imgs/inpainting.png")]
+
+image = pipe(
+ prompt,
+ height=1024,
+ width=1024,
+ guidance_scale=3.5,
+ num_inference_steps=25,
+ max_sequence_length=512,
+ generator=torch.Generator("cpu").manual_seed(42),
+ subject_images=subject_images,
+ spatial_images=spatial_images,
+ cond_size=512,
+).images[0]
+
+# Clear cache after generation
+clear_cache(pipe.transformer)
+```
+
+
+## Usage Tips
+
+- Clear cache after each generation using `clear_cache(pipe.transformer)`
+- For optimal performance:
+ - Start with `guidance_scale=3.5` and adjust based on results
+ - Use `num_inference_steps=25` for a good balance of quality and speed
+- When using set_multi_lora api, make sure the subject lora path(subject) is before the spatial lora path(canny, depth, hedsketch, etc.).
+
+
+
+# 🎨 Ghibli-Style LoRA for Portraits
+
+[NEW!!] New **Ghibli LoRA model** is now released!! Transform Asian portraits into Studio Ghibli-style artwork using this LoRA model. Trained on **only 100 real Asian faces** paired with **GPT-4o-generated Ghibli-style counterparts**, it preserves facial features while applying the iconic anime aesthetic.
+
+## 🖼️ Example Gallery
+> **9 complete transformation sets available** in `/assets/test_imgs/` directory
+> *All outputs generated with identical prompt weights* with same prompt: `"Ghibli Studio style, Charming hand-drawn anime-style illustration"`
+### Case1
+
+
+### Case2
+
+
+### Case3
+
+
+### Case4
+
+
+### Case5
+
+
+### Case6
+
+
+### Case7
+
+
+### Case8
+
+
+### Case9
+
+
+
+## Disclaimer
+The code of EasyControl is released under [Apache License](https://github.com/Xiaojiu-Z/EasyControl?tab=Apache-2.0-1-ov-file#readme) for both academic and commercial usage. Our released checkpoints are for research purposes only. Users are granted the freedom to create images using this tool, but they are obligated to comply with local laws and utilize it responsibly. The developers will not assume any responsibility for potential misuse by users.
+
+
+## Citation
+```
+@misc{zhang2025easycontroladdingefficientflexible,
+ title={EasyControl: Adding Efficient and Flexible Control for Diffusion Transformer},
+ author={Yuxuan Zhang and Yirui Yuan and Yiren Song and Haofan Wang and Jiaming Liu},
+ year={2025},
+ eprint={2503.07027},
+ archivePrefix={arXiv},
+ primaryClass={cs.CV},
+ url={https://arxiv.org/abs/2503.07027},
+}
+```
diff --git a/assets/method.jpg b/assets/method.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..62af87e58143b3a8f01df4e4e5519e736d79ed7c
--- /dev/null
+++ b/assets/method.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5605779ca678557307c0cd55034d1ea176a1c40c3b00dccafdb1694401f26cd5
+size 2186291
diff --git a/assets/teaser.jpg b/assets/teaser.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ef0f09e916bc8539d92f04ec7114a9db280af086
--- /dev/null
+++ b/assets/teaser.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4a36139d8ec6076e1befb3f165cda8617fb3d1411df79284b878f881034fb2e2
+size 1904203
diff --git a/assets/test_imgs/ghibli_output/00_0.png b/assets/test_imgs/ghibli_output/00_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..0569b7c6e514c46afdd4758241748066a72031ab
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/00_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f2d38a17a5b121c483c8d5ed28752f879e2201d8e234ed87e40366f22363a5cf
+size 1788475
diff --git a/assets/test_imgs/ghibli_output/00_1.png b/assets/test_imgs/ghibli_output/00_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..93ae143ac0ee3a23d09c9c4e0b61687df8bedbeb
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/00_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a84d270879b6b83bfd083c321d29004f080665715c5343a0413cc6f9cf34221b
+size 1815613
diff --git a/assets/test_imgs/ghibli_output/00_2.png b/assets/test_imgs/ghibli_output/00_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..171e46199a54a5231a1d5f869a071a52d36577ba
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/00_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bd720bcc7718511a363ea661c0efb7b0d47e38dc3d886d7951ec7b34b1c56fb4
+size 1805663
diff --git a/assets/test_imgs/ghibli_output/00_3.png b/assets/test_imgs/ghibli_output/00_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..414da7a9c3f9ff7d2abd20070eb0a112ce840a77
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/00_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e38bb82b11933781065c40ccea1ac5dccad4878221a6deebca4b9a5a64b4162e
+size 1742892
diff --git a/assets/test_imgs/ghibli_output/00_4.png b/assets/test_imgs/ghibli_output/00_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..c94888b06cba5ae43975ef220c56ffd46d7b499a
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/00_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bbf25c5de3f776e5e51125bf41f59ea6f6efae39df3d78dae9741af67cfe209f
+size 1774751
diff --git a/assets/test_imgs/ghibli_output/01_0.png b/assets/test_imgs/ghibli_output/01_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4c2ee148829e4787b602bf6c47d09d9b7830bb5
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/01_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a185d19a7cb80cc0e6abb6b289dd336acd12172d0fa8813a3c0ab355fff41036
+size 853141
diff --git a/assets/test_imgs/ghibli_output/01_1.png b/assets/test_imgs/ghibli_output/01_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..67a97c2fc8ee1f1cb2dd77315875cae8f2f216dc
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/01_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:27e85915ffd1a76c4a33433af13b1ee05e7d2b6cb1e666e9699f6d44d9ea4471
+size 828732
diff --git a/assets/test_imgs/ghibli_output/01_2.png b/assets/test_imgs/ghibli_output/01_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..60476cc5b0ace43aa430aa95957ffd3f27efabb1
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/01_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0d009a75709161ad5b3d0c01213f6d80ce1f4f31b4434d3d410dae8e5474206a
+size 848432
diff --git a/assets/test_imgs/ghibli_output/01_3.png b/assets/test_imgs/ghibli_output/01_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..211827eb81df07c70552ebc588d545610ec46387
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/01_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d00e6b8a4a1e425c8b0d7f0513abfb2ea533d483d0061427cf09c713daff8060
+size 840879
diff --git a/assets/test_imgs/ghibli_output/01_4.png b/assets/test_imgs/ghibli_output/01_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e3298004f3ca97a0fe6b4f717f417dd4de15a61
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/01_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:349f9f8f137b8b99d6b68ec93a92d9bcf4746519e5c3767ce099eca3fd5575b8
+size 853329
diff --git a/assets/test_imgs/ghibli_output/02_0.png b/assets/test_imgs/ghibli_output/02_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..fda981913805edf36588a74e3c7c2306bbc06025
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/02_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aa1f90f7dc7d65c73274d3fcf4c693139aa3256c2b4684628550347f0fbf54c1
+size 726359
diff --git a/assets/test_imgs/ghibli_output/02_1.png b/assets/test_imgs/ghibli_output/02_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7e767fa5c2ccc36db29d1c1a8ff37d730ec9c78
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/02_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c3a2279b27ea570839e9786428e3f12cee45dad1e6061c5a863dd74cf72ab828
+size 699932
diff --git a/assets/test_imgs/ghibli_output/02_2.png b/assets/test_imgs/ghibli_output/02_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..f552cc27c273f7f647dbb669c82c4707f30d2b6f
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/02_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ad2735375d51e4af57cfffecfbfbe909d9caf043c4a157609ba792c8209323d5
+size 715481
diff --git a/assets/test_imgs/ghibli_output/02_3.png b/assets/test_imgs/ghibli_output/02_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4d9c7040a4e84857f8b481d3e165ab3bcaaf500
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/02_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e568a0bc8ef4bc98999e311f42a481ec4feb6ab5cd632ddc94d7aef25d16fb18
+size 732350
diff --git a/assets/test_imgs/ghibli_output/02_4.png b/assets/test_imgs/ghibli_output/02_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c2fc4edfed6a4911629a4dee0a61e9ca9b68042
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/02_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cb6eff164e167ae7b298a44d402f8fe2e2d8c4baf3038b4baa1d612971b0c48e
+size 701989
diff --git a/assets/test_imgs/ghibli_output/03_0.png b/assets/test_imgs/ghibli_output/03_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c8f6d85ae6eaa98d8d501712d356fbbdc5f5e74
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/03_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:46c8ff1a2f82475b7ca3602dd696accb12d6260fa0c8f8400e1ba3cb075565ff
+size 1974126
diff --git a/assets/test_imgs/ghibli_output/03_1.png b/assets/test_imgs/ghibli_output/03_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..e68fa4998010ed69094dca8ba788fd4f918801af
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/03_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5aa2923426cd055fe915526b8e0eb6a26e3ce52084cb9a054e69dfa88dcf1240
+size 1971627
diff --git a/assets/test_imgs/ghibli_output/03_2.png b/assets/test_imgs/ghibli_output/03_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..891a3b9bbaac283a2cc1363d67d87c50863fa4ef
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/03_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1a196810f0a09a287654cb5172879e9ec90701e9a79c7cb28d164d7afc95dc23
+size 1972281
diff --git a/assets/test_imgs/ghibli_output/03_3.png b/assets/test_imgs/ghibli_output/03_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a333e485eb748fb6c66420342806be5c16bbe0f
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/03_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d565f39a0291154fc66c86cedc22333017234a7db71ac8eada64d691e870785e
+size 2025479
diff --git a/assets/test_imgs/ghibli_output/03_4.png b/assets/test_imgs/ghibli_output/03_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..6757ad47f4cfc355c5cac7a6488db372af8213af
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/03_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ed5df5d17a697fc7cd960d0621c05ee9566322f8e369e0892304d161d2eff674
+size 1950534
diff --git a/assets/test_imgs/ghibli_output/04_0.png b/assets/test_imgs/ghibli_output/04_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..da32f688cac93afa7e2e65ad365cebede2fd4743
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/04_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:47750b4ac296a869b7d40ab66158e39c739687b5c8236b02ab5e16ec64fd8b21
+size 602599
diff --git a/assets/test_imgs/ghibli_output/04_1.png b/assets/test_imgs/ghibli_output/04_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..2886ca2ba7d0e0ce7c8626f35cc0b7f7b9e28a98
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/04_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a2e7072b046535d0947234310906bca8f92cfa5de12f6a333628930575aaf638
+size 595396
diff --git a/assets/test_imgs/ghibli_output/04_2.png b/assets/test_imgs/ghibli_output/04_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cb105f2cefec5c84879075d1dc3f5f826f05242
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/04_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5283ced303303aee6b1c8fa4a162fea1b39a4944d3085efb557ac4fa047d7814
+size 607055
diff --git a/assets/test_imgs/ghibli_output/04_3.png b/assets/test_imgs/ghibli_output/04_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..6025cb58ffdfd7adc59d63acfa2ae35c7cf410ce
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/04_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1f5ff221a9593f09b4e151712c606f6949bc66c1e521631d565ad1382df0b25f
+size 615088
diff --git a/assets/test_imgs/ghibli_output/04_4.png b/assets/test_imgs/ghibli_output/04_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..25723312992d7215d1479c5a2fee422adcea9b14
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/04_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1d728b7e500568bc6d5364e692539e585643efba10a47695434d954d9a5afe89
+size 605201
diff --git a/assets/test_imgs/ghibli_output/06_0.png b/assets/test_imgs/ghibli_output/06_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..f98db15d936a3c41430f47bdea042306e107961e
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/06_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8123749db7b5bea7abdc7048fe3287cd9048cd814b17d927de3d2bc8c4929a5d
+size 886034
diff --git a/assets/test_imgs/ghibli_output/06_1.png b/assets/test_imgs/ghibli_output/06_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0b2f8c359d6d2d7cf50ca5ef82f6bfd726ffa32
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/06_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0bb4649f5a32ef20650cd1eb0d5b12cafe60a6d1a7996523c534b8e803af372c
+size 902598
diff --git a/assets/test_imgs/ghibli_output/06_2.png b/assets/test_imgs/ghibli_output/06_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..cea834b051de2e6a24bd69e689be8c7568262912
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/06_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:67a9580543326f0ff21f4d1e072cc7ae4532d0d05f796c93115db03e70ae30bd
+size 845068
diff --git a/assets/test_imgs/ghibli_output/06_3.png b/assets/test_imgs/ghibli_output/06_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..ebe5f83ec4e2df974b375f1d68311ecaa8765331
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/06_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1fd23fa5f7d8c4625a78988d2179e860889b516e5731be51627996dfaec44a34
+size 914269
diff --git a/assets/test_imgs/ghibli_output/06_4.png b/assets/test_imgs/ghibli_output/06_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f6c1f52329fe4cad083991e2793b318311b1992
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/06_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9d8d062600d1367a7058480435cf661d719586a807c5a0b12ef8460a79abfea9
+size 902375
diff --git a/assets/test_imgs/ghibli_output/07_0.png b/assets/test_imgs/ghibli_output/07_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a8513e4305a1ae7f7f8f61b8b2945dc853efc46
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/07_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4b80174251a41596c3aeffad1ff9b6b9e727d172fe7e0ff6fbf042d2a89e9a36
+size 645198
diff --git a/assets/test_imgs/ghibli_output/07_1.png b/assets/test_imgs/ghibli_output/07_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..584a3e1a50f019b5d915e7f6d4ba76c760cdf823
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/07_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c888e28849cd58198308d3606d60ea672546831183e99bad02602d63620c44ba
+size 638075
diff --git a/assets/test_imgs/ghibli_output/07_2.png b/assets/test_imgs/ghibli_output/07_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..08ae089dcda20d0fa8f212a0d10bd60183be198c
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/07_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6ab7ab866b04f6b37687fe6a80df89efda8c9a3f49c9f23b4d5dbbc5043de7ca
+size 624745
diff --git a/assets/test_imgs/ghibli_output/07_3.png b/assets/test_imgs/ghibli_output/07_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..09b3d21bd0e6acdb15734446436cd49332875521
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/07_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8eb7ea63c18eb4a9cf0c747fe68b4b331c079a13bde4d04bee63e8ee83e70139
+size 637998
diff --git a/assets/test_imgs/ghibli_output/07_4.png b/assets/test_imgs/ghibli_output/07_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..deeeaf8657860be02ba87be88744d9adcc30722e
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/07_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:104e44e5b9d0b1762cacbedb38586d89ce9aa03bb1d2e8519b23337328ada73e
+size 659043
diff --git a/assets/test_imgs/ghibli_output/08_0.png b/assets/test_imgs/ghibli_output/08_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..b588708d4decadacf1801c4d2b0aea195a2d7336
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/08_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f37f3ec75e8daaeee1b42428daedf18bf5f1bd9bab59b5d23fea019298cd5899
+size 802331
diff --git a/assets/test_imgs/ghibli_output/08_1.png b/assets/test_imgs/ghibli_output/08_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..3521e77d5a2a1ee14adf1e4090788102e7862932
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/08_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:61b34709f8690090db80b28185a4a81e70a4b7e1ec3e7aeb33757c7985085aaf
+size 811797
diff --git a/assets/test_imgs/ghibli_output/08_2.png b/assets/test_imgs/ghibli_output/08_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..64798debe1192d6f2d279fc75e56c0f9a4168af0
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/08_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ccfc18477056eb4d9450503e737ff5634c3e98c9e81de8ac01c68d2ad359b81a
+size 806318
diff --git a/assets/test_imgs/ghibli_output/08_3.png b/assets/test_imgs/ghibli_output/08_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a5514673a6f83810b5dd20314431855adb2a22f
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/08_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b66384f2fe7d91e35369cebc2cd0c67da80db6e8ec40e03beff330e858f142b8
+size 797427
diff --git a/assets/test_imgs/ghibli_output/08_4.png b/assets/test_imgs/ghibli_output/08_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..415e777f4d7a98c9e6e023246fcbc5923fe9908b
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/08_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2a302289c65e58c80c2621aa887519fae6aeb2024bdbf619bb67cbf90d975b86
+size 821770
diff --git a/assets/test_imgs/ghibli_output/09_0.png b/assets/test_imgs/ghibli_output/09_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..290fd4b47151eb431440e7e561613b7b89ac4ff2
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/09_0.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:caa2066920ed62f989754db5b637623854ccea2e7ad783dc815ff036c1a474a7
+size 924599
diff --git a/assets/test_imgs/ghibli_output/09_1.png b/assets/test_imgs/ghibli_output/09_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..752924cb78dbed3cd76b30a1b6013940b951ef78
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/09_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7b8735d39501fb22016bc609271cfe86c3865e2190fdfd9e2a1cedb6aa1f01ae
+size 957175
diff --git a/assets/test_imgs/ghibli_output/09_2.png b/assets/test_imgs/ghibli_output/09_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..72b4c6dc98d3666cf229787f99998cbee3e76f07
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/09_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:091307f328b693b2a8a3991451972a1daeb36ca5ee898bf38ad0b279935d03b2
+size 937425
diff --git a/assets/test_imgs/ghibli_output/09_3.png b/assets/test_imgs/ghibli_output/09_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..739c4c203d1134c88216f1a869a249fc4b65969e
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/09_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:408dd231b857b92b5f020dfb2f65d7aa0b2f6ceb4245601bbb7f0c1b684ea591
+size 943799
diff --git a/assets/test_imgs/ghibli_output/09_4.png b/assets/test_imgs/ghibli_output/09_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..60df2628def9af472dbe3923480a6695a4039574
--- /dev/null
+++ b/assets/test_imgs/ghibli_output/09_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8216912c97727a466a5d4531410c40f511fcf9f7ae4d62ecb1856b5bea5fced3
+size 911911
diff --git a/assets/test_imgs/ghibli_ref/00.png b/assets/test_imgs/ghibli_ref/00.png
new file mode 100644
index 0000000000000000000000000000000000000000..3070907f7341bfbeefcd2c345d588a49fef0ddc5
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/00.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:16dcab43b4629a64c1760f272d571503b5d0fee26b17f30dd013fc1632e56723
+size 1391948
diff --git a/assets/test_imgs/ghibli_ref/01.png b/assets/test_imgs/ghibli_ref/01.png
new file mode 100644
index 0000000000000000000000000000000000000000..adc1fbe2762254e05cbba19b1d834d20a207ab6a
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/01.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b0b9bbf9b2408abaadb54b88e06f9512aa2558512670985036fc0cdce664251f
+size 55030
diff --git a/assets/test_imgs/ghibli_ref/02.png b/assets/test_imgs/ghibli_ref/02.png
new file mode 100644
index 0000000000000000000000000000000000000000..d67c4b7dfa9438c36a15a57fc8775a8e5af5b7f7
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/02.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fd747ba7f7fe4cfc426aba2708555afaa7a9c2983530d375a7c53eda76d66419
+size 63063
diff --git a/assets/test_imgs/ghibli_ref/03.png b/assets/test_imgs/ghibli_ref/03.png
new file mode 100644
index 0000000000000000000000000000000000000000..c38f0c0890721ca253e8b91b27a2894380d09a55
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/03.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eb84804bbcb48e90bb95970a6999e615d970420d5c219738830560e5598f45a5
+size 2274186
diff --git a/assets/test_imgs/ghibli_ref/04.png b/assets/test_imgs/ghibli_ref/04.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a41cf49fedf35e2aefe37687ec710a26ee05328
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/04.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:06ac65ff99359db49b2830548ca0a30de4c9dbfc875b9acea102bab05087f820
+size 288452
diff --git a/assets/test_imgs/ghibli_ref/06.png b/assets/test_imgs/ghibli_ref/06.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a05f5a8e30ad467c109e6e49a09adc57a351daa
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/06.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bbe438542d9b014a1d1796b2ccb6049026f44d44a5f27557fb03ee816fa50d8f
+size 35700
diff --git a/assets/test_imgs/ghibli_ref/07.png b/assets/test_imgs/ghibli_ref/07.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b05c4f61873c16cea2b077397f7cc586dc76548
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/07.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f24ae80001af07b0da916e23213ecd188786313f705aa07bd8b82813edca3a66
+size 109890
diff --git a/assets/test_imgs/ghibli_ref/08.png b/assets/test_imgs/ghibli_ref/08.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b7b6e6d92434d3eea1cc0babaa99b0f7faab357
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/08.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7e2c059431fa1350a33be52e704d7623cdb2c3ab43e15b122c1b0b40394503cf
+size 1077918
diff --git a/assets/test_imgs/ghibli_ref/09.png b/assets/test_imgs/ghibli_ref/09.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc34ca8e6be3127118d0d730642594f6fee1a007
--- /dev/null
+++ b/assets/test_imgs/ghibli_ref/09.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:19ac9b44bca52d8a50bc23570354891b1244c9e6c09c76d149f0ac17efd08641
+size 70255
diff --git a/models/Ghibli.safetensors b/models/Ghibli.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..14ba6e5acf557fb986a378d509428d7b440342fd
--- /dev/null
+++ b/models/Ghibli.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a5204551bd9cb587d659fe1cc50cf524b6339348bc5b1c3ea3b4efe71eb5e753
+size 298895992
diff --git a/models/canny.safetensors b/models/canny.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..11bb1bb5a3c09654d2560a6d3b0c4042afd87dc0
--- /dev/null
+++ b/models/canny.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cc21b370e17de953afb6a75f1c9e5bcc272c4ea2dc1412fd86d5fd11640054c2
+size 298895992
diff --git a/models/depth.safetensors b/models/depth.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..8ec8c33f2a9da701db13b83d612038dc6fb1e243
--- /dev/null
+++ b/models/depth.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2f14860c757d73c88c5062db1b5c3426cd294f0ae484a802316853438c3f4e19
+size 298895992
diff --git a/models/hedsketch.safetensors b/models/hedsketch.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..b19bfddabc363dd14f11563dba00b60994265789
--- /dev/null
+++ b/models/hedsketch.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:92749c6771920add21e8e5b6d8c2bdaf7eae760d84144085cac06b2cd0be0e40
+size 298895992
diff --git a/models/inpainting.safetensors b/models/inpainting.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..0aadaf8eb67e8be25095f68958907273ce7e4be9
--- /dev/null
+++ b/models/inpainting.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:69959805de110d36884f993f7da9e84a53c0a84fe2407bb4ae57ea1f3136dc21
+size 298895992
diff --git a/models/pose.safetensors b/models/pose.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..f1c033b0d5e3f1dc20f178df85e3f7ea913b3fc6
--- /dev/null
+++ b/models/pose.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cc1f3d1cb9da848c21b2fb990bc8328529970ead7597b5412fe41c3ac0969cc7
+size 298895992
diff --git a/models/seg.safetensors b/models/seg.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..dcaeb7298f3f02f004507cb704d3e56190675a8e
--- /dev/null
+++ b/models/seg.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7607c21816b06d7001e2ced8309cf16c3452dc0f41adac93b740555866b360c4
+size 298895992
diff --git a/models/subject.safetensors b/models/subject.safetensors
new file mode 100644
index 0000000000000000000000000000000000000000..962f594e1e314a33b28eb54b63b54dba094c8ff8
--- /dev/null
+++ b/models/subject.safetensors
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4f7c72fd67d685252f34d62bb48d04e2ece67947c9fccfc7b974ba2e0e69a6b2
+size 298895992