diff --git a/.gitignore b/.gitignore
index 8049651d2..2ad2d2b64 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,47 +1,47 @@
-.*
-*.py[cod]
-# *.jpg
-*.jpeg
-# *.png
-*.gif
-*.bmp
-*.mp4
-*.mov
-*.mkv
-*.log
-*.zip
-*.pt
-*.pth
-*.ckpt
-*.safetensors
-#*.json
-# *.txt
-*.backup
-*.pkl
-*.html
-*.pdf
-*.whl
-*.exe
-cache
-__pycache__/
-storage/
-samples/
-!.gitignore
-!requirements.txt
-.DS_Store
-*DS_Store
-google/
-Wan2.1-T2V-14B/
-Wan2.1-T2V-1.3B/
-Wan2.1-I2V-14B-480P/
-Wan2.1-I2V-14B-720P/
-outputs/
-outputs2/
-gradio_outputs/
-ckpts/
-loras/
-loras_i2v/
-
-settings/
-
-wgp_config.json
+.*
+*.py[cod]
+# *.jpg
+*.jpeg
+# *.png
+*.gif
+*.bmp
+*.mp4
+*.mov
+*.mkv
+*.log
+*.zip
+*.pt
+*.pth
+*.ckpt
+*.safetensors
+#*.json
+# *.txt
+*.backup
+*.pkl
+*.html
+*.pdf
+*.whl
+*.exe
+cache
+__pycache__/
+storage/
+samples/
+!.gitignore
+!requirements.txt
+.DS_Store
+*DS_Store
+google/
+Wan2.1-T2V-14B/
+Wan2.1-T2V-1.3B/
+Wan2.1-I2V-14B-480P/
+Wan2.1-I2V-14B-720P/
+outputs/
+outputs2/
+gradio_outputs/
+ckpts/
+loras/
+loras_i2v/
+
+settings/
+
+wgp_config.json
diff --git a/Custom Resolutions Instructions.txt b/Custom Resolutions Instructions.txt
index c11f25dc3..e69de29bb 100644
--- a/Custom Resolutions Instructions.txt
+++ b/Custom Resolutions Instructions.txt
@@ -1,16 +0,0 @@
-You can override the choice of Resolutions offered by WanGP, if you create a file "resolutions.json" in the main WanGP folder.
-This file is composed of a list of 2 elements sublists. Each 2 elements sublist should have the format ["Label", "WxH"] where W, H are respectively the Width and Height of the resolution. Please make sure that W and H are multiples of 16. The letter "x" should be placed inbetween these two dimensions.
-
-Here is below a sample "resolutions.json" file :
-
-[
- ["1280x720 (16:9, 720p)", "1280x720"],
- ["720x1280 (9:16, 720p)", "720x1280"],
- ["1024x1024 (1:1, 720p)", "1024x1024"],
- ["1280x544 (21:9, 720p)", "1280x544"],
- ["544x1280 (9:21, 720p)", "544x1280"],
- ["1104x832 (4:3, 720p)", "1104x832"],
- ["832x1104 (3:4, 720p)", "832x1104"],
- ["960x960 (1:1, 720p)", "960x960"],
- ["832x480 (16:9, 480p)", "832x480"]
-]
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 927c579fd..b34ae76da 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,92 +1,92 @@
-FROM nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04
-
-# Build arg for GPU architectures - specify which CUDA compute capabilities to compile for
-# Common values:
-# 7.0 - Tesla V100
-# 7.5 - RTX 2060, 2070, 2080, Titan RTX
-# 8.0 - A100, A800 (Ampere data center)
-# 8.6 - RTX 3060, 3070, 3080, 3090 (Ampere consumer)
-# 8.9 - RTX 4070, 4080, 4090 (Ada Lovelace)
-# 9.0 - H100, H800 (Hopper data center)
-# 12.0 - RTX 5070, 5080, 5090 (Blackwell) - Note: sm_120 architecture
-#
-# Examples:
-# RTX 3060: --build-arg CUDA_ARCHITECTURES="8.6"
-# RTX 4090: --build-arg CUDA_ARCHITECTURES="8.9"
-# Multiple: --build-arg CUDA_ARCHITECTURES="8.0;8.6;8.9"
-#
-# Note: Including 8.9 or 9.0 may cause compilation issues on some setups
-# Default includes 8.0 and 8.6 for broad Ampere compatibility
-ARG CUDA_ARCHITECTURES="8.0;8.6"
-
-ENV DEBIAN_FRONTEND=noninteractive
-
-# Install system dependencies
-RUN apt update && \
- apt install -y \
- python3 python3-pip git wget curl cmake ninja-build \
- libgl1 libglib2.0-0 ffmpeg && \
- apt clean
-
-WORKDIR /workspace
-
-COPY requirements.txt .
-
-# Upgrade pip first
-RUN pip install --upgrade pip setuptools wheel
-
-# Install requirements if exists
-RUN pip install -r requirements.txt
-
-# Install PyTorch with CUDA support
-RUN pip install --extra-index-url https://download.pytorch.org/whl/cu124 \
- torch==2.6.0+cu124 torchvision==0.21.0+cu124
-
-# Install SageAttention from git (patch GPU detection)
-ENV TORCH_CUDA_ARCH_LIST="${CUDA_ARCHITECTURES}"
-ENV FORCE_CUDA="1"
-ENV MAX_JOBS="1"
-
-COPY <
-WanGP by DeepBeepMeep : The best Open Source Video Generative Models Accessible to the GPU Poor
-
-
-WanGP supports the Wan (and derived models), Hunyuan Video and LTV Video models with:
-- Low VRAM requirements (as low as 6 GB of VRAM is sufficient for certain models)
-- Support for old Nvidia GPUs (RTX 10XX, 20xx, ...)
-- Support for AMD GPUs Radeon RX 76XX, 77XX, 78XX & 79XX, instructions in the Installation Section Below.
-- Very Fast on the latest GPUs
-- Easy to use Full Web based interface
-- Auto download of the required model adapted to your specific architecture
-- Tools integrated to facilitate Video Generation : Mask Editor, Prompt Enhancer, Temporal and Spatial Generation, MMAudio, Video Browser, Pose / Depth / Flow extractor
-- Loras Support to customize each model
-- Queuing system : make your shopping list of videos to generate and come back later
-
-**Discord Server to get Help from Other Users and show your Best Videos:** https://discord.gg/g7efUW9jGV
-
-**Follow DeepBeepMeep on Twitter/X to get the Latest News**: https://x.com/deepbeepmeep
-
------
-
-### You have your choice of Dark or Light Theme
-
-
-
-
------
-
-
------
-
-
------
-
-## 🔥 Latest Updates :
-### December 23 2025: WanGP v9.92, Early Christmas
-
-- **SCAIL Preview**: enjoy this *Wan Animate*, *Steady Dancer* contender that can support multiple people. Thanks to its 3D positioning, it can take into account which parts of the body are hidden and which are not.
-
-WanGP version has the following perks: 3D pose Preprocessing entirely rewritten to be fast, and compatible with any pytorch version, very Low VRAM requirements for multicharacters, experimental long gen mode / sliding windows (SCAIL Preview doesnt support officialy long gen yet)
-
-- **pi-Flux 2**: you don't use Flux 2 because you find it too slow ? You won't be able to use this excuse anymore: pi-Flux 2 is *4 steps distills* of the best image generator. It supports both image edition and text to image generation.
-
-- **Zandinksy v5** : for the video models collectors among you, you can try the Zandinsky model families, the 2B model quality is especially impressive given its small size
-
-- **Qwen Image Layered**: a new Qwen Image variant that lets you extract RGBA layers of your images so that each layer can be edited separately
-
-- **Qwen Image Edit Plus 2511**: Qwen Image Edit Plus 2511 improves identity preservation (especially at 1080p) and integrates out of the box popular effects such as religthing and camera changes
-
-- **loras accelerator**: *loras accelerator* for *Wan 2.2 t2v* and *Wan 2.1 i2v* have been added (activable using the *Profile settings* as usual)
-
-*update 9.91*: added Kandinsky 5 & Qwen Image Layered\
-*update 9.92*: added Qwen Image Edit Plus 2511
-
-### December 14 2025: WanGP v9.86, Simple Pleasures...
-
-These two features are going to change the life of many people:
-- **Pause Button**: ever had a urge to use your GPU for a very important task that can't wait (a game for instance ?), here comes your new friend the *Pause* button. Not only it will suspend the current gen in progress but it will free most of the VRAM used by WanGP (please note that the RAM by WanGP used wont be released). When you are done just click the *Resume* button to restart exactly from where you stopped.
-
-- **WanGP Headless**: trouble running remotely WanGP or having some stability issues with Gradio or your Web Browser. This is all past thanks to *WanGP Headless* mode. Here is how it works : first make you shopping list of Video Gen using the classic WanGP gradio interface. When you are done, click the *Save Queue* button and quit WanGP.
-
-Then in your terminal window just write this:
-```bash
-python wgp.py --process my_queue.zip
-```
-With WanGP 9.82, you can also process settings file (.json file exported using th *Export Settings* button):
-```bash
-python wgp.py --process my_settings.json
-```
-Processing Settings can be useful to do some quick gen / testing if you don't need to provide source image files (otherwise you will need to fill the paths to Start Images, Ref Image, ...)
-
-- **Output Filename Customization**: in the *Misc* tab you can now customize how the file names of new Generation are created, for example:
-```
-{date(YYYY-MM-DD_HH-mm-ss)}_{seed}_{prompt(50)}, {num_inference_steps}
-```
-
-- **Hunyuan Video 1.5 i2v distilled** : for those in need of their daily dose of new models, added *Hunyuan Video 1.5 i2v Distilled* (official release) + Lora Accelerator extracted from it (to be used in future finetunes). Also added *Magcache* support (optimized for 20 steps) for Hunyuan Video 1.5.
-
-- **Wan-Move** : Another model specialized to control motion using a *Start Image* and *Trajectories*. According to the author's paper it is the best one. *Motion Designer* has been upgraded to generate also trajectories for *Wan-Move*.
-
-- **Z-Image Control Net v2** : This is an upgrade of Z-Image Control Net. It offers much better results but requires much more processing an VRAM. But don't panic yet, as it was VRAM optimized. It was not an easy trick as this one is complex. It has also Inpainting support,but I need more info to release this feature.
-
-*update 9.81*: added Hunyuan Video 1.5 i2v distilled + magcache\
-*update 9.82*: added Settings headless processing, output file customization, refactored Task edition and queue processing\
-*update 9.83*: Qwen Edit+ upgraded: no more any zoom out at 1080p, enabled mask, enabled image refs with inpainting\
-*update 9.84*: added Wan-Move support\
-*update 9.85*: added Z-Image Control net v2\
-*update 9.86*: added NAG support for Z-Image
-
-### December 4 2025: WanGP v9.74, The Alpha & the Omega ... and the Dancer
-
-- **Flux 2**: the best ever open source *Image Generator* has just landed. It does everything very well: generate an *Image* based a *Text Prompt* or combine up to 10 *Images References*
-
-The only snag is that it is a 60B parameters for the *Transformer* part and 40B parameters for the *Text Encoder* part.
-
-Behold the WanGP Miracle ! Flux 2 wil work with only 8 GB of VRAM if you are happy with 8 bits quantization (no need for lower quality 4bits). With 9GB of VRAM you can run the model at full power. You will need at least 64 GB of RAM. If not maybe Memory Profile 5 will be your friend.
-
-*With WanGP v9.74*, **Flux 2 Control Net** hidden power has also been unleashed from the vanilla model. You can now enjoy Flux 2 *Inpainting* and *Pose transfer*. This can be combined with *Image Refs* to get the best *Identity Preservation* / *Face Swapping* an Image Model can offer: just target the effect to a specific area using a *Mask* and set *Denoising Strength* to 0.9-1.0 and *Masking Strength* to 0.3-0.4 for a perfect blending
-
-- **Z-Image**: a small model, very fast (8 steps), very low VRAM (optimized even more in WanGP for fun, just in case you want to generate 16 images at a time) that produces outstanding Image quality. Not yet the Flux 2 level, and no Image editing yet but a very good trade-off.
-
-While waiting for Z-Image edit, *WanGP 9.74* offers now support for **Z-Image Fun Control Net**. You can use it for *Pose transfer*, *Canny Edge* transfer. Don't be surprised if it is a bit slower. Please note it will work best at 1080p and will require a minimum of 9 steps.
-
-- **Steady Dancer**: here is *Wan Steady Dancer* a very nice alternative to *Wan Animate*. You can transfer the motion of a Control video in a very smooth way. It will work best with Videos where the action happens center stage (hint: *dancing*). Use the *Lora accelerator* *Fusionix i2v 10 steps* for a fast generation. For higher quality you can set *Condition Guidance* to 2 or if you are very patient keep *Guidance* to a value greater than 1.
-
-I have added a new Memory Profile *Profile 4+* that is sligthly slower than *Profile 4* but can save you up to 1GB of VRAM with Flux 2.
-
-Also as we have now quite few models and Loras folders. *I have moved all the loras folder in the 'loras' folder*. There are also now unique subfolders for *Wan 5B* and *Wan 1.3B* models. A conversion script should have moved the loras in the right locations, but I advise that you check just in case.
-
-*update 9.71* : added missing source file, have fun !\
-*update 9.72* : added Z-Image & Loras reorg\
-*update 9.73* : added Steady Dancer\
-*update 9.74* : added Z-Image Fun Control Net & Flux 2 Control Net + Masking
-
-### November 24 2025: WanGP v9.62, The Return of the King
-
-So here is *Tencet* who is back in the race: let's welcome **Hunyuan Video 1.5**
-
-Despite only 8B parameters it offers quite a high level of quality. It is not just one model but a family of models:
-- Text 2 Video
-- Image 2 Video
-- Upsamplers (720p & 1080p)
-
-Each model comes on day one with several finetunes specialized for a specific resolution.
-The downside right now is that to get the best quality you need to use guidance > 1 and a high number of Steps (20+).
-
-But dont go away yet ! **LightX2V** (https://huggingface.co/lightx2v/Hy1.5-Distill-Models/) is on deck and has already delivered an *Accelerated 4 steps Finetune* for the *t2v 480p* model. It is part of today's delivery.
-
-I have extracted *LighX2V Magic* into an *8 steps Accelerator Lora* that seems to work for i2v and the other resolutions. This should be good enough while waiting for other the official LighX2V releases (just select this lora in the *Settings* Dropdown Box).
-
-WanGP implementation of Hunyuan 1.5 is quite complete as you will get straight away *Video Gen Preview* (WanGP exclusivity!) and *Sliding Window* support. It is also ready for *Tea Cache* or *Mag Cache* (just waiting for the official parameters)
-
-*WanGP Hunyuan 1.5 is super VRAM optimized, you will need less than 20 GB of VRAM to generate 12s (289 frames) at 720p.*
-
-Please note Hunyuan v1 Loras are not compatible since the latent space is different. You can add loras for Hunyuan Video 1.5 in the *loras_hunyuan/1.5* folder.
-
-*Update 9.62* : Added Lora Accelerator\
-*Update 9.61* : Added VAE Temporal Tiling
-
-### November 21 2025: WanGP v9.52, And there was motion
-
-In this release WanGP turns you into a Motion Master:
-- **Motion Designer**: this new preinstalled home made Graphical Plugin will let you design trajectories for *Vace* and for *Wan 2.2 i2v Time to Move*.
-
-- **Vace Motion**: this is a less known feature of the almighty *Vace* (this was last Vace feature not yet implemented in WanGP), just put some moving rectangles in your *Control Video* (in Vace raw format) and you will be able to move around people / objects or even the camera. The *Motion Designer* will let you create these trajectories in only a few clicks.
-
-- **Wan 2.2 i2v Time to Move**: a few brillant people (https://github.com/time-to-move/TTM) discovered that you could steer the motion of a model such as *Wan 2.2 i2v* without changing its weights. You just need to apply specific *Control* and *Mask* videos. The *Motion Designer* has an *i2v TTM* mode that will let you generate the videos in the right format. The way it works is that using a *Start Image* you are going to define objects and their corresponding trajectories. For best results, it is recommended to provide as well a *Background Image* which is the Start Image without the objects you are moving (use Qwen for that). TTM works with Loras Accelerators.
-
-*TTM Suggested Settings: Lightning i2v v1.0 2 Phases (8 Steps), Video to Video, Denoising Strenght 0.9, Masking Strength 0.1*. I will upload Sample Settings later in the *Settings Channel*
-
-- **PainterI2V**: (https://github.com/princepainter/). You found that the i2v loras accelerators kill the motion ? This is an alternative to 3 phases guidance to restore motion, it is free as it doesnt require any extra processing or changing the weights. It works best in a scene where the background remains the same. In order to control the acceleration in i2v models, you will find a new *Motion Amplitude* slider in the *Quality* tab.
-
-- **Nexus 1.3B**: this is an incredible *Wan 2.1 1.3B* finetune made by @Nexus. It is specialized in *Human Motion* (dance, fights, gym, ...). It is fast as it is already *Causvid* accelerated. Try it with the *Prompt Enhancer* at 720p.
-
-- **Black Start Frames** for Wan 2.1/2.2 i2v: some i2v models can be turned into powerful t2v models by providing a **black frame** as a *Start Frame*. From now on if you dont provide any start frame, WanGP will generate automatically a black start frame of the current output resolution or of the correspondig *End frame resolution* (if any).
-
-*update 9.51*: Fixed Chrono Edit Output, added Temporal Reasoning Video\
-*update 9.52*: Black start frames support for Wan i2v models
-
-### November 12 2025: WanGP v9.44, Free Lunch
-
-**VAE Upsampler** for Wan 2.1/2.2 Text 2 Image and Qwen Image: *spacepxl* has tweaked the VAE Decoder used by *Wan* & *Qwen* so that it can decode and upsample x2 at the same time. The end Result is a Fast High Quality Image Upsampler (much better than Lanczos). Check the *Postprocessing Tab* / *Spatial Upsampling* Dropdown box. Unfortunately this will work only with Image Generation, no support yet for Video Generation. I have also added a VAE Refiner that keeps the existing resolution but slightly improves the details.
-
-**Mocha**: a very requested alternative to *Wan Animate* . Use this model to replace a person in a control video. For best results you will need to provide two reference images for the new the person, the second image should be a face close up. This model seems to be optimized to generate 81 frames. First output frame is often messed up. *Lightx2v t2v 4 steps Lora Accelarator* works well. Please note this model is VRAM hungry, for 81 frames to generate it will process internaly 161 frames.
-
-**Lucy Edit v1.1**: a new version (finetune) has been released. Not sure yet if I like it better than the original one. In theory it should work better with changing the background setting for instance.
-
-**Ovi 1.1**: This new version exists in two flavors 5s & 10s ! Thanks to WanGP VRAM optimisations only 8 GB will be only needed for a 10s generation. Beware, the Prompt syntax has slightly changed since an audio background is now introduced using *"Audio:"* instead of using tags.
-
-**Top Models Selection**: if you are new to WanGP or are simply lost among the numerous models offered by WanGP, just check the updated *Guides* tab. You will find a list of highlighted models and advice about how & when to use them.
-
-
-*update 9.41*: Added Mocha & Lucy Edit 1.1\
-*update 9.42*: Added Ovi 1.1
-*update 9.43*: Improved Linux support: no more visual artifacts with fp8 finetunes, auto install ffmpeg, detect audio device, ...
-*update 9.44*: Added links to highlighted models in Guide tab
-
-### November 6 2025: WanGP v9.35, How many bananas are too many bananas ?
-
-- **Chrono Edit**: a new original way to edit an Image. This one will generate a Video will that performs the full edition work and return the last Image. It can be hit or a miss but when it works it is quite impressive. Please note you must absolutely use the *Prompt Enhancer* on your *Prompt Instruction* because this model expects a very specific format. The Prompt Enhancer for this model has a specific System Prompt to generate the right Chrono Edit Prompt.
-
-- **LyCoris** support: preliminary basic Lycoris support for this Lora format. At least Qwen Multi Camera should work (https://huggingface.co/dx8152/Qwen-Edit-2509-Multiple-angles). If you have a Lycoris that does not work and it may be interesting please mention it in the Request Channel
-
-- **i2v Enhanced Lightning v2** (update 9.37): added this impressive *Finetune* in the default selection of models, not only it is accelerated (4 steps), but it is very good at following camera and timing instructions.
-
-This finetune loves long prompts. Therefore to increase the prompt readability WanGP supports now multilines prompts (in option).
-
-*update 9.35*: Added a Sample PlugIn App that shows how to collect and modify settings from a PlugIn\
-*update 9.37*: Added i2v Enhanced Lightning
-
-### October 29 2025: WanGP v9.21, Why isn't all my VRAM used ?
-
-
-*WanGP exclusive*: VRAM requirements have never been that low !
-
-**Wan 2.2 Ovi 10 GB** for all the GPU Poors of the World: *only 6 GB of VRAM to generate 121 frames at 720p*. With 16 GB of VRAM, you may even be able to load all the model in VRAM with *Memory Profile 3*
-
-To get the x10 speed effect just apply the FastWan Lora Accelerator that comes prepackaged with Ovi (acccessible in the dropdown box Settings at the top)
-
-After thorough testing it appears that *Pytorch 2.8* is causing RAM memory leaks when switching models as it won't release all the RAM. I could not find any workaround. So the default Pytorch version to use with WanGP is back to *Pytorch 2.7*
-Unless you want absolutely to use Pytorch compilation which is not stable with Pytorch 2.7 with RTX 50xx , it is recommended to switch back to Pytorch 2.7.1 (tradeoff between 2.8 and 2.7):
-```bash
-cd Wan2GP
-conda activate wan2gp
-pip install torch==2.7.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
-```
-You will need to reinstall SageAttention FlashAttnetion, ...
-
-*update v9.21*: Got FastWan to work with Ovi: it is now 10 times faster ! (not including the VAE)\
-*update v9.25*: added Chroma Radiance october edition + reverted to pytorch 2.7
-
-### October 24 2025: WanGP v9.10, What else will you ever need after this one ?
-
-With WanGP v9 you will have enough features to go to a desert island with no internet connection and comes back with a full Hollywood movie.
-
-First here are the new models supported:
-- **Wan 2.1 Alpha** : a very requested model that can generate videos with *semi transparent background* (as it is very lora picky it supports only the *Self Forcing / lightning* loras accelerators)
-- **Chatterbox Multilingual**: the first *Voice Generator* in WanGP. Let's say you have a flu and lost your voice (somehow I can't think of another usecase), the world will still be able to hear you as *Chatterbox* can generate up to 15s clips of your voice using a recorded voice sample. Chatterbox works with numerous languages out the box.
-- **Flux DreamOmni2** : another wannabe *Nano Banana* image Editor / image composer. The *Edit Mode* ("Conditional Image is first Main Subject ...") seems to work better than the *Gen Mode* (Conditional Images are People / Objects ..."). If you have at least 16 GB of VRAM it is recommended to force profile 3 for this model (it uses an autoregressive model for the prompt encoding and the start may be slow).
-- **Ditto** (new with *WanGP 9.1* !): a powerful Video 2 Video model, can change for instance the style or the material visible in the video. Be aware it is an instruct based model, so the prompt should contain intructions.
-
-Upgraded Features:
-- A new **Audio Gallery** to store your Chatterbox generations and import your audio assets. *Metadata support* (stored gen settings) for *Wav files* generated with WanGP available from day one.
-- **Matanyone** improvements: you can now use it during a video gen, it will *suspend gracefully the Gen in progress*. *Input Video / Images* can be resized for faster processing & lower VRAM. Image version can now generate *Green screens* (not used by WanGP but I did it because someone asked for it and I am nice) and *Alpha masks*.
-- **Images Stored in Metadata**: Video Gen *Settings Metadata* that are stored in the Generated Videos can now contain the Start Image, Image Refs used to generate the Video. Many thanks to **Gunther-Schulz** for this contribution
-- **Three Levels of Hierarchy** to browse the models / finetunes: you can collect as many finetunes as you want now and they will no longer encumber the UI.
-- Added **Loras Accelerators** for *Wan 2.1 1.3B*, *Wan 2.2 i2v*, *Flux* and the latest *Wan 2.2 Lightning*
-- Finetunes now support **Custom Text Encoders** : you will need to use the "text_encoder_URLs" key. Please check the finetunes doc.
-- Sometime Less is More: removed the palingenesis finetunes that were controversial
-
-Huge Kudos & Thanks to **Tophness** that has outdone himself with these Great Features:
-- **Multicolors Queue** items with **Drag & Drop** to reorder them
-- **Edit a Gen Request** that is already in the queue
-- Added **Plugin support** to WanGP : found that features are missing in WanGP, you can now add tabs at the top in WanGP. Each tab may contain a full embedded App that can share data with the Video Generator of WanGP. Please check the Plugin guide written by Tophness and don't hesitate to contact him or me on the Discord if you have a plugin you want to share. I have added a new Plugins channels to discuss idea of plugins and help each other developing plugins. *Idea for a PlugIn that may end up popular*: a screen where you view the hard drive space used per model and that will let you remove unused models weights
-- Two Plugins ready to use designed & developped by **Tophness**: an **Extended Gallery** and a **Lora multipliers Wizard**
-
-WanGP v9 is now targetting Pytorch 2.8 although it should still work with 2.7, don't forget to upgrade by doing:
-```bash
-pip install torch==2.8.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
-```
-You will need to upgrade Sage Attention or Flash (check the installation guide)
-
-*Update info: you might have some git error message while upgrading to v9 if WanGP is already installed.*
-Sorry about that if that's the case, you will need to reinstall WanGP.
-There are two different ways to fix this issue while still preserving your data:
-1) **Command Line**
-If you have access to a terminal window :
-```
-cd installation_path_of_wangp
-git fetch origin && git reset --hard origin/main
-pip install -r requirements.txt
-```
-
-2) **Generic Method**
-a) move outside the installation WanGP folder the folders **ckpts**, **settings**, **outputs** and all the **loras** folders and the file **wgp_config.json**
-b) delete the WanGP folder and reinstall
-c) move back what you moved in a)
-
-
-
-
-See full changelog: **[Changelog](docs/CHANGELOG.md)**
-
-## 📋 Table of Contents
-
-- [🚀 Quick Start](#-quick-start)
-- [📦 Installation](#-installation)
-- [🎯 Usage](#-usage)
-- [📚 Documentation](#-documentation)
-- [🔗 Related Projects](#-related-projects)
-
-## 🚀 Quick Start
-
-**One-click installation:**
-- Get started instantly with [Pinokio App](https://pinokio.computer/)\
-It is recommended to use in Pinokio the Community Scripts *wan2gp* or *wan2gp-amd* by **Morpheus** rather than the official Pinokio install.
-
-- Use Redtash1 [One Click Install with Sage](https://github.com/Redtash1/Wan2GP-Windows-One-Click-Install-With-Sage)
-
-**Manual installation:**
-```bash
-git clone https://github.com/deepbeepmeep/Wan2GP.git
-cd Wan2GP
-conda create -n wan2gp python=3.10.9
-conda activate wan2gp
-pip install torch==2.7.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
-pip install -r requirements.txt
-```
-
-**Run the application:**
-```bash
-python wgp.py
-```
-
-First time using WanGP ? Just check the *Guides* tab, and you will find a selection of recommended models to use.
-
-**Update the application:**
-If using Pinokio use Pinokio to update otherwise:
-Get in the directory where WanGP is installed and:
-```bash
-git pull
-conda activate wan2gp
-pip install -r requirements.txt
-```
-
-if you get some error messages related to git, you may try the following (beware this will overwrite local changes made to the source code of WanGP):
-```bash
-git fetch origin && git reset --hard origin/main
-conda activate wan2gp
-pip install -r requirements.txt
-```
-
-**Run headless (batch processing):**
-
-Process saved queues without launching the web UI:
-```bash
-# Process a saved queue
-python wgp.py --process my_queue.zip
-```
-Create your queue in the web UI, save it with "Save Queue", then process it headless. See [CLI Documentation](docs/CLI.md) for details.
-
-## 🐳 Docker:
-
-**For Debian-based systems (Ubuntu, Debian, etc.):**
-
-```bash
-./run-docker-cuda-deb.sh
-```
-
-This automated script will:
-
-- Detect your GPU model and VRAM automatically
-- Select optimal CUDA architecture for your GPU
-- Install NVIDIA Docker runtime if needed
-- Build a Docker image with all dependencies
-- Run WanGP with optimal settings for your hardware
-
-**Docker environment includes:**
-
-- NVIDIA CUDA 12.4.1 with cuDNN support
-- PyTorch 2.6.0 with CUDA 12.4 support
-- SageAttention compiled for your specific GPU architecture
-- Optimized environment variables for performance (TF32, threading, etc.)
-- Automatic cache directory mounting for faster subsequent runs
-- Current directory mounted in container - all downloaded models, loras, generated videos and files are saved locally
-
-**Supported GPUs:** RTX 40XX, RTX 30XX, RTX 20XX, GTX 16XX, GTX 10XX, Tesla V100, A100, H100, and more.
-
-## 📦 Installation
-
-### Nvidia
-For detailed installation instructions for different GPU generations:
-- **[Installation Guide](docs/INSTALLATION.md)** - Complete setup instructions for RTX 10XX to RTX 50XX
-
-### AMD
-For detailed installation instructions for different GPU generations:
-- **[Installation Guide](docs/AMD-INSTALLATION.md)** - Complete setup instructions for Radeon RX 76XX, 77XX, 78XX & 79XX
-
-## 🎯 Usage
-
-### Basic Usage
-- **[Getting Started Guide](docs/GETTING_STARTED.md)** - First steps and basic usage
-- **[Models Overview](docs/MODELS.md)** - Available models and their capabilities
-
-### Advanced Features
-- **[Loras Guide](docs/LORAS.md)** - Using and managing Loras for customization
-- **[Finetunes](docs/FINETUNES.md)** - Add manually new models to WanGP
-- **[VACE ControlNet](docs/VACE.md)** - Advanced video control and manipulation
-- **[Command Line Reference](docs/CLI.md)** - All available command line options
-
-## 📚 Documentation
-
-- **[Changelog](docs/CHANGELOG.md)** - Latest updates and version history
-- **[Troubleshooting](docs/TROUBLESHOOTING.md)** - Common issues and solutions
-
-## 📚 Video Guides
-- Nice Video that explain how to use Vace:\
-https://www.youtube.com/watch?v=FMo9oN2EAvE
-- Another Vace guide:\
-https://www.youtube.com/watch?v=T5jNiEhf9xk
-
-## 🔗 Related Projects
-
-### Other Models for the GPU Poor
-- **[HuanyuanVideoGP](https://github.com/deepbeepmeep/HunyuanVideoGP)** - One of the best open source Text to Video generators
-- **[Hunyuan3D-2GP](https://github.com/deepbeepmeep/Hunyuan3D-2GP)** - Image to 3D and text to 3D tool
-- **[FluxFillGP](https://github.com/deepbeepmeep/FluxFillGP)** - Inpainting/outpainting tools based on Flux
-- **[Cosmos1GP](https://github.com/deepbeepmeep/Cosmos1GP)** - Text to world generator and image/video to world
-- **[OminiControlGP](https://github.com/deepbeepmeep/OminiControlGP)** - Flux-derived application for object transfer
-- **[YuE GP](https://github.com/deepbeepmeep/YuEGP)** - Song generator with instruments and singer's voice
-
----
-
-
-Made with ❤️ by DeepBeepMeep
-
+# WanGP
+
+-----
+
+WanGP by DeepBeepMeep : The best Open Source Video Generative Models Accessible to the GPU Poor
+
+
+WanGP supports the Wan (and derived models), Hunyuan Video and LTV Video models with:
+- Low VRAM requirements (as low as 6 GB of VRAM is sufficient for certain models)
+- Support for old Nvidia GPUs (RTX 10XX, 20xx, ...)
+- Support for AMD GPUs Radeon RX 76XX, 77XX, 78XX & 79XX, instructions in the Installation Section Below.
+- Very Fast on the latest GPUs
+- Easy to use Full Web based interface
+- Auto download of the required model adapted to your specific architecture
+- Tools integrated to facilitate Video Generation : Mask Editor, Prompt Enhancer, Temporal and Spatial Generation, MMAudio, Video Browser, Pose / Depth / Flow extractor
+- Loras Support to customize each model
+- Queuing system : make your shopping list of videos to generate and come back later
+
+**Discord Server to get Help from Other Users and show your Best Videos:** https://discord.gg/g7efUW9jGV
+
+**Follow DeepBeepMeep on Twitter/X to get the Latest News**: https://x.com/deepbeepmeep
+
+-----
+
+### You have your choice of Dark or Light Theme
+
+
+
+
+-----
+
+
+-----
+
+
+-----
+
+## 🔥 Latest Updates :
+### December 23 2025: WanGP v9.92, Early Christmas
+
+- **SCAIL Preview**: enjoy this *Wan Animate*, *Steady Dancer* contender that can support multiple people. Thanks to its 3D positioning, it can take into account which parts of the body are hidden and which are not.
+
+WanGP version has the following perks: 3D pose Preprocessing entirely rewritten to be fast, and compatible with any pytorch version, very Low VRAM requirements for multicharacters, experimental long gen mode / sliding windows (SCAIL Preview doesnt support officialy long gen yet)
+
+- **pi-Flux 2**: you don't use Flux 2 because you find it too slow ? You won't be able to use this excuse anymore: pi-Flux 2 is *4 steps distills* of the best image generator. It supports both image edition and text to image generation.
+
+- **Zandinksy v5** : for the video models collectors among you, you can try the Zandinsky model families, the 2B model quality is especially impressive given its small size
+
+- **Qwen Image Layered**: a new Qwen Image variant that lets you extract RGBA layers of your images so that each layer can be edited separately
+
+- **Qwen Image Edit Plus 2511**: Qwen Image Edit Plus 2511 improves identity preservation (especially at 1080p) and integrates out of the box popular effects such as religthing and camera changes
+
+- **loras accelerator**: *loras accelerator* for *Wan 2.2 t2v* and *Wan 2.1 i2v* have been added (activable using the *Profile settings* as usual)
+
+*update 9.91*: added Kandinsky 5 & Qwen Image Layered\
+*update 9.92*: added Qwen Image Edit Plus 2511
+
+### December 14 2025: WanGP v9.86, Simple Pleasures...
+
+These two features are going to change the life of many people:
+- **Pause Button**: ever had a urge to use your GPU for a very important task that can't wait (a game for instance ?), here comes your new friend the *Pause* button. Not only it will suspend the current gen in progress but it will free most of the VRAM used by WanGP (please note that the RAM by WanGP used wont be released). When you are done just click the *Resume* button to restart exactly from where you stopped.
+
+- **WanGP Headless**: trouble running remotely WanGP or having some stability issues with Gradio or your Web Browser. This is all past thanks to *WanGP Headless* mode. Here is how it works : first make you shopping list of Video Gen using the classic WanGP gradio interface. When you are done, click the *Save Queue* button and quit WanGP.
+
+Then in your terminal window just write this:
+```bash
+python wgp.py --process my_queue.zip
+```
+With WanGP 9.82, you can also process settings file (.json file exported using th *Export Settings* button):
+```bash
+python wgp.py --process my_settings.json
+```
+Processing Settings can be useful to do some quick gen / testing if you don't need to provide source image files (otherwise you will need to fill the paths to Start Images, Ref Image, ...)
+
+- **Output Filename Customization**: in the *Misc* tab you can now customize how the file names of new Generation are created, for example:
+```
+{date(YYYY-MM-DD_HH-mm-ss)}_{seed}_{prompt(50)}, {num_inference_steps}
+```
+
+- **Hunyuan Video 1.5 i2v distilled** : for those in need of their daily dose of new models, added *Hunyuan Video 1.5 i2v Distilled* (official release) + Lora Accelerator extracted from it (to be used in future finetunes). Also added *Magcache* support (optimized for 20 steps) for Hunyuan Video 1.5.
+
+- **Wan-Move** : Another model specialized to control motion using a *Start Image* and *Trajectories*. According to the author's paper it is the best one. *Motion Designer* has been upgraded to generate also trajectories for *Wan-Move*.
+
+- **Z-Image Control Net v2** : This is an upgrade of Z-Image Control Net. It offers much better results but requires much more processing an VRAM. But don't panic yet, as it was VRAM optimized. It was not an easy trick as this one is complex. It has also Inpainting support,but I need more info to release this feature.
+
+*update 9.81*: added Hunyuan Video 1.5 i2v distilled + magcache\
+*update 9.82*: added Settings headless processing, output file customization, refactored Task edition and queue processing\
+*update 9.83*: Qwen Edit+ upgraded: no more any zoom out at 1080p, enabled mask, enabled image refs with inpainting\
+*update 9.84*: added Wan-Move support\
+*update 9.85*: added Z-Image Control net v2\
+*update 9.86*: added NAG support for Z-Image
+
+### December 4 2025: WanGP v9.74, The Alpha & the Omega ... and the Dancer
+
+- **Flux 2**: the best ever open source *Image Generator* has just landed. It does everything very well: generate an *Image* based a *Text Prompt* or combine up to 10 *Images References*
+
+The only snag is that it is a 60B parameters for the *Transformer* part and 40B parameters for the *Text Encoder* part.
+
+Behold the WanGP Miracle ! Flux 2 wil work with only 8 GB of VRAM if you are happy with 8 bits quantization (no need for lower quality 4bits). With 9GB of VRAM you can run the model at full power. You will need at least 64 GB of RAM. If not maybe Memory Profile 5 will be your friend.
+
+*With WanGP v9.74*, **Flux 2 Control Net** hidden power has also been unleashed from the vanilla model. You can now enjoy Flux 2 *Inpainting* and *Pose transfer*. This can be combined with *Image Refs* to get the best *Identity Preservation* / *Face Swapping* an Image Model can offer: just target the effect to a specific area using a *Mask* and set *Denoising Strength* to 0.9-1.0 and *Masking Strength* to 0.3-0.4 for a perfect blending
+
+- **Z-Image**: a small model, very fast (8 steps), very low VRAM (optimized even more in WanGP for fun, just in case you want to generate 16 images at a time) that produces outstanding Image quality. Not yet the Flux 2 level, and no Image editing yet but a very good trade-off.
+
+While waiting for Z-Image edit, *WanGP 9.74* offers now support for **Z-Image Fun Control Net**. You can use it for *Pose transfer*, *Canny Edge* transfer. Don't be surprised if it is a bit slower. Please note it will work best at 1080p and will require a minimum of 9 steps.
+
+- **Steady Dancer**: here is *Wan Steady Dancer* a very nice alternative to *Wan Animate*. You can transfer the motion of a Control video in a very smooth way. It will work best with Videos where the action happens center stage (hint: *dancing*). Use the *Lora accelerator* *Fusionix i2v 10 steps* for a fast generation. For higher quality you can set *Condition Guidance* to 2 or if you are very patient keep *Guidance* to a value greater than 1.
+
+I have added a new Memory Profile *Profile 4+* that is sligthly slower than *Profile 4* but can save you up to 1GB of VRAM with Flux 2.
+
+Also as we have now quite few models and Loras folders. *I have moved all the loras folder in the 'loras' folder*. There are also now unique subfolders for *Wan 5B* and *Wan 1.3B* models. A conversion script should have moved the loras in the right locations, but I advise that you check just in case.
+
+*update 9.71* : added missing source file, have fun !\
+*update 9.72* : added Z-Image & Loras reorg\
+*update 9.73* : added Steady Dancer\
+*update 9.74* : added Z-Image Fun Control Net & Flux 2 Control Net + Masking
+
+### November 24 2025: WanGP v9.62, The Return of the King
+
+So here is *Tencet* who is back in the race: let's welcome **Hunyuan Video 1.5**
+
+Despite only 8B parameters it offers quite a high level of quality. It is not just one model but a family of models:
+- Text 2 Video
+- Image 2 Video
+- Upsamplers (720p & 1080p)
+
+Each model comes on day one with several finetunes specialized for a specific resolution.
+The downside right now is that to get the best quality you need to use guidance > 1 and a high number of Steps (20+).
+
+But dont go away yet ! **LightX2V** (https://huggingface.co/lightx2v/Hy1.5-Distill-Models/) is on deck and has already delivered an *Accelerated 4 steps Finetune* for the *t2v 480p* model. It is part of today's delivery.
+
+I have extracted *LighX2V Magic* into an *8 steps Accelerator Lora* that seems to work for i2v and the other resolutions. This should be good enough while waiting for other the official LighX2V releases (just select this lora in the *Settings* Dropdown Box).
+
+WanGP implementation of Hunyuan 1.5 is quite complete as you will get straight away *Video Gen Preview* (WanGP exclusivity!) and *Sliding Window* support. It is also ready for *Tea Cache* or *Mag Cache* (just waiting for the official parameters)
+
+*WanGP Hunyuan 1.5 is super VRAM optimized, you will need less than 20 GB of VRAM to generate 12s (289 frames) at 720p.*
+
+Please note Hunyuan v1 Loras are not compatible since the latent space is different. You can add loras for Hunyuan Video 1.5 in the *loras_hunyuan/1.5* folder.
+
+*Update 9.62* : Added Lora Accelerator\
+*Update 9.61* : Added VAE Temporal Tiling
+
+### November 21 2025: WanGP v9.52, And there was motion
+
+In this release WanGP turns you into a Motion Master:
+- **Motion Designer**: this new preinstalled home made Graphical Plugin will let you design trajectories for *Vace* and for *Wan 2.2 i2v Time to Move*.
+
+- **Vace Motion**: this is a less known feature of the almighty *Vace* (this was last Vace feature not yet implemented in WanGP), just put some moving rectangles in your *Control Video* (in Vace raw format) and you will be able to move around people / objects or even the camera. The *Motion Designer* will let you create these trajectories in only a few clicks.
+
+- **Wan 2.2 i2v Time to Move**: a few brillant people (https://github.com/time-to-move/TTM) discovered that you could steer the motion of a model such as *Wan 2.2 i2v* without changing its weights. You just need to apply specific *Control* and *Mask* videos. The *Motion Designer* has an *i2v TTM* mode that will let you generate the videos in the right format. The way it works is that using a *Start Image* you are going to define objects and their corresponding trajectories. For best results, it is recommended to provide as well a *Background Image* which is the Start Image without the objects you are moving (use Qwen for that). TTM works with Loras Accelerators.
+
+*TTM Suggested Settings: Lightning i2v v1.0 2 Phases (8 Steps), Video to Video, Denoising Strenght 0.9, Masking Strength 0.1*. I will upload Sample Settings later in the *Settings Channel*
+
+- **PainterI2V**: (https://github.com/princepainter/). You found that the i2v loras accelerators kill the motion ? This is an alternative to 3 phases guidance to restore motion, it is free as it doesnt require any extra processing or changing the weights. It works best in a scene where the background remains the same. In order to control the acceleration in i2v models, you will find a new *Motion Amplitude* slider in the *Quality* tab.
+
+- **Nexus 1.3B**: this is an incredible *Wan 2.1 1.3B* finetune made by @Nexus. It is specialized in *Human Motion* (dance, fights, gym, ...). It is fast as it is already *Causvid* accelerated. Try it with the *Prompt Enhancer* at 720p.
+
+- **Black Start Frames** for Wan 2.1/2.2 i2v: some i2v models can be turned into powerful t2v models by providing a **black frame** as a *Start Frame*. From now on if you dont provide any start frame, WanGP will generate automatically a black start frame of the current output resolution or of the correspondig *End frame resolution* (if any).
+
+*update 9.51*: Fixed Chrono Edit Output, added Temporal Reasoning Video\
+*update 9.52*: Black start frames support for Wan i2v models
+
+### November 12 2025: WanGP v9.44, Free Lunch
+
+**VAE Upsampler** for Wan 2.1/2.2 Text 2 Image and Qwen Image: *spacepxl* has tweaked the VAE Decoder used by *Wan* & *Qwen* so that it can decode and upsample x2 at the same time. The end Result is a Fast High Quality Image Upsampler (much better than Lanczos). Check the *Postprocessing Tab* / *Spatial Upsampling* Dropdown box. Unfortunately this will work only with Image Generation, no support yet for Video Generation. I have also added a VAE Refiner that keeps the existing resolution but slightly improves the details.
+
+**Mocha**: a very requested alternative to *Wan Animate* . Use this model to replace a person in a control video. For best results you will need to provide two reference images for the new the person, the second image should be a face close up. This model seems to be optimized to generate 81 frames. First output frame is often messed up. *Lightx2v t2v 4 steps Lora Accelarator* works well. Please note this model is VRAM hungry, for 81 frames to generate it will process internaly 161 frames.
+
+**Lucy Edit v1.1**: a new version (finetune) has been released. Not sure yet if I like it better than the original one. In theory it should work better with changing the background setting for instance.
+
+**Ovi 1.1**: This new version exists in two flavors 5s & 10s ! Thanks to WanGP VRAM optimisations only 8 GB will be only needed for a 10s generation. Beware, the Prompt syntax has slightly changed since an audio background is now introduced using *"Audio:"* instead of using tags.
+
+**Top Models Selection**: if you are new to WanGP or are simply lost among the numerous models offered by WanGP, just check the updated *Guides* tab. You will find a list of highlighted models and advice about how & when to use them.
+
+
+*update 9.41*: Added Mocha & Lucy Edit 1.1\
+*update 9.42*: Added Ovi 1.1
+*update 9.43*: Improved Linux support: no more visual artifacts with fp8 finetunes, auto install ffmpeg, detect audio device, ...
+*update 9.44*: Added links to highlighted models in Guide tab
+
+### November 6 2025: WanGP v9.35, How many bananas are too many bananas ?
+
+- **Chrono Edit**: a new original way to edit an Image. This one will generate a Video will that performs the full edition work and return the last Image. It can be hit or a miss but when it works it is quite impressive. Please note you must absolutely use the *Prompt Enhancer* on your *Prompt Instruction* because this model expects a very specific format. The Prompt Enhancer for this model has a specific System Prompt to generate the right Chrono Edit Prompt.
+
+- **LyCoris** support: preliminary basic Lycoris support for this Lora format. At least Qwen Multi Camera should work (https://huggingface.co/dx8152/Qwen-Edit-2509-Multiple-angles). If you have a Lycoris that does not work and it may be interesting please mention it in the Request Channel
+
+- **i2v Enhanced Lightning v2** (update 9.37): added this impressive *Finetune* in the default selection of models, not only it is accelerated (4 steps), but it is very good at following camera and timing instructions.
+
+This finetune loves long prompts. Therefore to increase the prompt readability WanGP supports now multilines prompts (in option).
+
+*update 9.35*: Added a Sample PlugIn App that shows how to collect and modify settings from a PlugIn\
+*update 9.37*: Added i2v Enhanced Lightning
+
+### October 29 2025: WanGP v9.21, Why isn't all my VRAM used ?
+
+
+*WanGP exclusive*: VRAM requirements have never been that low !
+
+**Wan 2.2 Ovi 10 GB** for all the GPU Poors of the World: *only 6 GB of VRAM to generate 121 frames at 720p*. With 16 GB of VRAM, you may even be able to load all the model in VRAM with *Memory Profile 3*
+
+To get the x10 speed effect just apply the FastWan Lora Accelerator that comes prepackaged with Ovi (acccessible in the dropdown box Settings at the top)
+
+After thorough testing it appears that *Pytorch 2.8* is causing RAM memory leaks when switching models as it won't release all the RAM. I could not find any workaround. So the default Pytorch version to use with WanGP is back to *Pytorch 2.7*
+Unless you want absolutely to use Pytorch compilation which is not stable with Pytorch 2.7 with RTX 50xx , it is recommended to switch back to Pytorch 2.7.1 (tradeoff between 2.8 and 2.7):
+```bash
+cd Wan2GP
+conda activate wan2gp
+pip install torch==2.7.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
+```
+You will need to reinstall SageAttention FlashAttnetion, ...
+
+*update v9.21*: Got FastWan to work with Ovi: it is now 10 times faster ! (not including the VAE)\
+*update v9.25*: added Chroma Radiance october edition + reverted to pytorch 2.7
+
+### October 24 2025: WanGP v9.10, What else will you ever need after this one ?
+
+With WanGP v9 you will have enough features to go to a desert island with no internet connection and comes back with a full Hollywood movie.
+
+First here are the new models supported:
+- **Wan 2.1 Alpha** : a very requested model that can generate videos with *semi transparent background* (as it is very lora picky it supports only the *Self Forcing / lightning* loras accelerators)
+- **Chatterbox Multilingual**: the first *Voice Generator* in WanGP. Let's say you have a flu and lost your voice (somehow I can't think of another usecase), the world will still be able to hear you as *Chatterbox* can generate up to 15s clips of your voice using a recorded voice sample. Chatterbox works with numerous languages out the box.
+- **Flux DreamOmni2** : another wannabe *Nano Banana* image Editor / image composer. The *Edit Mode* ("Conditional Image is first Main Subject ...") seems to work better than the *Gen Mode* (Conditional Images are People / Objects ..."). If you have at least 16 GB of VRAM it is recommended to force profile 3 for this model (it uses an autoregressive model for the prompt encoding and the start may be slow).
+- **Ditto** (new with *WanGP 9.1* !): a powerful Video 2 Video model, can change for instance the style or the material visible in the video. Be aware it is an instruct based model, so the prompt should contain intructions.
+
+Upgraded Features:
+- A new **Audio Gallery** to store your Chatterbox generations and import your audio assets. *Metadata support* (stored gen settings) for *Wav files* generated with WanGP available from day one.
+- **Matanyone** improvements: you can now use it during a video gen, it will *suspend gracefully the Gen in progress*. *Input Video / Images* can be resized for faster processing & lower VRAM. Image version can now generate *Green screens* (not used by WanGP but I did it because someone asked for it and I am nice) and *Alpha masks*.
+- **Images Stored in Metadata**: Video Gen *Settings Metadata* that are stored in the Generated Videos can now contain the Start Image, Image Refs used to generate the Video. Many thanks to **Gunther-Schulz** for this contribution
+- **Three Levels of Hierarchy** to browse the models / finetunes: you can collect as many finetunes as you want now and they will no longer encumber the UI.
+- Added **Loras Accelerators** for *Wan 2.1 1.3B*, *Wan 2.2 i2v*, *Flux* and the latest *Wan 2.2 Lightning*
+- Finetunes now support **Custom Text Encoders** : you will need to use the "text_encoder_URLs" key. Please check the finetunes doc.
+- Sometime Less is More: removed the palingenesis finetunes that were controversial
+
+Huge Kudos & Thanks to **Tophness** that has outdone himself with these Great Features:
+- **Multicolors Queue** items with **Drag & Drop** to reorder them
+- **Edit a Gen Request** that is already in the queue
+- Added **Plugin support** to WanGP : found that features are missing in WanGP, you can now add tabs at the top in WanGP. Each tab may contain a full embedded App that can share data with the Video Generator of WanGP. Please check the Plugin guide written by Tophness and don't hesitate to contact him or me on the Discord if you have a plugin you want to share. I have added a new Plugins channels to discuss idea of plugins and help each other developing plugins. *Idea for a PlugIn that may end up popular*: a screen where you view the hard drive space used per model and that will let you remove unused models weights
+- Two Plugins ready to use designed & developped by **Tophness**: an **Extended Gallery** and a **Lora multipliers Wizard**
+
+WanGP v9 is now targetting Pytorch 2.8 although it should still work with 2.7, don't forget to upgrade by doing:
+```bash
+pip install torch==2.8.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
+```
+You will need to upgrade Sage Attention or Flash (check the installation guide)
+
+*Update info: you might have some git error message while upgrading to v9 if WanGP is already installed.*
+Sorry about that if that's the case, you will need to reinstall WanGP.
+There are two different ways to fix this issue while still preserving your data:
+1) **Command Line**
+If you have access to a terminal window :
+```
+cd installation_path_of_wangp
+git fetch origin && git reset --hard origin/main
+pip install -r requirements.txt
+```
+
+2) **Generic Method**
+a) move outside the installation WanGP folder the folders **ckpts**, **settings**, **outputs** and all the **loras** folders and the file **wgp_config.json**
+b) delete the WanGP folder and reinstall
+c) move back what you moved in a)
+
+
+
+
+See full changelog: **[Changelog](docs/CHANGELOG.md)**
+
+## 📋 Table of Contents
+
+- [🚀 Quick Start](#-quick-start)
+- [📦 Installation](#-installation)
+- [🎯 Usage](#-usage)
+- [📚 Documentation](#-documentation)
+- [🔗 Related Projects](#-related-projects)
+
+## 🚀 Quick Start
+
+**One-click installation:**
+- Get started instantly with [Pinokio App](https://pinokio.computer/)\
+It is recommended to use in Pinokio the Community Scripts *wan2gp* or *wan2gp-amd* by **Morpheus** rather than the official Pinokio install.
+
+- Use Redtash1 [One Click Install with Sage](https://github.com/Redtash1/Wan2GP-Windows-One-Click-Install-With-Sage)
+
+**Manual installation:**
+```bash
+git clone https://github.com/deepbeepmeep/Wan2GP.git
+cd Wan2GP
+conda create -n wan2gp python=3.10.9
+conda activate wan2gp
+pip install torch==2.7.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
+pip install -r requirements.txt
+```
+
+**Run the application:**
+```bash
+python wgp.py
+```
+
+First time using WanGP ? Just check the *Guides* tab, and you will find a selection of recommended models to use.
+
+**Update the application:**
+If using Pinokio use Pinokio to update otherwise:
+Get in the directory where WanGP is installed and:
+```bash
+git pull
+conda activate wan2gp
+pip install -r requirements.txt
+```
+
+if you get some error messages related to git, you may try the following (beware this will overwrite local changes made to the source code of WanGP):
+```bash
+git fetch origin && git reset --hard origin/main
+conda activate wan2gp
+pip install -r requirements.txt
+```
+
+**Run headless (batch processing):**
+
+Process saved queues without launching the web UI:
+```bash
+# Process a saved queue
+python wgp.py --process my_queue.zip
+```
+Create your queue in the web UI, save it with "Save Queue", then process it headless. See [CLI Documentation](docs/CLI.md) for details.
+
+## 🐳 Docker:
+
+**For Debian-based systems (Ubuntu, Debian, etc.):**
+
+```bash
+./run-docker-cuda-deb.sh
+```
+
+This automated script will:
+
+- Detect your GPU model and VRAM automatically
+- Select optimal CUDA architecture for your GPU
+- Install NVIDIA Docker runtime if needed
+- Build a Docker image with all dependencies
+- Run WanGP with optimal settings for your hardware
+
+**Docker environment includes:**
+
+- NVIDIA CUDA 12.4.1 with cuDNN support
+- PyTorch 2.6.0 with CUDA 12.4 support
+- SageAttention compiled for your specific GPU architecture
+- Optimized environment variables for performance (TF32, threading, etc.)
+- Automatic cache directory mounting for faster subsequent runs
+- Current directory mounted in container - all downloaded models, loras, generated videos and files are saved locally
+
+**Supported GPUs:** RTX 40XX, RTX 30XX, RTX 20XX, GTX 16XX, GTX 10XX, Tesla V100, A100, H100, and more.
+
+## 📦 Installation
+
+### Nvidia
+For detailed installation instructions for different GPU generations:
+- **[Installation Guide](docs/INSTALLATION.md)** - Complete setup instructions for RTX 10XX to RTX 50XX
+
+### AMD
+For detailed installation instructions for different GPU generations:
+- **[Installation Guide](docs/AMD-INSTALLATION.md)** - Complete setup instructions for Radeon RX 76XX, 77XX, 78XX & 79XX
+
+## 🎯 Usage
+
+### Basic Usage
+- **[Getting Started Guide](docs/GETTING_STARTED.md)** - First steps and basic usage
+- **[Models Overview](docs/MODELS.md)** - Available models and their capabilities
+
+### Advanced Features
+- **[Loras Guide](docs/LORAS.md)** - Using and managing Loras for customization
+- **[Finetunes](docs/FINETUNES.md)** - Add manually new models to WanGP
+- **[VACE ControlNet](docs/VACE.md)** - Advanced video control and manipulation
+- **[Command Line Reference](docs/CLI.md)** - All available command line options
+
+## 📚 Documentation
+
+- **[Changelog](docs/CHANGELOG.md)** - Latest updates and version history
+- **[Troubleshooting](docs/TROUBLESHOOTING.md)** - Common issues and solutions
+
+## 📚 Video Guides
+- Nice Video that explain how to use Vace:\
+https://www.youtube.com/watch?v=FMo9oN2EAvE
+- Another Vace guide:\
+https://www.youtube.com/watch?v=T5jNiEhf9xk
+
+## 🔗 Related Projects
+
+### Other Models for the GPU Poor
+- **[HuanyuanVideoGP](https://github.com/deepbeepmeep/HunyuanVideoGP)** - One of the best open source Text to Video generators
+- **[Hunyuan3D-2GP](https://github.com/deepbeepmeep/Hunyuan3D-2GP)** - Image to 3D and text to 3D tool
+- **[FluxFillGP](https://github.com/deepbeepmeep/FluxFillGP)** - Inpainting/outpainting tools based on Flux
+- **[Cosmos1GP](https://github.com/deepbeepmeep/Cosmos1GP)** - Text to world generator and image/video to world
+- **[OminiControlGP](https://github.com/deepbeepmeep/OminiControlGP)** - Flux-derived application for object transfer
+- **[YuE GP](https://github.com/deepbeepmeep/YuEGP)** - Song generator with instruments and singer's voice
+
+---
+
+
+Made with ❤️ by DeepBeepMeep
+
diff --git a/defaults/frames2video.json b/defaults/frames2video.json
new file mode 100644
index 000000000..4e3e2de46
--- /dev/null
+++ b/defaults/frames2video.json
@@ -0,0 +1,42 @@
+{
+ "model": {
+ "name": "Wan2.2 Frames to Video 14B",
+ "architecture": "frames2video",
+ "base_model_type": "i2v",
+ "description": "Based on Wan 2.2 Image 2 Video model, this model morphs one image into another.",
+ "URLs": [
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_image2video_14B_high_mbf16.safetensors",
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_image2video_14B_high_quanto_mbf16_int8.safetensors",
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_image2video_14B_high_quanto_mfp16_int8.safetensors"
+ ],
+ "group": "wan2_2",
+ "settings_dir": "frames2video_2_2",
+
+ "loras": [
+ "https://huggingface.co/morphic/Wan2.2-frames-to-video/resolve/main/lora_interpolation_high_noise_final.safetensors"
+ ],
+ "loras_multipliers": [1.5],
+ "use_lora": true,
+ "loras_apply_mode": "unet",
+ "log_lora_merge": true
+ },
+ "prompt": "A clown, slowly transforms into a poster.",
+ "video_length": 81,
+ "guidance_scale": 7.0,
+ "num_inference_steps": 40,
+ "resolution": "1280x720",
+
+ "frame_num": 81,
+ "sampling_steps": 40,
+ "sample_solver": "unipc",
+ "shift": 8.0,
+ "seed": -1,
+ "offload_model": true,
+
+ "max_area": 921600,
+ "middle_images": null,
+ "middle_images_timestamps": null,
+ "image_start": "models/wan/frames2video/transition9_1.png",
+ "image_end": "models/wan/frames2video/transition9_2.png"
+
+}
diff --git a/defaults/i2v_palingenesis_2_2.json b/defaults/i2v_palingenesis_2_2.json
new file mode 100644
index 000000000..129ef654d
--- /dev/null
+++ b/defaults/i2v_palingenesis_2_2.json
@@ -0,0 +1,18 @@
+{
+ "model":
+ {
+ "name": "Wan2.2 Image2video Palingenesis 14B",
+ "architecture" : "i2v_2_2",
+ "description": "Wan 2.2 Image 2 Video model. Contrary to the Wan Image2video 2.1 this model is structurally close to the t2v model. Palingenesis a finetune praised for its high quality.",
+ "URLs": [ "https://huggingface.co/eddy1111111/WAN22.XX_Palingenesis/resolve/main/WAN22.XX_Palingenesis_high_i2v_fix.safetensors"],
+ "URLs2": [ "https://huggingface.co/eddy1111111/WAN22.XX_Palingenesis/resolve/main/WAN22.XX_Palingenesis_low_i2v_fix.safetensors"],
+ "group": "wan2_2"
+ },
+ "ignore_unused_weights": true,
+ "guidance_phases": 2,
+ "switch_threshold" : 900,
+ "guidance_scale" : 3.5,
+ "guidance2_scale" : 3.5,
+ "flow_shift" : 5
+
+}
\ No newline at end of file
diff --git a/defaults/t2v_lighting_palingenesis_2_2.json b/defaults/t2v_lighting_palingenesis_2_2.json
new file mode 100644
index 000000000..f14f03aea
--- /dev/null
+++ b/defaults/t2v_lighting_palingenesis_2_2.json
@@ -0,0 +1,25 @@
+{
+ "model":
+ {
+ "name": "Wan2.2 Text2video Lightning Palingenesis 14B",
+ "architecture" : "t2v_2_2",
+ "description": "Wan 2.2 Text 2 Video Lightning Dyno model. Palingenesis a finetune praised for its high quality is used for the Low noise model whereas the High Noise model uses Lightning Finetune that offers natively Loras accelerators. ",
+ "URLs": [
+ "https://huggingface.co/lightx2v/Wan2.2-Lightning/resolve/main/Wan2.2-T2V-A14B-4steps-250928-dyno/Wan2.2-T2V-A14B-4steps-250928-dyno-high-lightx2v.safetensors"
+ ],
+ "URLs2": ["https://huggingface.co/eddy1111111/WAN22.XX_Palingenesis/resolve/main/WAN22.XX_Palingenesis_low_t2v.safetensors"],
+ "loras_multipliers": ["0;1"],
+ "activated_loras": [
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/loras_accelerators/Wan22_A14B_T2V_LOW_Lightning_4steps_lora_250928_rank64_fp16.safetensors"
+ ],
+ "profiles_dir": [ "" ],
+ "group": "wan2_2"
+ },
+ "guidance_phases": 2,
+ "switch_threshold" : 875,
+ "guidance_scale" : 1,
+ "guidance2_scale" : 1,
+ "num_inference_steps": 4,
+ "flow_shift" : 3
+
+}
\ No newline at end of file
diff --git a/defaults/t2v_palingenesis_2_2.json b/defaults/t2v_palingenesis_2_2.json
new file mode 100644
index 000000000..e742cffab
--- /dev/null
+++ b/defaults/t2v_palingenesis_2_2.json
@@ -0,0 +1,15 @@
+{
+ "model":
+ {
+ "name": "Wan2.2 Text2video Palingenesis 14B",
+ "architecture" : "t2v_2_2",
+ "description": "Wan 2.2 Text 2 Video Palingenesis a finetune praised for its high quality.",
+ "URLs": ["https://huggingface.co/eddy1111111/WAN22.XX_Palingenesis/resolve/main/WAN22.XX_Palingenesis_high_t2v.safetensors"],
+ "URLs2": ["https://huggingface.co/eddy1111111/WAN22.XX_Palingenesis/resolve/main/WAN22.XX_Palingenesis_low_t2v.safetensors"],
+ "group": "wan2_2"
+ },
+ "guidance_phases": 2,
+ "switch_threshold" : 875,
+ "flow_shift" : 3
+
+}
\ No newline at end of file
diff --git a/docs/AMD-INSTALLATION.md b/docs/AMD-INSTALLATION.md
index 4f05589eb..3bdadc712 100644
--- a/docs/AMD-INSTALLATION.md
+++ b/docs/AMD-INSTALLATION.md
@@ -1,146 +1,146 @@
-# Installation Guide
-
-This guide covers installation for specific RDNA3 and RDNA3.5 AMD CPUs (APUs) and GPUs
-running under Windows.
-
-tl;dr: Radeon RX 7900 GOOD, RX 9700 BAD, RX 6800 BAD. (I know, life isn't fair).
-
-Currently supported (but not necessary tested):
-
-**gfx110x**:
-
-* Radeon RX 7600
-* Radeon RX 7700 XT
-* Radeon RX 7800 XT
-* Radeon RX 7900 GRE
-* Radeon RX 7900 XT
-* Radeon RX 7900 XTX
-
-**gfx1151**:
-
-* Ryzen 7000 series APUs (Phoenix)
-* Ryzen Z1 (e.g., handheld devices like the ROG Ally)
-
-**gfx1201**:
-
-* Ryzen 8000 series APUs (Strix Point)
-* A [frame.work](https://frame.work/au/en/desktop) desktop/laptop
-
-
-## Requirements
-
-- Python 3.11 (3.12 might work, 3.10 definately will not!)
-
-## Installation Environment
-
-This installation uses PyTorch 2.7.0 because that's what currently available in
-terms of pre-compiled wheels.
-
-### Installing Python
-
-Download Python 3.11 from [python.org/downloads/windows](https://www.python.org/downloads/windows/). Hit Ctrl+F and search for "3.11". Dont use this direct link: [https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe](https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe) -- that was an IQ test.
-
-After installing, make sure `python --version` works in your terminal and returns 3.11.x
-
-If not, you probably need to fix your PATH. Go to:
-
-* Windows + Pause/Break
-* Advanced System Settings
-* Environment Variables
-* Edit your `Path` under User Variables
-
-Example correct entries:
-
-```cmd
-C:\Users\YOURNAME\AppData\Local\Programs\Python\Launcher\
-C:\Users\YOURNAME\AppData\Local\Programs\Python\Python311\Scripts\
-C:\Users\YOURNAME\AppData\Local\Programs\Python\Python311\
-```
-
-If that doesnt work, scream into a bucket.
-
-### Installing Git
-
-Get Git from [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Default install is fine.
-
-
-## Install (Windows, using `venv`)
-
-### Step 1: Download and Set Up Environment
-
-```cmd
-:: Navigate to your desired install directory
-cd \your-path-to-wan2gp
-
-:: Clone the repository
-git clone https://github.com/deepbeepmeep/Wan2GP.git
-cd Wan2GP
-
-:: Create virtual environment using Python 3.10.9
-python -m venv wan2gp-env
-
-:: Activate the virtual environment
-wan2gp-env\Scripts\activate
-```
-
-### Step 2: Install PyTorch
-
-The pre-compiled wheels you need are hosted at [scottt's rocm-TheRock releases](https://github.com/scottt/rocm-TheRock/releases). Find the heading that says:
-
-**Pytorch wheels for gfx110x, gfx1151, and gfx1201**
-
-Don't click this link: [https://github.com/scottt/rocm-TheRock/releases/tag/v6.5.0rc-pytorch-gfx110x](https://github.com/scottt/rocm-TheRock/releases/tag/v6.5.0rc-pytorch-gfx110x). It's just here to check if you're skimming.
-
-Copy the links of the closest binaries to the ones in the example below (adjust if you're not running Python 3.11), then hit enter.
-
-```cmd
-pip install ^
- https://github.com/scottt/rocm-TheRock/releases/download/v6.5.0rc-pytorch-gfx110x/torch-2.7.0a0+rocm_git3f903c3-cp311-cp311-win_amd64.whl ^
- https://github.com/scottt/rocm-TheRock/releases/download/v6.5.0rc-pytorch-gfx110x/torchaudio-2.7.0a0+52638ef-cp311-cp311-win_amd64.whl ^
- https://github.com/scottt/rocm-TheRock/releases/download/v6.5.0rc-pytorch-gfx110x/torchvision-0.22.0+9eb57cd-cp311-cp311-win_amd64.whl
-```
-
-### Step 3: Install Dependencies
-
-```cmd
-:: Install core dependencies
-pip install -r requirements.txt
-```
-
-## Attention Modes
-
-WanGP supports several attention implementations, only one of which will work for you:
-
-- **SDPA** (default): Available by default with PyTorch. This uses the built-in aotriton accel library, so is actually pretty fast.
-
-## Performance Profiles
-
-Choose a profile based on your hardware:
-
-- **Profile 3 (LowRAM_HighVRAM)**: Loads entire model in VRAM, requires 24GB VRAM for 8-bit quantized 14B model
-- **Profile 4 (LowRAM_LowVRAM)**: Default, loads model parts as needed, slower but lower VRAM requirement
-
-## Running Wan2GP
-
-In future, you will have to do this:
-
-```cmd
-cd \path-to\wan2gp
-wan2gp\Scripts\activate.bat
-python wgp.py
-```
-
-For now, you should just be able to type `python wgp.py` (because you're already in the virtual environment)
-
-## Troubleshooting
-
-- If you use a HIGH VRAM mode, don't be a fool. Make sure you use VAE Tiled Decoding.
-
-### Memory Issues
-
-- Use lower resolution or shorter videos
-- Enable quantization (default)
-- Use Profile 4 for lower VRAM usage
-- Consider using 1.3B models instead of 14B models
-
-For more troubleshooting, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
+# Installation Guide
+
+This guide covers installation for specific RDNA3 and RDNA3.5 AMD CPUs (APUs) and GPUs
+running under Windows.
+
+tl;dr: Radeon RX 7900 GOOD, RX 9700 BAD, RX 6800 BAD. (I know, life isn't fair).
+
+Currently supported (but not necessary tested):
+
+**gfx110x**:
+
+* Radeon RX 7600
+* Radeon RX 7700 XT
+* Radeon RX 7800 XT
+* Radeon RX 7900 GRE
+* Radeon RX 7900 XT
+* Radeon RX 7900 XTX
+
+**gfx1151**:
+
+* Ryzen 7000 series APUs (Phoenix)
+* Ryzen Z1 (e.g., handheld devices like the ROG Ally)
+
+**gfx1201**:
+
+* Ryzen 8000 series APUs (Strix Point)
+* A [frame.work](https://frame.work/au/en/desktop) desktop/laptop
+
+
+## Requirements
+
+- Python 3.11 (3.12 might work, 3.10 definately will not!)
+
+## Installation Environment
+
+This installation uses PyTorch 2.7.0 because that's what currently available in
+terms of pre-compiled wheels.
+
+### Installing Python
+
+Download Python 3.11 from [python.org/downloads/windows](https://www.python.org/downloads/windows/). Hit Ctrl+F and search for "3.11". Dont use this direct link: [https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe](https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe) -- that was an IQ test.
+
+After installing, make sure `python --version` works in your terminal and returns 3.11.x
+
+If not, you probably need to fix your PATH. Go to:
+
+* Windows + Pause/Break
+* Advanced System Settings
+* Environment Variables
+* Edit your `Path` under User Variables
+
+Example correct entries:
+
+```cmd
+C:\Users\YOURNAME\AppData\Local\Programs\Python\Launcher\
+C:\Users\YOURNAME\AppData\Local\Programs\Python\Python311\Scripts\
+C:\Users\YOURNAME\AppData\Local\Programs\Python\Python311\
+```
+
+If that doesnt work, scream into a bucket.
+
+### Installing Git
+
+Get Git from [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Default install is fine.
+
+
+## Install (Windows, using `venv`)
+
+### Step 1: Download and Set Up Environment
+
+```cmd
+:: Navigate to your desired install directory
+cd \your-path-to-wan2gp
+
+:: Clone the repository
+git clone https://github.com/deepbeepmeep/Wan2GP.git
+cd Wan2GP
+
+:: Create virtual environment using Python 3.10.9
+python -m venv wan2gp-env
+
+:: Activate the virtual environment
+wan2gp-env\Scripts\activate
+```
+
+### Step 2: Install PyTorch
+
+The pre-compiled wheels you need are hosted at [scottt's rocm-TheRock releases](https://github.com/scottt/rocm-TheRock/releases). Find the heading that says:
+
+**Pytorch wheels for gfx110x, gfx1151, and gfx1201**
+
+Don't click this link: [https://github.com/scottt/rocm-TheRock/releases/tag/v6.5.0rc-pytorch-gfx110x](https://github.com/scottt/rocm-TheRock/releases/tag/v6.5.0rc-pytorch-gfx110x). It's just here to check if you're skimming.
+
+Copy the links of the closest binaries to the ones in the example below (adjust if you're not running Python 3.11), then hit enter.
+
+```cmd
+pip install ^
+ https://github.com/scottt/rocm-TheRock/releases/download/v6.5.0rc-pytorch-gfx110x/torch-2.7.0a0+rocm_git3f903c3-cp311-cp311-win_amd64.whl ^
+ https://github.com/scottt/rocm-TheRock/releases/download/v6.5.0rc-pytorch-gfx110x/torchaudio-2.7.0a0+52638ef-cp311-cp311-win_amd64.whl ^
+ https://github.com/scottt/rocm-TheRock/releases/download/v6.5.0rc-pytorch-gfx110x/torchvision-0.22.0+9eb57cd-cp311-cp311-win_amd64.whl
+```
+
+### Step 3: Install Dependencies
+
+```cmd
+:: Install core dependencies
+pip install -r requirements.txt
+```
+
+## Attention Modes
+
+WanGP supports several attention implementations, only one of which will work for you:
+
+- **SDPA** (default): Available by default with PyTorch. This uses the built-in aotriton accel library, so is actually pretty fast.
+
+## Performance Profiles
+
+Choose a profile based on your hardware:
+
+- **Profile 3 (LowRAM_HighVRAM)**: Loads entire model in VRAM, requires 24GB VRAM for 8-bit quantized 14B model
+- **Profile 4 (LowRAM_LowVRAM)**: Default, loads model parts as needed, slower but lower VRAM requirement
+
+## Running Wan2GP
+
+In future, you will have to do this:
+
+```cmd
+cd \path-to\wan2gp
+wan2gp\Scripts\activate.bat
+python wgp.py
+```
+
+For now, you should just be able to type `python wgp.py` (because you're already in the virtual environment)
+
+## Troubleshooting
+
+- If you use a HIGH VRAM mode, don't be a fool. Make sure you use VAE Tiled Decoding.
+
+### Memory Issues
+
+- Use lower resolution or shorter videos
+- Enable quantization (default)
+- Use Profile 4 for lower VRAM usage
+- Consider using 1.3B models instead of 14B models
+
+For more troubleshooting, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index e8ee1de71..b691c3297 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -1,546 +1,546 @@
-# Changelog
-
-### October 6 2025: WanGP v8.999 - A few last things before the Big Unknown ...
-
-This new version hasn't any new model...
-
-...but temptation to upgrade will be high as it contains a few Loras related features that may change your Life:
-- **Ready to use Loras Accelerators Profiles** per type of model that you can apply on your current *Generation Settings*. Next time I will recommend a *Lora Accelerator*, it will be only one click away. And best of all of the required Loras will be downloaded automatically. When you apply an *Accelerator Profile*, input fields like the *Number of Denoising Steps* *Activated Loras*, *Loras Multipliers* (such as "1;0 0;1" ...) will be automatically filled. However your video specific fields will be preserved, so it will be easy to switch between Profiles to experiment. With *WanGP 8.993*, the *Accelerator Loras* are now merged with *Non Accelerator Loras". Things are getting too easy...
-
-- **Embedded Loras URL** : WanGP will now try to remember every Lora URLs it sees. For instance if someone sends you some settings that contain Loras URLs or you extract the Settings of Video generated by a friend with Loras URLs, these URLs will be automatically added to *WanGP URL Cache*. Conversely everything you will share (Videos, Settings, Lset files) will contain the download URLs if they are known. You can also download directly a Lora in WanGP by using the *Download Lora* button a the bottom. The Lora will be immediatly available and added to WanGP lora URL cache. This will work with *Hugging Face* as a repository. Support for CivitAi will come as soon as someone will nice enough to post a GitHub PR ...
-
-- **.lset file** supports embedded Loras URLs. It has never been easier to share a Lora with a friend. As a reminder a .lset file can be created directly from *WanGP Web Interface* and it contains a list of Loras and their multipliers, a Prompt and Instructions how to use these loras (like the Lora's *Trigger*). So with embedded Loras URL, you can send an .lset file by email or share it on discord: it is just a 1 KB tiny text, but with it other people will be able to use Gigabytes Loras as these will be automatically downloaded.
-
-I have created the new Discord Channel **share-your-settings** where you can post your *Settings* or *Lset files*. I will be pleased to add new Loras Accelerators in the list of WanGP *Accelerators Profiles if you post some good ones there.
-
-*With the 8.993 update*, I have added support for **Scaled FP8 format**. As a sample case, I have created finetunes for the **Wan 2.2 PalinGenesis** Finetune which is quite popular recently. You will find it in 3 flavors : *t2v*, *i2v* and *Lightning Accelerated for t2v*.
-
-The *Scaled FP8 format* is widely used as it the format used by ... *ComfyUI*. So I except a flood of Finetunes in the *share-your-finetune* channel. If not it means this feature was useless and I will remove it 😈😈😈
-
-Not enough Space left on your SSD to download more models ? Would like to reuse Scaled FP8 files in your ComfyUI Folder without duplicating them ? Here comes *WanGP 8.994* **Multiple Checkpoints Folders** : you just need to move the files into different folders / hard drives or reuse existing folders and let know WanGP about it in the *Config Tab* and WanGP will be able to put all the parts together.
-
-Last but not least the Lora's documentation has been updated.
-
-*update 8.991*: full power of *Vace Lynx* unleashed with new combinations such as Landscape + Face / Clothes + Face / Injectd Frame (Start/End frames/...) + Face\
-*update 8.992*: optimized gen with Lora, should be 10% faster if many loras\
-*update 8.993*: Support for *Scaled FP8* format and samples *Paligenesis* finetunes, merged Loras Accelerators and Non Accelerators\
-*update 8.994*: Added custom checkpoints folders\
-*update 8.999*: fixed a lora + fp8 bug and version sync for the jump to the unknown
-
-### September 30 2025: WanGP v8.9 - Combinatorics
-
-This new version of WanGP introduces **Wan 2.1 Lynx** the best Control Net so far to transfer *Facial Identity*. You will be amazed to recognize your friends even with a completely different hair style. Congrats to the *Byte Dance team* for this achievement. Lynx works quite with well *Fusionix t2v* 10 steps.
-
-*WanGP 8.9* also illustrate how existing WanGP features can be easily combined with new models. For instance with *Lynx* you will get out of the box *Video to Video* and *Image/Text to Image*.
-
-Another fun combination is *Vace* + *Lynx*, which works much better than *Vace StandIn*. I have added sliders to change the weight of Vace & Lynx to allow you to tune the effects.
-
-### September 28 2025: WanGP v8.76 - ~~Here Are Two Three New Contenders in the Vace Arena !~~ The Never Ending Release
-
-So in ~~today's~~ this release you will find two Wannabe Vace that covers each only a subset of Vace features but offers some interesting advantages:
-- **Wan 2.2 Animate**: this model is specialized in *Body Motion* and *Facial Motion transfers*. It does that very well. You can use this model to either *Replace* a person in an in Video or *Animate* the person of your choice using an existing *Pose Video* (remember *Animate Anyone* ?). By default it will keep the original soundtrack. *Wan 2.2 Animate* seems to be under the hood a derived i2v model and should support the corresponding Loras Accelerators (for instance *FusioniX t2v*). Also as a WanGP exclusivity, you will find support for *Outpainting*.
-
-In order to use Wan 2.2 Animate you will need first to stop by the *Mat Anyone* embedded tool, to extract the *Video Mask* of the person from which you want to extract the motion.
-
-With version WanGP 8.74, there is an extra option that allows you to apply *Relighting* when Replacing a person. Also, you can now Animate a person without providing a Video Mask to target the source of the motion (with the risk it will be less precise)
-
-For those of you who have a mask halo effect when Animating a character I recommend trying *SDPA attention* and to use the *FusioniX i2v* lora. If this issue persists (this will depend on the control video) you have now a choice of the two *Animate Mask Options* in *WanGP 8.76*. The old masking option which was a WanGP exclusive has been renamed *See Through Mask* because the background behind the animated character was preserved but this creates sometime visual artifacts. The new option which has the shorter name is what you may find elsewhere online. As it uses internally a much larger mask, there is no halo. However the immediate background behind the character is not preserved and may end completely different.
-
-- **Lucy Edit**: this one claims to be a *Nano Banana* for Videos. Give it a video and asks it to change it (it is specialized in clothes changing) and voila ! The nice thing about it is that is it based on the *Wan 2.2 5B* model and therefore is very fast especially if you the *FastWan* finetune that is also part of the package.
-
-Also because I wanted to spoil you:
-- **Qwen Edit Plus**: also known as the *Qwen Edit 25th September Update* which is specialized in combining multiple Objects / People. There is also a new support for *Pose transfer* & *Recolorisation*. All of this made easy to use in WanGP. You will find right now only the quantized version since HF crashes when uploading the unquantized version.
-
-- **T2V Video 2 Video Masking**: ever wanted to apply a Lora, a process (for instance Upsampling) or a Text Prompt on only a (moving) part of a Source Video. Look no further, I have added *Masked Video 2 Video* (which works also in image2image) in the *Text 2 Video* models. As usual you just need to use *Matanyone* to creatre the mask.
-
-
-*Update 8.71*: fixed Fast Lucy Edit that didnt contain the lora
-*Update 8.72*: shadow drop of Qwen Edit Plus
-*Update 8.73*: Qwen Preview & InfiniteTalk Start image
-*Update 8.74*: Animate Relighting / Nomask mode , t2v Masked Video to Video
-*Update 8.75*: REDACTED
-*Update 8.76*: Alternate Animate masking that fixes the mask halo effect that some users have
-
-### September 15 2025: WanGP v8.6 - Attack of the Clones
-
-- The long awaited **Vace for Wan 2.2** is at last here or maybe not: it has been released by the *Fun Team* of *Alibaba* and it is not official. You can play with the vanilla version (**Vace Fun**) or with the one accelerated with Loras (**Vace Fan Cocktail**)
-
-- **First Frame / Last Frame for Vace** : Vace models are so powerful that they could do *First frame / Last frame* since day one using the *Injected Frames* feature. However this required to compute by hand the locations of each end frame since this feature expects frames positions. I made it easier to compute these locations by using the "L" alias :
-
-For a video Gen from scratch *"1 L L L"* means the 4 Injected Frames will be injected like this: frame no 1 at the first position, the next frame at the end of the first window, then the following frame at the end of the next window, and so on ....
-If you *Continue a Video* , you just need *"L L L"* since the first frame is the last frame of the *Source Video*. In any case remember that numeral frames positions (like "1") are aligned by default to the beginning of the source window, so low values such as 1 will be considered in the past unless you change this behaviour in *Sliding Window Tab/ Control Video, Injected Frames aligment*.
-
-- **Qwen Edit Inpainting** exists now in two versions: the original version of the previous release and a Lora based version. Each version has its pros and cons. For instance the Lora version supports also **Outpainting** ! However it tends to change slightly the original image even outside the outpainted area.
-
-- **Better Lipsync with all the Audio to Video models**: you probably noticed that *Multitalk*, *InfiniteTalk* or *Hunyuan Avatar* had so so lipsync when the audio provided contained some background music. The problem should be solved now thanks to an automated background music removal all done by IA. Don't worry you will still hear the music as it is added back in the generated Video.
-
-### September 11 2025: WanGP v8.5/8.55 - Wanna be a Cropper or a Painter ?
-
-I have done some intensive internal refactoring of the generation pipeline to ease support of existing models or add new models. Nothing really visible but this makes WanGP is little more future proof.
-
-Otherwise in the news:
-- **Cropped Input Image Prompts**: as quite often most *Image Prompts* provided (*Start Image, Input Video, Reference Image, Control Video, ...*) rarely matched your requested *Output Resolution*. In that case I used the resolution you gave either as a *Pixels Budget* or as an *Outer Canvas* for the Generated Video. However in some occasion you really want the requested Output Resolution and nothing else. Besides some models deliver much better Generations if you stick to one of their supported resolutions. In order to address this need I have added a new Output Resolution choice in the *Configuration Tab*: **Dimensions Correspond to the Ouput Weight & Height as the Prompt Images will be Cropped to fit Exactly these dimensins**. In short if needed the *Input Prompt Images* will be cropped (centered cropped for the moment). You will see this can make quite a difference for some models
-
-- *Qwen Edit* has now a new sub Tab called **Inpainting**, that lets you target with a brush which part of the *Image Prompt* you want to modify. This is quite convenient if you find that Qwen Edit modifies usually too many things. Of course, as there are more constraints for Qwen Edit don't be surprised if sometime it will return the original image unchanged. A piece of advise: describe in your *Text Prompt* where (for instance *left to the man*, *top*, ...) the parts that you want to modify are located.
-
-The mask inpainting is fully compatible with *Matanyone Mask generator*: generate first an *Image Mask* with Matanyone, transfer it to the current Image Generator and modify the mask with the *Paint Brush*. Talking about matanyone I have fixed a bug that caused a mask degradation with long videos (now WanGP Matanyone is as good as the original app and still requires 3 times less VRAM)
-
-- This **Inpainting Mask Editor** has been added also to *Vace Image Mode*. Vace is probably still one of best Image Editor today. Here is a very simple & efficient workflow that do marvels with Vace:
-Select *Vace Cocktail > Control Image Process = Perform Inpainting & Area Processed = Masked Area > Upload a Control Image, then draw your mask directly on top of the image & enter a text Prompt that describes the expected change > Generate > Below the Video Gallery click 'To Control Image' > Keep on doing more changes*.
-
-Doing more sophisticated thing Vace Image Editor works very well too: try Image Outpainting, Pose transfer, ...
-
-For the best quality I recommend to set in *Quality Tab* the option: "*Generate a 9 Frames Long video...*"
-
-**update 8.55**: Flux Festival
-- **Inpainting Mode** also added for *Flux Kontext*
-- **Flux SRPO** : new finetune with x3 better quality vs Flux Dev according to its authors. I have also created a *Flux SRPO USO* finetune which is certainly the best open source *Style Transfer* tool available
-- **Flux UMO**: model specialized in combining multiple reference objects / people together. Works quite well at 768x768
-
-Good luck with finding your way through all the Flux models names !
-
-### September 5 2025: WanGP v8.4 - Take me to Outer Space
-You have probably seen these short AI generated movies created using *Nano Banana* and the *First Frame - Last Frame* feature of *Kling 2.0*. The idea is to generate an image, modify a part of it with Nano Banana and give the these two images to Kling that will generate the Video between these two images, use now the previous Last Frame as the new First Frame, rinse and repeat and you get a full movie.
-
-I have made it easier to do just that with *Qwen Edit* and *Wan*:
-- **End Frames can now be combined with Continue a Video** (and not just a Start Frame)
-- **Multiple End Frames can be inputed**, each End Frame will be used for a different Sliding Window
-
-You can plan in advance all your shots (one shot = one Sliding Window) : I recommend using Wan 2.2 Image to Image with multiple End Frames (one for each shot / Sliding Window), and a different Text Prompt for each shot / Sliding Winow (remember to enable *Sliding Windows/Text Prompts Will be used for a new Sliding Window of the same Video Generation*)
-
-The results can quite be impressive. However, Wan 2.1 & 2.2 Image 2 Image are restricted to a single overlap frame when using Slide Windows, which means only one frame is reeused for the motion. This may be unsufficient if you are trying to connect two shots with fast movement.
-
-This is where *InfinitTalk* comes into play. Beside being one best models to generate animated audio driven avatars, InfiniteTalk uses internally more one than motion frames. It is quite good to maintain the motions between two shots. I have tweaked InfinitTalk so that **its motion engine can be used even if no audio is provided**.
-So here is how to use InfiniteTalk: enable *Sliding Windows/Text Prompts Will be used for a new Sliding Window of the same Video Generation*), and if you continue an existing Video *Misc/Override Frames per Second" should be set to "Source Video*. Each Reference Frame inputed will play the same role as the End Frame except it wont be exactly an End Frame (it will correspond more to a middle frame, the actual End Frame will differ but will be close)
-
-
-You will find below a 33s movie I have created using these two methods. Quality could be much better as I havent tuned at all the settings (I couldn't bother, I used 10 steps generation without Loras Accelerators for most of the gens).
-
-### September 2 2025: WanGP v8.31 - At last the pain stops
-
-- This single new feature should give you the strength to face all the potential bugs of this new release:
-**Images Management (multiple additions or deletions, reordering) for Start Images / End Images / Images References.**
-
-- Unofficial **Video to Video (Non Sparse this time) for InfinitTalk**. Use the Strength Noise slider to decide how much motion of the original window you want to keep. I have also *greatly reduced the VRAM requirements for Multitalk / Infinitalk* (especially the multispeakers version & when generating at 1080p).
-
-- **Experimental Sage 3 Attention support**: you will need to deserve this one, first you need a Blackwell GPU (RTX50xx) and request an access to Sage 3 Github repo, then you will have to compile Sage 3, install it and cross your fingers ...
-
-
-*update 8.31: one shouldnt talk about bugs if one doesn't want to attract bugs*
-
-
-## 🔥 Latest News
-### August 29 2025: WanGP v8.21 - Here Goes Your Weekend
-
-- **InfiniteTalk Video to Video**: this feature can be used for Video Dubbing. Keep in mind that it is a *Sparse Video to Video*, that is internally only image is used by Sliding Window. However thanks to the new *Smooth Transition* mode, each new clip is connected to the previous and all the camera work is done by InfiniteTalk. If you dont get any transition, increase the number of frames of a Sliding Window (81 frames recommended)
-
-- **StandIn**: very light model specialized in Identity Transfer. I have provided two versions of Standin: a basic one derived from the text 2 video model and another based on Vace. If used with Vace, the last reference frame given to Vace will be also used for StandIn
-
-- **Flux ESO**: a new Flux dervied *Image Editing tool*, but this one is specialized both in *Identity Transfer* and *Style Transfer*. Style has to be understood in its wide meaning: give a reference picture of a person and another one of Sushis and you will turn this person into Sushis
-
-### August 24 2025: WanGP v8.1 - the RAM Liberator
-
-- **Reserved RAM entirely freed when switching models**, you should get much less out of memory related to RAM. I have also added a button in *Configuration / Performance* that will release most of the RAM used by WanGP if you want to use another application without quitting WanGP
-- **InfiniteTalk** support: improved version of Multitalk that supposedly supports very long video generations based on an audio track. Exists in two flavors (*Single Speaker* and *Multi Speakers*) but doesnt seem to be compatible with Vace. One key new feature compared to Multitalk is that you can have different visual shots associated to the same audio: each Reference frame you provide you will be associated to a new Sliding Window. If only Reference frame is provided, it will be used for all windows. When Continuing a video, you can either continue the current shot (no Reference Frame) or add new shots (one or more Reference Frames).\
-If you are not into audio, you can use still this model to generate infinite long image2video, just select "no speaker". Last but not least, Infinitetalk works works with all the Loras accelerators.
-- **Flux Chroma 1 HD** support: uncensored flux based model and lighter than Flux (8.9B versus 12B) and can fit entirely in VRAM with only 16 GB of VRAM. Unfortunalely it is not distilled and you will need CFG at minimum 20 steps
-
-### August 21 2025: WanGP v8.01 - the killer of seven
-
-- **Qwen Image Edit** : Flux Kontext challenger (prompt driven image edition). Best results (including Identity preservation) will be obtained at 720p. Beyond you may get image outpainting and / or lose identity preservation. Below 720p prompt adherence will be worse. Qwen Image Edit works with Qwen Lora Lightning 4 steps. I have also unlocked all the resolutions for Qwen models. Bonus Zone: support for multiple image compositions but identity preservation won't be as good.
-- **On demand Prompt Enhancer** (needs to be enabled in Configuration Tab) that you can use to Enhance a Text Prompt before starting a Generation. You can refine the Enhanced Prompt or change the original Prompt.
-- Choice of a **Non censored Prompt Enhancer**. Beware this is one is VRAM hungry and will require 12 GB of VRAM to work
-- **Memory Profile customizable per model** : useful to set for instance Profile 3 (preload the model entirely in VRAM) with only Image Generation models, if you have 24 GB of VRAM. In that case Generation will be much faster because with Image generators (contrary to Video generators) as a lot of time is wasted in offloading
-- **Expert Guidance Mode**: change the Guidance during the generation up to 2 times. Very useful with Wan 2.2 Ligthning to reduce the slow motion effect. The idea is to insert a CFG phase before the 2 accelerated phases that follow and have no Guidance. I have added the finetune *Wan2.2 Vace Lightning 3 Phases 14B* with a prebuilt configuration. Please note that it is a 8 steps process although the lora lightning is 4 steps. This expert guidance mode is also available with Wan 2.1.
-
-*WanGP 8.01 update, improved Qwen Image Edit Identity Preservation*
-### August 12 2025: WanGP v7.7777 - Lucky Day(s)
-
-This is your lucky day ! thanks to new configuration options that will let you store generated Videos and Images in lossless compressed formats, you will find they in fact they look two times better without doing anything !
-
-Just kidding, they will be only marginally better, but at least this opens the way to professionnal editing.
-
-Support:
-- Video: x264, x264 lossless, x265
-- Images: jpeg, png, webp, wbp lossless
-Generation Settings are stored in each of the above regardless of the format (that was the hard part).
-
-Also you can now choose different output directories for images and videos.
-
-unexpected luck: fixed lightning 8 steps for Qwen, and lightning 4 steps for Wan 2.2, now you just need 1x multiplier no weird numbers.
-*update 7.777 : oops got a crash a with FastWan ? Luck comes and goes, try a new update, maybe you will have a better chance this time*
-*update 7.7777 : Sometime good luck seems to last forever. For instance what if Qwen Lightning 4 steps could also work with WanGP ?*
-- https://huggingface.co/lightx2v/Qwen-Image-Lightning/resolve/main/Qwen-Image-Lightning-4steps-V1.0-bf16.safetensors (Qwen Lightning 4 steps)
-- https://huggingface.co/lightx2v/Qwen-Image-Lightning/resolve/main/Qwen-Image-Lightning-8steps-V1.1-bf16.safetensors (new improved version of Qwen Lightning 8 steps)
-
-
-### August 10 2025: WanGP v7.76 - Faster than the VAE ...
-We have a funny one here today: FastWan 2.2 5B, the Fastest Video Generator, only 20s to generate 121 frames at 720p. The snag is that VAE is twice as slow...
-Thanks to Kijai for extracting the Lora that is used to build the corresponding finetune.
-
-*WanGP 7.76: fixed the messed up I did to i2v models (loras path was wrong for Wan2.2 and Clip broken)*
-
-### August 9 2025: WanGP v7.74 - Qwen Rebirth part 2
-Added support for Qwen Lightning lora for a 8 steps generation (https://huggingface.co/lightx2v/Qwen-Image-Lightning/blob/main/Qwen-Image-Lightning-8steps-V1.0.safetensors). Lora is not normalized and you can use a multiplier around 0.1.
-
-Mag Cache support for all the Wan2.2 models Don't forget to set guidance to 1 and 8 denoising steps , your gen will be 7x faster !
-
-### August 8 2025: WanGP v7.73 - Qwen Rebirth
-Ever wondered what impact not using Guidance has on a model that expects it ? Just look at Qween Image in WanGP 7.71 whose outputs were erratic. Somehow I had convinced myself that Qwen was a distilled model. In fact Qwen was dying for a negative prompt. And in WanGP 7.72 there is at last one for him.
-
-As Qwen is not so picky after all I have added also quantized text encoder which reduces the RAM requirements of Qwen by 10 GB (the text encoder quantized version produced garbage before)
-
-Unfortunately still the Sage bug for older GPU architectures. Added Sdpa fallback for these architectures.
-
-*7.73 update: still Sage / Sage2 bug for GPUs before RTX40xx. I have added a detection mechanism that forces Sdpa attention if that's the case*
-
-
-### August 6 2025: WanGP v7.71 - Picky, picky
-
-This release comes with two new models :
-- Qwen Image: a Commercial grade Image generator capable to inject full sentences in the generated Image while still offering incredible visuals
-- Wan 2.2 TextImage to Video 5B: the last Wan 2.2 needed if you want to complete your Wan 2.2 collection (loras for this folder can be stored in "\loras\5B" )
-
-There is catch though, they are very picky if you want to get good generations: first they both need lots of steps (50 ?) to show what they have to offer. Then for Qwen Image I had to hardcode the supported resolutions, because if you try anything else, you will get garbage. Likewise Wan 2.2 5B will remind you of Wan 1.0 if you don't ask for at least 720p.
-
-*7.71 update: Added VAE Tiling for both Qwen Image and Wan 2.2 TextImage to Video 5B, for low VRAM during a whole gen.*
-
-
-### August 4 2025: WanGP v7.6 - Remuxed
-
-With this new version you won't have any excuse if there is no sound in your video.
-
-*Continue Video* now works with any video that has already some sound (hint: Multitalk ).
-
-Also, on top of MMaudio and the various sound driven models I have added the ability to use your own soundtrack.
-
-As a result you can apply a different sound source on each new video segment when doing a *Continue Video*.
-
-For instance:
-- first video part: use Multitalk with two people speaking
-- second video part: you apply your own soundtrack which will gently follow the multitalk conversation
-- third video part: you use Vace effect and its corresponding control audio will be concatenated to the rest of the audio
-
-To multiply the combinations I have also implemented *Continue Video* with the various image2video models.
-
-Also:
-- End Frame support added for LTX Video models
-- Loras can now be targetted specifically at the High noise or Low noise models with Wan 2.2, check the Loras and Finetune guides
-- Flux Krea Dev support
-
-### July 30 2025: WanGP v7.5: Just another release ... Wan 2.2 part 2
-Here is now Wan 2.2 image2video a very good model if you want to set Start and End frames. Two Wan 2.2 models delivered, only one to go ...
-
-Please note that although it is an image2video model it is structurally very close to Wan 2.2 text2video (same layers with only a different initial projection). Given that Wan 2.1 image2video loras don't work too well (half of their tensors are not supported), I have decided that this model will look for its loras in the text2video loras folder instead of the image2video folder.
-
-I have also optimized RAM management with Wan 2.2 so that loras and modules will be loaded only once in RAM and Reserved RAM, this saves up to 5 GB of RAM which can make a difference...
-
-And this time I really removed Vace Cocktail Light which gave a blurry vision.
-
-### July 29 2025: WanGP v7.4: Just another release ... Wan 2.2 Preview
-Wan 2.2 is here. The good news is that WanGP wont require a single byte of extra VRAM to run it and it will be as fast as Wan 2.1. The bad news is that you will need much more RAM if you want to leverage entirely this new model since it has twice has many parameters.
-
-So here is a preview version of Wan 2.2 that is without the 5B model and Wan 2.2 image to video for the moment.
-
-However as I felt bad to deliver only half of the wares, I gave you instead .....** Wan 2.2 Vace Experimental Cocktail** !
-
-Very good surprise indeed, the loras and Vace partially work with Wan 2.2. We will need to wait for the official Vace 2.2 release since some Vace features are broken like identity preservation
-
-Bonus zone: Flux multi images conditions has been added, or maybe not if I broke everything as I have been distracted by Wan...
-
-7.4 update: I forgot to update the version number. I also removed Vace Cocktail light which didnt work well.
-
-### July 27 2025: WanGP v7.3 : Interlude
-While waiting for Wan 2.2, you will appreciate the model selection hierarchy which is very useful to collect even more models. You will also appreciate that WanGP remembers which model you used last in each model family.
-
-### July 26 2025: WanGP v7.2 : Ode to Vace
-I am really convinced that Vace can do everything the other models can do and in a better way especially as Vace can be combined with Multitalk.
-
-Here are some new Vace improvements:
-- I have provided a default finetune named *Vace Cocktail* which is a model created on the fly using the Wan text 2 video model and the Loras used to build FusioniX. The weight of the *Detail Enhancer* Lora has been reduced to improve identity preservation. Copy the model definition in *defaults/vace_14B_cocktail.json* in the *finetunes/* folder to change the Cocktail composition. Cocktail contains already some Loras acccelerators so no need to add on top a Lora Accvid, Causvid or Fusionix, ... . The whole point of Cocktail is to be able to build you own FusioniX (which originally is a combination of 4 loras) but without the inconvenient of FusioniX.
-- Talking about identity preservation, it tends to go away when one generates a single Frame instead of a Video which is shame for our Vace photoshop. But there is a solution : I have added an Advanced Quality option, that tells WanGP to generate a little more than a frame (it will still keep only the first frame). It will be a little slower but you will be amazed how Vace Cocktail combined with this option will preserve identities (bye bye *Phantom*).
-- As in practise I have observed one switches frequently between *Vace text2video* and *Vace text2image* I have put them in the same place they are now just one tab away, no need to reload the model. Likewise *Wan text2video* and *Wan tex2image* have been merged.
-- Color fixing when using Sliding Windows. A new postprocessing *Color Correction* applied automatically by default (you can disable it in the *Advanced tab Sliding Window*) will try to match the colors of the new window with that of the previous window. It doesnt fix all the unwanted artifacts of the new window but at least this makes the transition smoother. Thanks to the multitalk team for the original code.
-
-Also you will enjoy our new real time statistics (CPU / GPU usage, RAM / VRAM used, ... ). Many thanks to **Redtash1** for providing the framework for this new feature ! You need to go in the Config tab to enable real time stats.
-
-
-### July 21 2025: WanGP v7.12
-- Flux Family Reunion : *Flux Dev* and *Flux Schnell* have been invited aboard WanGP. To celebrate that, Loras support for the Flux *diffusers* format has also been added.
-
-- LTX Video upgraded to version 0.9.8: you can now generate 1800 frames (1 min of video !) in one go without a sliding window. With the distilled model it will take only 5 minutes with a RTX 4090 (you will need 22 GB of VRAM though). I have added options to select higher humber frames if you want to experiment (go to Configuration Tab / General / Increase the Max Number of Frames, change the value and restart the App)
-
-- LTX Video ControlNet : it is a Control Net that allows you for instance to transfer a Human motion or Depth from a control video. It is not as powerful as Vace but can produce interesting things especially as now you can generate quickly a 1 min video. Under the scene IC-Loras (see below) for Pose, Depth and Canny are automatically loaded for you, no need to add them.
-
-- LTX IC-Lora support: these are special Loras that consumes a conditional image or video
-Beside the pose, depth and canny IC-Loras transparently loaded there is the *detailer* (https://huggingface.co/Lightricks/LTX-Video-ICLoRA-detailer-13b-0.9.8) which is basically an upsampler. Add the *detailer* as a Lora and use LTX Raw Format as control net choice to use it.
-
-- Matanyone is now also for the GPU Poor as its VRAM requirements have been divided by 2! (7.12 shadow update)
-
-- Easier way to select video resolution
-
-### July 15 2025: WanGP v7.0 is an AI Powered Photoshop
-This release turns the Wan models into Image Generators. This goes way more than allowing to generate a video made of single frame :
-- Multiple Images generated at the same time so that you can choose the one you like best.It is Highly VRAM optimized so that you can generate for instance 4 720p Images at the same time with less than 10 GB
-- With the *image2image* the original text2video WanGP becomes an image upsampler / restorer
-- *Vace image2image* comes out of the box with image outpainting, person / object replacement, ...
-- You can use in one click a newly Image generated as Start Image or Reference Image for a Video generation
-
-And to complete the full suite of AI Image Generators, Ladies and Gentlemen please welcome for the first time in WanGP : **Flux Kontext**.\
-As a reminder Flux Kontext is an image editor : give it an image and a prompt and it will do the change for you.\
-This highly optimized version of Flux Kontext will make you feel that you have been cheated all this time as WanGP Flux Kontext requires only 8 GB of VRAM to generate 4 images at the same time with no need for quantization.
-
-WanGP v7 comes with *Image2image* vanilla and *Vace FusinoniX*. However you can build your own finetune where you will combine a text2video or Vace model with any combination of Loras.
-
-Also in the news:
-- You can now enter the *Bbox* for each speaker in *Multitalk* to precisely locate who is speaking. And to save some headaches the *Image Mask generator* will give you the *Bbox* coordinates of an area you have selected.
-- *Film Grain* post processing to add a vintage look at your video
-- *First Last Frame to Video* model should work much better now as I have discovered rencently its implementation was not complete
-- More power for the finetuners, you can now embed Loras directly in the finetune definition. You can also override the default models (titles, visibility, ...) with your own finetunes. Check the doc that has been updated.
-
-
-### July 10 2025: WanGP v6.7, is NAG a game changer ? you tell me
-Maybe you knew that already but most *Loras accelerators* we use today (Causvid, FusioniX) don't use *Guidance* at all (that it is *CFG* is set to 1). This helps to get much faster generations but the downside is that *Negative Prompts* are completely ignored (including the default ones set by the models). **NAG** (https://github.com/ChenDarYen/Normalized-Attention-Guidance) aims to solve that by injecting the *Negative Prompt* during the *attention* processing phase.
-
-So WanGP 6.7 gives you NAG, but not any NAG, a *Low VRAM* implementation, the default one ends being VRAM greedy. You will find NAG in the *General* advanced tab for most Wan models.
-
-Use NAG especially when Guidance is set to 1. To turn it on set the **NAG scale** to something around 10. There are other NAG parameters **NAG tau** and **NAG alpha** which I recommend to change only if you don't get good results by just playing with the NAG scale. Don't hesitate to share on this discord server the best combinations for these 3 parameters.
-
-The authors of NAG claim that NAG can also be used when using a Guidance (CFG > 1) and to improve the prompt adherence.
-
-### July 8 2025: WanGP v6.6, WanGP offers you **Vace Multitalk Dual Voices Fusionix Infinite** :
-**Vace** our beloved super Control Net has been combined with **Multitalk** the new king in town that can animate up to two people speaking (**Dual Voices**). It is accelerated by the **Fusionix** model and thanks to *Sliding Windows* support and *Adaptive Projected Guidance* (much slower but should reduce the reddish effect with long videos) your two people will be able to talk for very a long time (which is an **Infinite** amount of time in the field of video generation).
-
-Of course you will get as well *Multitalk* vanilla and also *Multitalk 720p* as a bonus.
-
-And since I am mister nice guy I have enclosed as an exclusivity an *Audio Separator* that will save you time to isolate each voice when using Multitalk with two people.
-
-As I feel like resting a bit I haven't produced yet a nice sample Video to illustrate all these new capabilities. But here is the thing, I ams sure you will publish in the *Share Your Best Video* channel your *Master Pieces*. The best ones will be added to the *Announcements Channel* and will bring eternal fame to its authors.
-
-But wait, there is more:
-- Sliding Windows support has been added anywhere with Wan models, so imagine with text2video recently upgraded in 6.5 into a video2video, you can now upsample very long videos regardless of your VRAM. The good old image2video model can now reuse the last image to produce new videos (as requested by many of you)
-- I have added also the capability to transfer the audio of the original control video (Misc. advanced tab) and an option to preserve the fps into the generated video, so from now on you will be to upsample / restore your old families video and keep the audio at their original pace. Be aware that the duration will be limited to 1000 frames as I still need to add streaming support for unlimited video sizes.
-
-Also, of interest too:
-- Extract video info from Videos that have not been generated by WanGP, even better you can also apply post processing (Upsampling / MMAudio) on non WanGP videos
-- Force the generated video fps to your liking, works wery well with Vace when using a Control Video
-- Ability to chain URLs of Finetune models (for instance put the URLs of a model in your main finetune and reference this finetune in other finetune models to save time)
-
-### July 2 2025: WanGP v6.5.1, WanGP takes care of you: lots of quality of life features:
-- View directly inside WanGP the properties (seed, resolutions, length, most settings...) of the past generations
-- In one click use the newly generated video as a Control Video or Source Video to be continued
-- Manage multiple settings for the same model and switch between them using a dropdown box
-- WanGP will keep the last generated videos in the Gallery and will remember the last model you used if you restart the app but kept the Web page open
-- Custom resolutions : add a file in the WanGP folder with the list of resolutions you want to see in WanGP (look at the instruction readme in this folder)
-
-Taking care of your life is not enough, you want new stuff to play with ?
-- MMAudio directly inside WanGP : add an audio soundtrack that matches the content of your video. By the way it is a low VRAM MMAudio and 6 GB of VRAM should be sufficient. You will need to go in the *Extensions* tab of the WanGP *Configuration* to enable MMAudio
-- Forgot to upsample your video during the generation ? want to try another MMAudio variation ? Fear not you can also apply upsampling or add an MMAudio track once the video generation is done. Even better you can ask WangGP for multiple variations of MMAudio to pick the one you like best
-- MagCache support: a new step skipping approach, supposed to be better than TeaCache. Makes a difference if you usually generate with a high number of steps
-- SageAttention2++ support : not just the compatibility but also a slightly reduced VRAM usage
-- Video2Video in Wan Text2Video : this is the paradox, a text2video can become a video2video if you start the denoising process later on an existing video
-- FusioniX upsampler: this is an illustration of Video2Video in Text2Video. Use the FusioniX text2video model with an output resolution of 1080p and a denoising strength of 0.25 and you will get one of the best upsamplers (in only 2/3 steps, you will need lots of VRAM though). Increase the denoising strength and you will get one of the best Video Restorer
-- Choice of Wan Samplers / Schedulers
-- More Lora formats support
-
-**If you had upgraded to v6.5 please upgrade again to 6.5.1 as this will fix a bug that ignored Loras beyond the first one**
-
-### June 23 2025: WanGP v6.3, Vace Unleashed. Thought we couldnt squeeze Vace even more ?
-- Multithreaded preprocessing when possible for faster generations
-- Multithreaded frames Lanczos Upsampling as a bonus
-- A new Vace preprocessor : *Flow* to extract fluid motion
-- Multi Vace Controlnets: you can now transfer several properties at the same time. This opens new possibilities to explore, for instance if you transfer *Human Movement* and *Shapes* at the same time for some reasons the lighting of your character will take into account much more the environment of your character.
-- Injected Frames Outpainting, in case you missed it in WanGP 6.21
-
-Don't know how to use all of the Vace features ? Check the Vace Guide embedded in WanGP as it has also been updated.
-
-
-### June 19 2025: WanGP v6.2, Vace even more Powercharged
-👋 Have I told you that I am a big fan of Vace ? Here are more goodies to unleash its power:
-- If you ever wanted to watch Star Wars in 4:3, just use the new *Outpainting* feature and it will add the missing bits of image at the top and the bottom of the screen. The best thing is *Outpainting* can be combined with all the other Vace modifications, for instance you can change the main character of your favorite movie at the same time
-- More processing can combined at the same time (for instance the depth process can be applied outside the mask)
-- Upgraded the depth extractor to Depth Anything 2 which is much more detailed
-
-As a bonus, I have added two finetunes based on the Safe-Forcing technology (which requires only 4 steps to generate a video): Wan 2.1 text2video Self-Forcing and Vace Self-Forcing. I know there is Lora around but the quality of the Lora is worse (at least with Vace) compared to the full model. Don't hesitate to share your opinion about this on the discord server.
-### June 17 2025: WanGP v6.1, Vace Powercharged
-👋 Lots of improvements for Vace the Mother of all Models:
-- masks can now be combined with on the fly processing of a control video, for instance you can extract the motion of a specific person defined by a mask
-- on the fly modification of masks : reversed masks (with the same mask you can modify the background instead of the people covered by the masks), enlarged masks (you can cover more area if for instance the person you are trying to inject is larger than the one in the mask), ...
-- view these modified masks directly inside WanGP during the video generation to check they are really as expected
-- multiple frames injections: multiples frames can be injected at any location of the video
-- expand past videos in on click: just select one generated video to expand it
-
-Of course all these new stuff work on all Vace finetunes (including Vace Fusionix).
-
-Thanks also to Reevoy24 for adding a Notfication sound at the end of a generation and for fixing the background color of the current generation summary.
-
-### June 12 2025: WanGP v6.0
-👋 *Finetune models*: You find the 20 models supported by WanGP not sufficient ? Too impatient to wait for the next release to get the support for a newly released model ? Your prayers have been answered: if a new model is compatible with a model architecture supported by WanGP, you can add by yourself the support for this model in WanGP by just creating a finetune model definition. You can then store this model in the cloud (for instance in Huggingface) and the very light finetune definition file can be easily shared with other users. WanGP will download automatically the finetuned model for them.
-
-To celebrate the new finetunes support, here are a few finetune gifts (directly accessible from the model selection menu):
-- *Fast Hunyuan Video* : generate model t2v in only 6 steps
-- *Hunyuan Vido AccVideo* : generate model t2v in only 5 steps
-- *Wan FusioniX*: it is a combo of AccVideo / CausVid ans other models and can generate high quality Wan videos in only 8 steps
-
-One more thing...
-
-The new finetune system can be used to combine complementaty models : what happens when you combine Fusionix Text2Video and Vace Control Net ?
-
-You get **Vace FusioniX**: the Ultimate Vace Model, Fast (10 steps, no need for guidance) and with a much better quality Video than the original slower model (despite being the best Control Net out there). Here goes one more finetune...
-
-Check the *Finetune Guide* to create finetune models definitions and share them on the WanGP discord server.
-
-### June 11 2025: WanGP v5.5
-👋 *Hunyuan Video Custom Audio*: it is similar to Hunyuan Video Avatar excpet there isn't any lower limit on the number of frames and you can use your reference images in a different context than the image itself\
-*Hunyuan Video Custom Edit*: Hunyuan Video Controlnet, use it to do inpainting and replace a person in a video while still keeping his poses. Similar to Vace but less restricted than the Wan models in terms of content...
-
-### June 6 2025: WanGP v5.41
-👋 Bonus release: Support for **AccVideo** Lora to speed up x2 Video generations in Wan models. Check the Loras documentation to get the usage instructions of AccVideo.
-
-### June 6 2025: WanGP v5.4
-👋 World Exclusive : Hunyuan Video Avatar Support ! You won't need 80 GB of VRAM nor 32 GB oF VRAM, just 10 GB of VRAM will be sufficient to generate up to 15s of high quality speech / song driven Video at a high speed with no quality degradation. Support for TeaCache included.
-
-### May 26, 2025: WanGP v5.3
-👋 Happy with a Video generation and want to do more generations using the same settings but you can't remember what you did or you find it too hard to copy/paste one per one each setting from the file metadata? Rejoice! There are now multiple ways to turn this tedious process into a one click task:
-- Select one Video recently generated in the Video Gallery and click *Use Selected Video Settings*
-- Click *Drop File Here* and select a Video you saved somewhere, if the settings metadata have been saved with the Video you will be able to extract them automatically
-- Click *Export Settings to File* to save on your harddrive the current settings. You will be able to use them later again by clicking *Drop File Here* and select this time a Settings json file
-
-### May 23, 2025: WanGP v5.21
-👋 Improvements for Vace: better transitions between Sliding Windows, Support for Image masks in Matanyone, new Extend Video for Vace, different types of automated background removal
-
-### May 20, 2025: WanGP v5.2
-👋 Added support for Wan CausVid which is a distilled Wan model that can generate nice looking videos in only 4 to 12 steps. The great thing is that Kijai (Kudos to him!) has created a CausVid Lora that can be combined with any existing Wan t2v model 14B like Wan Vace 14B. See [LORAS.md](LORAS.md) for instructions on how to use CausVid.
-
-Also as an experiment I have added support for the MoviiGen, the first model that claims to be capable of generating 1080p videos (if you have enough VRAM (20GB...) and be ready to wait for a long time...). Don't hesitate to share your impressions on the Discord server.
-
-### May 18, 2025: WanGP v5.1
-👋 Bonus Day, added LTX Video 13B Distilled: generate in less than one minute, very high quality Videos!
-
-### May 17, 2025: WanGP v5.0
-👋 One App to Rule Them All! Added support for the other great open source architectures:
-- **Hunyuan Video**: text 2 video (one of the best, if not the best t2v), image 2 video and the recently released Hunyuan Custom (very good identity preservation when injecting a person into a video)
-- **LTX Video 13B** (released last week): very long video support and fast 720p generation. Wan GP version has been greatly optimized and reduced LTX Video VRAM requirements by 4!
-
-Also:
-- Added support for the best Control Video Model, released 2 days ago: Vace 14B
-- New Integrated prompt enhancer to increase the quality of the generated videos
-
-*You will need one more `pip install -r requirements.txt`*
-
-### May 5, 2025: WanGP v4.5
-👋 FantasySpeaking model, you can animate a talking head using a voice track. This works not only on people but also on objects. Also better seamless transitions between Vace sliding windows for very long videos. New high quality processing features (mixed 16/32 bits calculation and 32 bits VAE)
-
-### April 27, 2025: WanGP v4.4
-👋 Phantom model support, very good model to transfer people or objects into video, works quite well at 720p and with the number of steps > 30
-
-### April 25, 2025: WanGP v4.3
-👋 Added preview mode and support for Sky Reels v2 Diffusion Forcing for high quality "infinite length videos". Note that Skyreel uses causal attention that is only supported by Sdpa attention so even if you choose another type of attention, some of the processes will use Sdpa attention.
-
-### April 18, 2025: WanGP v4.2
-👋 FLF2V model support, official support from Wan for image2video start and end frames specialized for 720p.
-
-### April 17, 2025: WanGP v4.1
-👋 Recam Master model support, view a video from a different angle. The video to process must be at least 81 frames long and you should set at least 15 steps denoising to get good results.
-
-### April 13, 2025: WanGP v4.0
-👋 Lots of goodies for you!
-- A new UI, tabs were replaced by a Dropdown box to easily switch models
-- A new queuing system that lets you stack in a queue as many text2video, image2video tasks, ... as you want. Each task can rely on complete different generation parameters (different number of frames, steps, loras, ...). Many thanks to **Tophness** for being a big contributor on this new feature
-- Temporal upsampling (Rife) and spatial upsampling (Lanczos) for a smoother video (32 fps or 64 fps) and to enlarge your video by x2 or x4. Check these new advanced options.
-- Wan Vace Control Net support: with Vace you can inject in the scene people or objects, animate a person, perform inpainting or outpainting, continue a video, ... See [VACE.md](VACE.md) for introduction guide.
-- Integrated *Matanyone* tool directly inside WanGP so that you can create easily inpainting masks used in Vace
-- Sliding Window generation for Vace, create windows that can last dozens of seconds
-- New optimizations for old generation GPUs: Generate 5s (81 frames, 15 steps) of Vace 1.3B with only 5GB and in only 6 minutes on a RTX 2080Ti and 5s of t2v 14B in less than 10 minutes.
-
-### March 27, 2025
-👋 Added support for the new Wan Fun InP models (image2video). The 14B Fun InP has probably better end image support but unfortunately existing loras do not work so well with it. The great novelty is the Fun InP image2 1.3B model: Image 2 Video is now accessible to even lower hardware configuration. It is not as good as the 14B models but very impressive for its size. Many thanks to the VideoX-Fun team (https://github.com/aigc-apps/VideoX-Fun)
-
-### March 26, 2025
-👋 Good news! Official support for RTX 50xx please check the [installation instructions](INSTALLATION.md).
-
-### March 24, 2025: Wan2.1GP v3.2
-👋
-- Added Classifier-Free Guidance Zero Star. The video should match better the text prompt (especially with text2video) at no performance cost: many thanks to the **CFG Zero * Team**. Don't hesitate to give them a star if you appreciate the results: https://github.com/WeichenFan/CFG-Zero-star
-- Added back support for PyTorch compilation with Loras. It seems it had been broken for some time
-- Added possibility to keep a number of pregenerated videos in the Video Gallery (useful to compare outputs of different settings)
-
-*You will need one more `pip install -r requirements.txt`*
-
-### March 19, 2025: Wan2.1GP v3.1
-👋 Faster launch and RAM optimizations (should require less RAM to run)
-
-*You will need one more `pip install -r requirements.txt`*
-
-### March 18, 2025: Wan2.1GP v3.0
-👋
-- New Tab based interface, you can switch from i2v to t2v conversely without restarting the app
-- Experimental Dual Frames mode for i2v, you can also specify an End frame. It doesn't always work, so you will need a few attempts.
-- You can save default settings in the files *i2v_settings.json* and *t2v_settings.json* that will be used when launching the app (you can also specify the path to different settings files)
-- Slight acceleration with loras
-
-*You will need one more `pip install -r requirements.txt`*
-
-Many thanks to *Tophness* who created the framework (and did a big part of the work) of the multitabs and saved settings features
-
-### March 18, 2025: Wan2.1GP v2.11
-👋 Added more command line parameters to prefill the generation settings + customizable output directory and choice of type of metadata for generated videos. Many thanks to *Tophness* for his contributions.
-
-*You will need one more `pip install -r requirements.txt` to reflect new dependencies*
-
-### March 18, 2025: Wan2.1GP v2.1
-👋 More Loras!: added support for 'Safetensors' and 'Replicate' Lora formats.
-
-*You will need to refresh the requirements with a `pip install -r requirements.txt`*
-
-### March 17, 2025: Wan2.1GP v2.0
-👋 The Lora festival continues:
-- Clearer user interface
-- Download 30 Loras in one click to try them all (expand the info section)
-- Very easy to use Loras as now Lora presets can input the subject (or other needed terms) of the Lora so that you don't have to modify manually a prompt
-- Added basic macro prompt language to prefill prompts with different values. With one prompt template, you can generate multiple prompts.
-- New Multiple images prompts: you can now combine any number of images with any number of text prompts (need to launch the app with --multiple-images)
-- New command lines options to launch directly the 1.3B t2v model or the 14B t2v model
-
-### March 14, 2025: Wan2.1GP v1.7
-👋
-- Lora Fest special edition: very fast loading/unload of loras for those Loras collectors around. You can also now add/remove loras in the Lora folder without restarting the app.
-- Added experimental Skip Layer Guidance (advanced settings), that should improve the image quality at no extra cost. Many thanks to the *AmericanPresidentJimmyCarter* for the original implementation
-
-*You will need to refresh the requirements `pip install -r requirements.txt`*
-
-### March 13, 2025: Wan2.1GP v1.6
-👋 Better Loras support, accelerated loading Loras.
-
-*You will need to refresh the requirements `pip install -r requirements.txt`*
-
-### March 10, 2025: Wan2.1GP v1.5
-👋 Official Teacache support + Smart Teacache (find automatically best parameters for a requested speed multiplier), 10% speed boost with no quality loss, improved lora presets (they can now include prompts and comments to guide the user)
-
-### March 7, 2025: Wan2.1GP v1.4
-👋 Fix PyTorch compilation, now it is really 20% faster when activated
-
-### March 4, 2025: Wan2.1GP v1.3
-👋 Support for Image to Video with multiples images for different images/prompts combinations (requires *--multiple-images* switch), and added command line *--preload x* to preload in VRAM x MB of the main diffusion model if you find there is too much unused VRAM and you want to (slightly) accelerate the generation process.
-
-*If you upgrade you will need to do a `pip install -r requirements.txt` again.*
-
-### March 4, 2025: Wan2.1GP v1.2
-👋 Implemented tiling on VAE encoding and decoding. No more VRAM peaks at the beginning and at the end
-
-### March 3, 2025: Wan2.1GP v1.1
-👋 Added Tea Cache support for faster generations: optimization of kijai's implementation (https://github.com/kijai/ComfyUI-WanVideoWrapper/) of teacache (https://github.com/ali-vilab/TeaCache)
-
-### March 2, 2025: Wan2.1GP by DeepBeepMeep v1
-👋 Brings:
-- Support for all Wan including the Image to Video model
-- Reduced memory consumption by 2, with possibility to generate more than 10s of video at 720p with a RTX 4090 and 10s of video at 480p with less than 12GB of VRAM. Many thanks to REFLEx (https://github.com/thu-ml/RIFLEx) for their algorithm that allows generating nice looking video longer than 5s.
-- The usual perks: web interface, multiple generations, loras support, sage attention, auto download of models, ...
-
-## Original Wan Releases
-
-### February 25, 2025
-👋 We've released the inference code and weights of Wan2.1.
-
-### February 27, 2025
+# Changelog
+
+### October 6 2025: WanGP v8.999 - A few last things before the Big Unknown ...
+
+This new version hasn't any new model...
+
+...but temptation to upgrade will be high as it contains a few Loras related features that may change your Life:
+- **Ready to use Loras Accelerators Profiles** per type of model that you can apply on your current *Generation Settings*. Next time I will recommend a *Lora Accelerator*, it will be only one click away. And best of all of the required Loras will be downloaded automatically. When you apply an *Accelerator Profile*, input fields like the *Number of Denoising Steps* *Activated Loras*, *Loras Multipliers* (such as "1;0 0;1" ...) will be automatically filled. However your video specific fields will be preserved, so it will be easy to switch between Profiles to experiment. With *WanGP 8.993*, the *Accelerator Loras* are now merged with *Non Accelerator Loras". Things are getting too easy...
+
+- **Embedded Loras URL** : WanGP will now try to remember every Lora URLs it sees. For instance if someone sends you some settings that contain Loras URLs or you extract the Settings of Video generated by a friend with Loras URLs, these URLs will be automatically added to *WanGP URL Cache*. Conversely everything you will share (Videos, Settings, Lset files) will contain the download URLs if they are known. You can also download directly a Lora in WanGP by using the *Download Lora* button a the bottom. The Lora will be immediatly available and added to WanGP lora URL cache. This will work with *Hugging Face* as a repository. Support for CivitAi will come as soon as someone will nice enough to post a GitHub PR ...
+
+- **.lset file** supports embedded Loras URLs. It has never been easier to share a Lora with a friend. As a reminder a .lset file can be created directly from *WanGP Web Interface* and it contains a list of Loras and their multipliers, a Prompt and Instructions how to use these loras (like the Lora's *Trigger*). So with embedded Loras URL, you can send an .lset file by email or share it on discord: it is just a 1 KB tiny text, but with it other people will be able to use Gigabytes Loras as these will be automatically downloaded.
+
+I have created the new Discord Channel **share-your-settings** where you can post your *Settings* or *Lset files*. I will be pleased to add new Loras Accelerators in the list of WanGP *Accelerators Profiles if you post some good ones there.
+
+*With the 8.993 update*, I have added support for **Scaled FP8 format**. As a sample case, I have created finetunes for the **Wan 2.2 PalinGenesis** Finetune which is quite popular recently. You will find it in 3 flavors : *t2v*, *i2v* and *Lightning Accelerated for t2v*.
+
+The *Scaled FP8 format* is widely used as it the format used by ... *ComfyUI*. So I except a flood of Finetunes in the *share-your-finetune* channel. If not it means this feature was useless and I will remove it 😈😈😈
+
+Not enough Space left on your SSD to download more models ? Would like to reuse Scaled FP8 files in your ComfyUI Folder without duplicating them ? Here comes *WanGP 8.994* **Multiple Checkpoints Folders** : you just need to move the files into different folders / hard drives or reuse existing folders and let know WanGP about it in the *Config Tab* and WanGP will be able to put all the parts together.
+
+Last but not least the Lora's documentation has been updated.
+
+*update 8.991*: full power of *Vace Lynx* unleashed with new combinations such as Landscape + Face / Clothes + Face / Injectd Frame (Start/End frames/...) + Face\
+*update 8.992*: optimized gen with Lora, should be 10% faster if many loras\
+*update 8.993*: Support for *Scaled FP8* format and samples *Paligenesis* finetunes, merged Loras Accelerators and Non Accelerators\
+*update 8.994*: Added custom checkpoints folders\
+*update 8.999*: fixed a lora + fp8 bug and version sync for the jump to the unknown
+
+### September 30 2025: WanGP v8.9 - Combinatorics
+
+This new version of WanGP introduces **Wan 2.1 Lynx** the best Control Net so far to transfer *Facial Identity*. You will be amazed to recognize your friends even with a completely different hair style. Congrats to the *Byte Dance team* for this achievement. Lynx works quite with well *Fusionix t2v* 10 steps.
+
+*WanGP 8.9* also illustrate how existing WanGP features can be easily combined with new models. For instance with *Lynx* you will get out of the box *Video to Video* and *Image/Text to Image*.
+
+Another fun combination is *Vace* + *Lynx*, which works much better than *Vace StandIn*. I have added sliders to change the weight of Vace & Lynx to allow you to tune the effects.
+
+### September 28 2025: WanGP v8.76 - ~~Here Are Two Three New Contenders in the Vace Arena !~~ The Never Ending Release
+
+So in ~~today's~~ this release you will find two Wannabe Vace that covers each only a subset of Vace features but offers some interesting advantages:
+- **Wan 2.2 Animate**: this model is specialized in *Body Motion* and *Facial Motion transfers*. It does that very well. You can use this model to either *Replace* a person in an in Video or *Animate* the person of your choice using an existing *Pose Video* (remember *Animate Anyone* ?). By default it will keep the original soundtrack. *Wan 2.2 Animate* seems to be under the hood a derived i2v model and should support the corresponding Loras Accelerators (for instance *FusioniX t2v*). Also as a WanGP exclusivity, you will find support for *Outpainting*.
+
+In order to use Wan 2.2 Animate you will need first to stop by the *Mat Anyone* embedded tool, to extract the *Video Mask* of the person from which you want to extract the motion.
+
+With version WanGP 8.74, there is an extra option that allows you to apply *Relighting* when Replacing a person. Also, you can now Animate a person without providing a Video Mask to target the source of the motion (with the risk it will be less precise)
+
+For those of you who have a mask halo effect when Animating a character I recommend trying *SDPA attention* and to use the *FusioniX i2v* lora. If this issue persists (this will depend on the control video) you have now a choice of the two *Animate Mask Options* in *WanGP 8.76*. The old masking option which was a WanGP exclusive has been renamed *See Through Mask* because the background behind the animated character was preserved but this creates sometime visual artifacts. The new option which has the shorter name is what you may find elsewhere online. As it uses internally a much larger mask, there is no halo. However the immediate background behind the character is not preserved and may end completely different.
+
+- **Lucy Edit**: this one claims to be a *Nano Banana* for Videos. Give it a video and asks it to change it (it is specialized in clothes changing) and voila ! The nice thing about it is that is it based on the *Wan 2.2 5B* model and therefore is very fast especially if you the *FastWan* finetune that is also part of the package.
+
+Also because I wanted to spoil you:
+- **Qwen Edit Plus**: also known as the *Qwen Edit 25th September Update* which is specialized in combining multiple Objects / People. There is also a new support for *Pose transfer* & *Recolorisation*. All of this made easy to use in WanGP. You will find right now only the quantized version since HF crashes when uploading the unquantized version.
+
+- **T2V Video 2 Video Masking**: ever wanted to apply a Lora, a process (for instance Upsampling) or a Text Prompt on only a (moving) part of a Source Video. Look no further, I have added *Masked Video 2 Video* (which works also in image2image) in the *Text 2 Video* models. As usual you just need to use *Matanyone* to creatre the mask.
+
+
+*Update 8.71*: fixed Fast Lucy Edit that didnt contain the lora
+*Update 8.72*: shadow drop of Qwen Edit Plus
+*Update 8.73*: Qwen Preview & InfiniteTalk Start image
+*Update 8.74*: Animate Relighting / Nomask mode , t2v Masked Video to Video
+*Update 8.75*: REDACTED
+*Update 8.76*: Alternate Animate masking that fixes the mask halo effect that some users have
+
+### September 15 2025: WanGP v8.6 - Attack of the Clones
+
+- The long awaited **Vace for Wan 2.2** is at last here or maybe not: it has been released by the *Fun Team* of *Alibaba* and it is not official. You can play with the vanilla version (**Vace Fun**) or with the one accelerated with Loras (**Vace Fan Cocktail**)
+
+- **First Frame / Last Frame for Vace** : Vace models are so powerful that they could do *First frame / Last frame* since day one using the *Injected Frames* feature. However this required to compute by hand the locations of each end frame since this feature expects frames positions. I made it easier to compute these locations by using the "L" alias :
+
+For a video Gen from scratch *"1 L L L"* means the 4 Injected Frames will be injected like this: frame no 1 at the first position, the next frame at the end of the first window, then the following frame at the end of the next window, and so on ....
+If you *Continue a Video* , you just need *"L L L"* since the first frame is the last frame of the *Source Video*. In any case remember that numeral frames positions (like "1") are aligned by default to the beginning of the source window, so low values such as 1 will be considered in the past unless you change this behaviour in *Sliding Window Tab/ Control Video, Injected Frames aligment*.
+
+- **Qwen Edit Inpainting** exists now in two versions: the original version of the previous release and a Lora based version. Each version has its pros and cons. For instance the Lora version supports also **Outpainting** ! However it tends to change slightly the original image even outside the outpainted area.
+
+- **Better Lipsync with all the Audio to Video models**: you probably noticed that *Multitalk*, *InfiniteTalk* or *Hunyuan Avatar* had so so lipsync when the audio provided contained some background music. The problem should be solved now thanks to an automated background music removal all done by IA. Don't worry you will still hear the music as it is added back in the generated Video.
+
+### September 11 2025: WanGP v8.5/8.55 - Wanna be a Cropper or a Painter ?
+
+I have done some intensive internal refactoring of the generation pipeline to ease support of existing models or add new models. Nothing really visible but this makes WanGP is little more future proof.
+
+Otherwise in the news:
+- **Cropped Input Image Prompts**: as quite often most *Image Prompts* provided (*Start Image, Input Video, Reference Image, Control Video, ...*) rarely matched your requested *Output Resolution*. In that case I used the resolution you gave either as a *Pixels Budget* or as an *Outer Canvas* for the Generated Video. However in some occasion you really want the requested Output Resolution and nothing else. Besides some models deliver much better Generations if you stick to one of their supported resolutions. In order to address this need I have added a new Output Resolution choice in the *Configuration Tab*: **Dimensions Correspond to the Ouput Weight & Height as the Prompt Images will be Cropped to fit Exactly these dimensins**. In short if needed the *Input Prompt Images* will be cropped (centered cropped for the moment). You will see this can make quite a difference for some models
+
+- *Qwen Edit* has now a new sub Tab called **Inpainting**, that lets you target with a brush which part of the *Image Prompt* you want to modify. This is quite convenient if you find that Qwen Edit modifies usually too many things. Of course, as there are more constraints for Qwen Edit don't be surprised if sometime it will return the original image unchanged. A piece of advise: describe in your *Text Prompt* where (for instance *left to the man*, *top*, ...) the parts that you want to modify are located.
+
+The mask inpainting is fully compatible with *Matanyone Mask generator*: generate first an *Image Mask* with Matanyone, transfer it to the current Image Generator and modify the mask with the *Paint Brush*. Talking about matanyone I have fixed a bug that caused a mask degradation with long videos (now WanGP Matanyone is as good as the original app and still requires 3 times less VRAM)
+
+- This **Inpainting Mask Editor** has been added also to *Vace Image Mode*. Vace is probably still one of best Image Editor today. Here is a very simple & efficient workflow that do marvels with Vace:
+Select *Vace Cocktail > Control Image Process = Perform Inpainting & Area Processed = Masked Area > Upload a Control Image, then draw your mask directly on top of the image & enter a text Prompt that describes the expected change > Generate > Below the Video Gallery click 'To Control Image' > Keep on doing more changes*.
+
+Doing more sophisticated thing Vace Image Editor works very well too: try Image Outpainting, Pose transfer, ...
+
+For the best quality I recommend to set in *Quality Tab* the option: "*Generate a 9 Frames Long video...*"
+
+**update 8.55**: Flux Festival
+- **Inpainting Mode** also added for *Flux Kontext*
+- **Flux SRPO** : new finetune with x3 better quality vs Flux Dev according to its authors. I have also created a *Flux SRPO USO* finetune which is certainly the best open source *Style Transfer* tool available
+- **Flux UMO**: model specialized in combining multiple reference objects / people together. Works quite well at 768x768
+
+Good luck with finding your way through all the Flux models names !
+
+### September 5 2025: WanGP v8.4 - Take me to Outer Space
+You have probably seen these short AI generated movies created using *Nano Banana* and the *First Frame - Last Frame* feature of *Kling 2.0*. The idea is to generate an image, modify a part of it with Nano Banana and give the these two images to Kling that will generate the Video between these two images, use now the previous Last Frame as the new First Frame, rinse and repeat and you get a full movie.
+
+I have made it easier to do just that with *Qwen Edit* and *Wan*:
+- **End Frames can now be combined with Continue a Video** (and not just a Start Frame)
+- **Multiple End Frames can be inputed**, each End Frame will be used for a different Sliding Window
+
+You can plan in advance all your shots (one shot = one Sliding Window) : I recommend using Wan 2.2 Image to Image with multiple End Frames (one for each shot / Sliding Window), and a different Text Prompt for each shot / Sliding Winow (remember to enable *Sliding Windows/Text Prompts Will be used for a new Sliding Window of the same Video Generation*)
+
+The results can quite be impressive. However, Wan 2.1 & 2.2 Image 2 Image are restricted to a single overlap frame when using Slide Windows, which means only one frame is reeused for the motion. This may be unsufficient if you are trying to connect two shots with fast movement.
+
+This is where *InfinitTalk* comes into play. Beside being one best models to generate animated audio driven avatars, InfiniteTalk uses internally more one than motion frames. It is quite good to maintain the motions between two shots. I have tweaked InfinitTalk so that **its motion engine can be used even if no audio is provided**.
+So here is how to use InfiniteTalk: enable *Sliding Windows/Text Prompts Will be used for a new Sliding Window of the same Video Generation*), and if you continue an existing Video *Misc/Override Frames per Second" should be set to "Source Video*. Each Reference Frame inputed will play the same role as the End Frame except it wont be exactly an End Frame (it will correspond more to a middle frame, the actual End Frame will differ but will be close)
+
+
+You will find below a 33s movie I have created using these two methods. Quality could be much better as I havent tuned at all the settings (I couldn't bother, I used 10 steps generation without Loras Accelerators for most of the gens).
+
+### September 2 2025: WanGP v8.31 - At last the pain stops
+
+- This single new feature should give you the strength to face all the potential bugs of this new release:
+**Images Management (multiple additions or deletions, reordering) for Start Images / End Images / Images References.**
+
+- Unofficial **Video to Video (Non Sparse this time) for InfinitTalk**. Use the Strength Noise slider to decide how much motion of the original window you want to keep. I have also *greatly reduced the VRAM requirements for Multitalk / Infinitalk* (especially the multispeakers version & when generating at 1080p).
+
+- **Experimental Sage 3 Attention support**: you will need to deserve this one, first you need a Blackwell GPU (RTX50xx) and request an access to Sage 3 Github repo, then you will have to compile Sage 3, install it and cross your fingers ...
+
+
+*update 8.31: one shouldnt talk about bugs if one doesn't want to attract bugs*
+
+
+## 🔥 Latest News
+### August 29 2025: WanGP v8.21 - Here Goes Your Weekend
+
+- **InfiniteTalk Video to Video**: this feature can be used for Video Dubbing. Keep in mind that it is a *Sparse Video to Video*, that is internally only image is used by Sliding Window. However thanks to the new *Smooth Transition* mode, each new clip is connected to the previous and all the camera work is done by InfiniteTalk. If you dont get any transition, increase the number of frames of a Sliding Window (81 frames recommended)
+
+- **StandIn**: very light model specialized in Identity Transfer. I have provided two versions of Standin: a basic one derived from the text 2 video model and another based on Vace. If used with Vace, the last reference frame given to Vace will be also used for StandIn
+
+- **Flux ESO**: a new Flux dervied *Image Editing tool*, but this one is specialized both in *Identity Transfer* and *Style Transfer*. Style has to be understood in its wide meaning: give a reference picture of a person and another one of Sushis and you will turn this person into Sushis
+
+### August 24 2025: WanGP v8.1 - the RAM Liberator
+
+- **Reserved RAM entirely freed when switching models**, you should get much less out of memory related to RAM. I have also added a button in *Configuration / Performance* that will release most of the RAM used by WanGP if you want to use another application without quitting WanGP
+- **InfiniteTalk** support: improved version of Multitalk that supposedly supports very long video generations based on an audio track. Exists in two flavors (*Single Speaker* and *Multi Speakers*) but doesnt seem to be compatible with Vace. One key new feature compared to Multitalk is that you can have different visual shots associated to the same audio: each Reference frame you provide you will be associated to a new Sliding Window. If only Reference frame is provided, it will be used for all windows. When Continuing a video, you can either continue the current shot (no Reference Frame) or add new shots (one or more Reference Frames).\
+If you are not into audio, you can use still this model to generate infinite long image2video, just select "no speaker". Last but not least, Infinitetalk works works with all the Loras accelerators.
+- **Flux Chroma 1 HD** support: uncensored flux based model and lighter than Flux (8.9B versus 12B) and can fit entirely in VRAM with only 16 GB of VRAM. Unfortunalely it is not distilled and you will need CFG at minimum 20 steps
+
+### August 21 2025: WanGP v8.01 - the killer of seven
+
+- **Qwen Image Edit** : Flux Kontext challenger (prompt driven image edition). Best results (including Identity preservation) will be obtained at 720p. Beyond you may get image outpainting and / or lose identity preservation. Below 720p prompt adherence will be worse. Qwen Image Edit works with Qwen Lora Lightning 4 steps. I have also unlocked all the resolutions for Qwen models. Bonus Zone: support for multiple image compositions but identity preservation won't be as good.
+- **On demand Prompt Enhancer** (needs to be enabled in Configuration Tab) that you can use to Enhance a Text Prompt before starting a Generation. You can refine the Enhanced Prompt or change the original Prompt.
+- Choice of a **Non censored Prompt Enhancer**. Beware this is one is VRAM hungry and will require 12 GB of VRAM to work
+- **Memory Profile customizable per model** : useful to set for instance Profile 3 (preload the model entirely in VRAM) with only Image Generation models, if you have 24 GB of VRAM. In that case Generation will be much faster because with Image generators (contrary to Video generators) as a lot of time is wasted in offloading
+- **Expert Guidance Mode**: change the Guidance during the generation up to 2 times. Very useful with Wan 2.2 Ligthning to reduce the slow motion effect. The idea is to insert a CFG phase before the 2 accelerated phases that follow and have no Guidance. I have added the finetune *Wan2.2 Vace Lightning 3 Phases 14B* with a prebuilt configuration. Please note that it is a 8 steps process although the lora lightning is 4 steps. This expert guidance mode is also available with Wan 2.1.
+
+*WanGP 8.01 update, improved Qwen Image Edit Identity Preservation*
+### August 12 2025: WanGP v7.7777 - Lucky Day(s)
+
+This is your lucky day ! thanks to new configuration options that will let you store generated Videos and Images in lossless compressed formats, you will find they in fact they look two times better without doing anything !
+
+Just kidding, they will be only marginally better, but at least this opens the way to professionnal editing.
+
+Support:
+- Video: x264, x264 lossless, x265
+- Images: jpeg, png, webp, wbp lossless
+Generation Settings are stored in each of the above regardless of the format (that was the hard part).
+
+Also you can now choose different output directories for images and videos.
+
+unexpected luck: fixed lightning 8 steps for Qwen, and lightning 4 steps for Wan 2.2, now you just need 1x multiplier no weird numbers.
+*update 7.777 : oops got a crash a with FastWan ? Luck comes and goes, try a new update, maybe you will have a better chance this time*
+*update 7.7777 : Sometime good luck seems to last forever. For instance what if Qwen Lightning 4 steps could also work with WanGP ?*
+- https://huggingface.co/lightx2v/Qwen-Image-Lightning/resolve/main/Qwen-Image-Lightning-4steps-V1.0-bf16.safetensors (Qwen Lightning 4 steps)
+- https://huggingface.co/lightx2v/Qwen-Image-Lightning/resolve/main/Qwen-Image-Lightning-8steps-V1.1-bf16.safetensors (new improved version of Qwen Lightning 8 steps)
+
+
+### August 10 2025: WanGP v7.76 - Faster than the VAE ...
+We have a funny one here today: FastWan 2.2 5B, the Fastest Video Generator, only 20s to generate 121 frames at 720p. The snag is that VAE is twice as slow...
+Thanks to Kijai for extracting the Lora that is used to build the corresponding finetune.
+
+*WanGP 7.76: fixed the messed up I did to i2v models (loras path was wrong for Wan2.2 and Clip broken)*
+
+### August 9 2025: WanGP v7.74 - Qwen Rebirth part 2
+Added support for Qwen Lightning lora for a 8 steps generation (https://huggingface.co/lightx2v/Qwen-Image-Lightning/blob/main/Qwen-Image-Lightning-8steps-V1.0.safetensors). Lora is not normalized and you can use a multiplier around 0.1.
+
+Mag Cache support for all the Wan2.2 models Don't forget to set guidance to 1 and 8 denoising steps , your gen will be 7x faster !
+
+### August 8 2025: WanGP v7.73 - Qwen Rebirth
+Ever wondered what impact not using Guidance has on a model that expects it ? Just look at Qween Image in WanGP 7.71 whose outputs were erratic. Somehow I had convinced myself that Qwen was a distilled model. In fact Qwen was dying for a negative prompt. And in WanGP 7.72 there is at last one for him.
+
+As Qwen is not so picky after all I have added also quantized text encoder which reduces the RAM requirements of Qwen by 10 GB (the text encoder quantized version produced garbage before)
+
+Unfortunately still the Sage bug for older GPU architectures. Added Sdpa fallback for these architectures.
+
+*7.73 update: still Sage / Sage2 bug for GPUs before RTX40xx. I have added a detection mechanism that forces Sdpa attention if that's the case*
+
+
+### August 6 2025: WanGP v7.71 - Picky, picky
+
+This release comes with two new models :
+- Qwen Image: a Commercial grade Image generator capable to inject full sentences in the generated Image while still offering incredible visuals
+- Wan 2.2 TextImage to Video 5B: the last Wan 2.2 needed if you want to complete your Wan 2.2 collection (loras for this folder can be stored in "\loras\5B" )
+
+There is catch though, they are very picky if you want to get good generations: first they both need lots of steps (50 ?) to show what they have to offer. Then for Qwen Image I had to hardcode the supported resolutions, because if you try anything else, you will get garbage. Likewise Wan 2.2 5B will remind you of Wan 1.0 if you don't ask for at least 720p.
+
+*7.71 update: Added VAE Tiling for both Qwen Image and Wan 2.2 TextImage to Video 5B, for low VRAM during a whole gen.*
+
+
+### August 4 2025: WanGP v7.6 - Remuxed
+
+With this new version you won't have any excuse if there is no sound in your video.
+
+*Continue Video* now works with any video that has already some sound (hint: Multitalk ).
+
+Also, on top of MMaudio and the various sound driven models I have added the ability to use your own soundtrack.
+
+As a result you can apply a different sound source on each new video segment when doing a *Continue Video*.
+
+For instance:
+- first video part: use Multitalk with two people speaking
+- second video part: you apply your own soundtrack which will gently follow the multitalk conversation
+- third video part: you use Vace effect and its corresponding control audio will be concatenated to the rest of the audio
+
+To multiply the combinations I have also implemented *Continue Video* with the various image2video models.
+
+Also:
+- End Frame support added for LTX Video models
+- Loras can now be targetted specifically at the High noise or Low noise models with Wan 2.2, check the Loras and Finetune guides
+- Flux Krea Dev support
+
+### July 30 2025: WanGP v7.5: Just another release ... Wan 2.2 part 2
+Here is now Wan 2.2 image2video a very good model if you want to set Start and End frames. Two Wan 2.2 models delivered, only one to go ...
+
+Please note that although it is an image2video model it is structurally very close to Wan 2.2 text2video (same layers with only a different initial projection). Given that Wan 2.1 image2video loras don't work too well (half of their tensors are not supported), I have decided that this model will look for its loras in the text2video loras folder instead of the image2video folder.
+
+I have also optimized RAM management with Wan 2.2 so that loras and modules will be loaded only once in RAM and Reserved RAM, this saves up to 5 GB of RAM which can make a difference...
+
+And this time I really removed Vace Cocktail Light which gave a blurry vision.
+
+### July 29 2025: WanGP v7.4: Just another release ... Wan 2.2 Preview
+Wan 2.2 is here. The good news is that WanGP wont require a single byte of extra VRAM to run it and it will be as fast as Wan 2.1. The bad news is that you will need much more RAM if you want to leverage entirely this new model since it has twice has many parameters.
+
+So here is a preview version of Wan 2.2 that is without the 5B model and Wan 2.2 image to video for the moment.
+
+However as I felt bad to deliver only half of the wares, I gave you instead .....** Wan 2.2 Vace Experimental Cocktail** !
+
+Very good surprise indeed, the loras and Vace partially work with Wan 2.2. We will need to wait for the official Vace 2.2 release since some Vace features are broken like identity preservation
+
+Bonus zone: Flux multi images conditions has been added, or maybe not if I broke everything as I have been distracted by Wan...
+
+7.4 update: I forgot to update the version number. I also removed Vace Cocktail light which didnt work well.
+
+### July 27 2025: WanGP v7.3 : Interlude
+While waiting for Wan 2.2, you will appreciate the model selection hierarchy which is very useful to collect even more models. You will also appreciate that WanGP remembers which model you used last in each model family.
+
+### July 26 2025: WanGP v7.2 : Ode to Vace
+I am really convinced that Vace can do everything the other models can do and in a better way especially as Vace can be combined with Multitalk.
+
+Here are some new Vace improvements:
+- I have provided a default finetune named *Vace Cocktail* which is a model created on the fly using the Wan text 2 video model and the Loras used to build FusioniX. The weight of the *Detail Enhancer* Lora has been reduced to improve identity preservation. Copy the model definition in *defaults/vace_14B_cocktail.json* in the *finetunes/* folder to change the Cocktail composition. Cocktail contains already some Loras acccelerators so no need to add on top a Lora Accvid, Causvid or Fusionix, ... . The whole point of Cocktail is to be able to build you own FusioniX (which originally is a combination of 4 loras) but without the inconvenient of FusioniX.
+- Talking about identity preservation, it tends to go away when one generates a single Frame instead of a Video which is shame for our Vace photoshop. But there is a solution : I have added an Advanced Quality option, that tells WanGP to generate a little more than a frame (it will still keep only the first frame). It will be a little slower but you will be amazed how Vace Cocktail combined with this option will preserve identities (bye bye *Phantom*).
+- As in practise I have observed one switches frequently between *Vace text2video* and *Vace text2image* I have put them in the same place they are now just one tab away, no need to reload the model. Likewise *Wan text2video* and *Wan tex2image* have been merged.
+- Color fixing when using Sliding Windows. A new postprocessing *Color Correction* applied automatically by default (you can disable it in the *Advanced tab Sliding Window*) will try to match the colors of the new window with that of the previous window. It doesnt fix all the unwanted artifacts of the new window but at least this makes the transition smoother. Thanks to the multitalk team for the original code.
+
+Also you will enjoy our new real time statistics (CPU / GPU usage, RAM / VRAM used, ... ). Many thanks to **Redtash1** for providing the framework for this new feature ! You need to go in the Config tab to enable real time stats.
+
+
+### July 21 2025: WanGP v7.12
+- Flux Family Reunion : *Flux Dev* and *Flux Schnell* have been invited aboard WanGP. To celebrate that, Loras support for the Flux *diffusers* format has also been added.
+
+- LTX Video upgraded to version 0.9.8: you can now generate 1800 frames (1 min of video !) in one go without a sliding window. With the distilled model it will take only 5 minutes with a RTX 4090 (you will need 22 GB of VRAM though). I have added options to select higher humber frames if you want to experiment (go to Configuration Tab / General / Increase the Max Number of Frames, change the value and restart the App)
+
+- LTX Video ControlNet : it is a Control Net that allows you for instance to transfer a Human motion or Depth from a control video. It is not as powerful as Vace but can produce interesting things especially as now you can generate quickly a 1 min video. Under the scene IC-Loras (see below) for Pose, Depth and Canny are automatically loaded for you, no need to add them.
+
+- LTX IC-Lora support: these are special Loras that consumes a conditional image or video
+Beside the pose, depth and canny IC-Loras transparently loaded there is the *detailer* (https://huggingface.co/Lightricks/LTX-Video-ICLoRA-detailer-13b-0.9.8) which is basically an upsampler. Add the *detailer* as a Lora and use LTX Raw Format as control net choice to use it.
+
+- Matanyone is now also for the GPU Poor as its VRAM requirements have been divided by 2! (7.12 shadow update)
+
+- Easier way to select video resolution
+
+### July 15 2025: WanGP v7.0 is an AI Powered Photoshop
+This release turns the Wan models into Image Generators. This goes way more than allowing to generate a video made of single frame :
+- Multiple Images generated at the same time so that you can choose the one you like best.It is Highly VRAM optimized so that you can generate for instance 4 720p Images at the same time with less than 10 GB
+- With the *image2image* the original text2video WanGP becomes an image upsampler / restorer
+- *Vace image2image* comes out of the box with image outpainting, person / object replacement, ...
+- You can use in one click a newly Image generated as Start Image or Reference Image for a Video generation
+
+And to complete the full suite of AI Image Generators, Ladies and Gentlemen please welcome for the first time in WanGP : **Flux Kontext**.\
+As a reminder Flux Kontext is an image editor : give it an image and a prompt and it will do the change for you.\
+This highly optimized version of Flux Kontext will make you feel that you have been cheated all this time as WanGP Flux Kontext requires only 8 GB of VRAM to generate 4 images at the same time with no need for quantization.
+
+WanGP v7 comes with *Image2image* vanilla and *Vace FusinoniX*. However you can build your own finetune where you will combine a text2video or Vace model with any combination of Loras.
+
+Also in the news:
+- You can now enter the *Bbox* for each speaker in *Multitalk* to precisely locate who is speaking. And to save some headaches the *Image Mask generator* will give you the *Bbox* coordinates of an area you have selected.
+- *Film Grain* post processing to add a vintage look at your video
+- *First Last Frame to Video* model should work much better now as I have discovered rencently its implementation was not complete
+- More power for the finetuners, you can now embed Loras directly in the finetune definition. You can also override the default models (titles, visibility, ...) with your own finetunes. Check the doc that has been updated.
+
+
+### July 10 2025: WanGP v6.7, is NAG a game changer ? you tell me
+Maybe you knew that already but most *Loras accelerators* we use today (Causvid, FusioniX) don't use *Guidance* at all (that it is *CFG* is set to 1). This helps to get much faster generations but the downside is that *Negative Prompts* are completely ignored (including the default ones set by the models). **NAG** (https://github.com/ChenDarYen/Normalized-Attention-Guidance) aims to solve that by injecting the *Negative Prompt* during the *attention* processing phase.
+
+So WanGP 6.7 gives you NAG, but not any NAG, a *Low VRAM* implementation, the default one ends being VRAM greedy. You will find NAG in the *General* advanced tab for most Wan models.
+
+Use NAG especially when Guidance is set to 1. To turn it on set the **NAG scale** to something around 10. There are other NAG parameters **NAG tau** and **NAG alpha** which I recommend to change only if you don't get good results by just playing with the NAG scale. Don't hesitate to share on this discord server the best combinations for these 3 parameters.
+
+The authors of NAG claim that NAG can also be used when using a Guidance (CFG > 1) and to improve the prompt adherence.
+
+### July 8 2025: WanGP v6.6, WanGP offers you **Vace Multitalk Dual Voices Fusionix Infinite** :
+**Vace** our beloved super Control Net has been combined with **Multitalk** the new king in town that can animate up to two people speaking (**Dual Voices**). It is accelerated by the **Fusionix** model and thanks to *Sliding Windows* support and *Adaptive Projected Guidance* (much slower but should reduce the reddish effect with long videos) your two people will be able to talk for very a long time (which is an **Infinite** amount of time in the field of video generation).
+
+Of course you will get as well *Multitalk* vanilla and also *Multitalk 720p* as a bonus.
+
+And since I am mister nice guy I have enclosed as an exclusivity an *Audio Separator* that will save you time to isolate each voice when using Multitalk with two people.
+
+As I feel like resting a bit I haven't produced yet a nice sample Video to illustrate all these new capabilities. But here is the thing, I ams sure you will publish in the *Share Your Best Video* channel your *Master Pieces*. The best ones will be added to the *Announcements Channel* and will bring eternal fame to its authors.
+
+But wait, there is more:
+- Sliding Windows support has been added anywhere with Wan models, so imagine with text2video recently upgraded in 6.5 into a video2video, you can now upsample very long videos regardless of your VRAM. The good old image2video model can now reuse the last image to produce new videos (as requested by many of you)
+- I have added also the capability to transfer the audio of the original control video (Misc. advanced tab) and an option to preserve the fps into the generated video, so from now on you will be to upsample / restore your old families video and keep the audio at their original pace. Be aware that the duration will be limited to 1000 frames as I still need to add streaming support for unlimited video sizes.
+
+Also, of interest too:
+- Extract video info from Videos that have not been generated by WanGP, even better you can also apply post processing (Upsampling / MMAudio) on non WanGP videos
+- Force the generated video fps to your liking, works wery well with Vace when using a Control Video
+- Ability to chain URLs of Finetune models (for instance put the URLs of a model in your main finetune and reference this finetune in other finetune models to save time)
+
+### July 2 2025: WanGP v6.5.1, WanGP takes care of you: lots of quality of life features:
+- View directly inside WanGP the properties (seed, resolutions, length, most settings...) of the past generations
+- In one click use the newly generated video as a Control Video or Source Video to be continued
+- Manage multiple settings for the same model and switch between them using a dropdown box
+- WanGP will keep the last generated videos in the Gallery and will remember the last model you used if you restart the app but kept the Web page open
+- Custom resolutions : add a file in the WanGP folder with the list of resolutions you want to see in WanGP (look at the instruction readme in this folder)
+
+Taking care of your life is not enough, you want new stuff to play with ?
+- MMAudio directly inside WanGP : add an audio soundtrack that matches the content of your video. By the way it is a low VRAM MMAudio and 6 GB of VRAM should be sufficient. You will need to go in the *Extensions* tab of the WanGP *Configuration* to enable MMAudio
+- Forgot to upsample your video during the generation ? want to try another MMAudio variation ? Fear not you can also apply upsampling or add an MMAudio track once the video generation is done. Even better you can ask WangGP for multiple variations of MMAudio to pick the one you like best
+- MagCache support: a new step skipping approach, supposed to be better than TeaCache. Makes a difference if you usually generate with a high number of steps
+- SageAttention2++ support : not just the compatibility but also a slightly reduced VRAM usage
+- Video2Video in Wan Text2Video : this is the paradox, a text2video can become a video2video if you start the denoising process later on an existing video
+- FusioniX upsampler: this is an illustration of Video2Video in Text2Video. Use the FusioniX text2video model with an output resolution of 1080p and a denoising strength of 0.25 and you will get one of the best upsamplers (in only 2/3 steps, you will need lots of VRAM though). Increase the denoising strength and you will get one of the best Video Restorer
+- Choice of Wan Samplers / Schedulers
+- More Lora formats support
+
+**If you had upgraded to v6.5 please upgrade again to 6.5.1 as this will fix a bug that ignored Loras beyond the first one**
+
+### June 23 2025: WanGP v6.3, Vace Unleashed. Thought we couldnt squeeze Vace even more ?
+- Multithreaded preprocessing when possible for faster generations
+- Multithreaded frames Lanczos Upsampling as a bonus
+- A new Vace preprocessor : *Flow* to extract fluid motion
+- Multi Vace Controlnets: you can now transfer several properties at the same time. This opens new possibilities to explore, for instance if you transfer *Human Movement* and *Shapes* at the same time for some reasons the lighting of your character will take into account much more the environment of your character.
+- Injected Frames Outpainting, in case you missed it in WanGP 6.21
+
+Don't know how to use all of the Vace features ? Check the Vace Guide embedded in WanGP as it has also been updated.
+
+
+### June 19 2025: WanGP v6.2, Vace even more Powercharged
+👋 Have I told you that I am a big fan of Vace ? Here are more goodies to unleash its power:
+- If you ever wanted to watch Star Wars in 4:3, just use the new *Outpainting* feature and it will add the missing bits of image at the top and the bottom of the screen. The best thing is *Outpainting* can be combined with all the other Vace modifications, for instance you can change the main character of your favorite movie at the same time
+- More processing can combined at the same time (for instance the depth process can be applied outside the mask)
+- Upgraded the depth extractor to Depth Anything 2 which is much more detailed
+
+As a bonus, I have added two finetunes based on the Safe-Forcing technology (which requires only 4 steps to generate a video): Wan 2.1 text2video Self-Forcing and Vace Self-Forcing. I know there is Lora around but the quality of the Lora is worse (at least with Vace) compared to the full model. Don't hesitate to share your opinion about this on the discord server.
+### June 17 2025: WanGP v6.1, Vace Powercharged
+👋 Lots of improvements for Vace the Mother of all Models:
+- masks can now be combined with on the fly processing of a control video, for instance you can extract the motion of a specific person defined by a mask
+- on the fly modification of masks : reversed masks (with the same mask you can modify the background instead of the people covered by the masks), enlarged masks (you can cover more area if for instance the person you are trying to inject is larger than the one in the mask), ...
+- view these modified masks directly inside WanGP during the video generation to check they are really as expected
+- multiple frames injections: multiples frames can be injected at any location of the video
+- expand past videos in on click: just select one generated video to expand it
+
+Of course all these new stuff work on all Vace finetunes (including Vace Fusionix).
+
+Thanks also to Reevoy24 for adding a Notfication sound at the end of a generation and for fixing the background color of the current generation summary.
+
+### June 12 2025: WanGP v6.0
+👋 *Finetune models*: You find the 20 models supported by WanGP not sufficient ? Too impatient to wait for the next release to get the support for a newly released model ? Your prayers have been answered: if a new model is compatible with a model architecture supported by WanGP, you can add by yourself the support for this model in WanGP by just creating a finetune model definition. You can then store this model in the cloud (for instance in Huggingface) and the very light finetune definition file can be easily shared with other users. WanGP will download automatically the finetuned model for them.
+
+To celebrate the new finetunes support, here are a few finetune gifts (directly accessible from the model selection menu):
+- *Fast Hunyuan Video* : generate model t2v in only 6 steps
+- *Hunyuan Vido AccVideo* : generate model t2v in only 5 steps
+- *Wan FusioniX*: it is a combo of AccVideo / CausVid ans other models and can generate high quality Wan videos in only 8 steps
+
+One more thing...
+
+The new finetune system can be used to combine complementaty models : what happens when you combine Fusionix Text2Video and Vace Control Net ?
+
+You get **Vace FusioniX**: the Ultimate Vace Model, Fast (10 steps, no need for guidance) and with a much better quality Video than the original slower model (despite being the best Control Net out there). Here goes one more finetune...
+
+Check the *Finetune Guide* to create finetune models definitions and share them on the WanGP discord server.
+
+### June 11 2025: WanGP v5.5
+👋 *Hunyuan Video Custom Audio*: it is similar to Hunyuan Video Avatar excpet there isn't any lower limit on the number of frames and you can use your reference images in a different context than the image itself\
+*Hunyuan Video Custom Edit*: Hunyuan Video Controlnet, use it to do inpainting and replace a person in a video while still keeping his poses. Similar to Vace but less restricted than the Wan models in terms of content...
+
+### June 6 2025: WanGP v5.41
+👋 Bonus release: Support for **AccVideo** Lora to speed up x2 Video generations in Wan models. Check the Loras documentation to get the usage instructions of AccVideo.
+
+### June 6 2025: WanGP v5.4
+👋 World Exclusive : Hunyuan Video Avatar Support ! You won't need 80 GB of VRAM nor 32 GB oF VRAM, just 10 GB of VRAM will be sufficient to generate up to 15s of high quality speech / song driven Video at a high speed with no quality degradation. Support for TeaCache included.
+
+### May 26, 2025: WanGP v5.3
+👋 Happy with a Video generation and want to do more generations using the same settings but you can't remember what you did or you find it too hard to copy/paste one per one each setting from the file metadata? Rejoice! There are now multiple ways to turn this tedious process into a one click task:
+- Select one Video recently generated in the Video Gallery and click *Use Selected Video Settings*
+- Click *Drop File Here* and select a Video you saved somewhere, if the settings metadata have been saved with the Video you will be able to extract them automatically
+- Click *Export Settings to File* to save on your harddrive the current settings. You will be able to use them later again by clicking *Drop File Here* and select this time a Settings json file
+
+### May 23, 2025: WanGP v5.21
+👋 Improvements for Vace: better transitions between Sliding Windows, Support for Image masks in Matanyone, new Extend Video for Vace, different types of automated background removal
+
+### May 20, 2025: WanGP v5.2
+👋 Added support for Wan CausVid which is a distilled Wan model that can generate nice looking videos in only 4 to 12 steps. The great thing is that Kijai (Kudos to him!) has created a CausVid Lora that can be combined with any existing Wan t2v model 14B like Wan Vace 14B. See [LORAS.md](LORAS.md) for instructions on how to use CausVid.
+
+Also as an experiment I have added support for the MoviiGen, the first model that claims to be capable of generating 1080p videos (if you have enough VRAM (20GB...) and be ready to wait for a long time...). Don't hesitate to share your impressions on the Discord server.
+
+### May 18, 2025: WanGP v5.1
+👋 Bonus Day, added LTX Video 13B Distilled: generate in less than one minute, very high quality Videos!
+
+### May 17, 2025: WanGP v5.0
+👋 One App to Rule Them All! Added support for the other great open source architectures:
+- **Hunyuan Video**: text 2 video (one of the best, if not the best t2v), image 2 video and the recently released Hunyuan Custom (very good identity preservation when injecting a person into a video)
+- **LTX Video 13B** (released last week): very long video support and fast 720p generation. Wan GP version has been greatly optimized and reduced LTX Video VRAM requirements by 4!
+
+Also:
+- Added support for the best Control Video Model, released 2 days ago: Vace 14B
+- New Integrated prompt enhancer to increase the quality of the generated videos
+
+*You will need one more `pip install -r requirements.txt`*
+
+### May 5, 2025: WanGP v4.5
+👋 FantasySpeaking model, you can animate a talking head using a voice track. This works not only on people but also on objects. Also better seamless transitions between Vace sliding windows for very long videos. New high quality processing features (mixed 16/32 bits calculation and 32 bits VAE)
+
+### April 27, 2025: WanGP v4.4
+👋 Phantom model support, very good model to transfer people or objects into video, works quite well at 720p and with the number of steps > 30
+
+### April 25, 2025: WanGP v4.3
+👋 Added preview mode and support for Sky Reels v2 Diffusion Forcing for high quality "infinite length videos". Note that Skyreel uses causal attention that is only supported by Sdpa attention so even if you choose another type of attention, some of the processes will use Sdpa attention.
+
+### April 18, 2025: WanGP v4.2
+👋 FLF2V model support, official support from Wan for image2video start and end frames specialized for 720p.
+
+### April 17, 2025: WanGP v4.1
+👋 Recam Master model support, view a video from a different angle. The video to process must be at least 81 frames long and you should set at least 15 steps denoising to get good results.
+
+### April 13, 2025: WanGP v4.0
+👋 Lots of goodies for you!
+- A new UI, tabs were replaced by a Dropdown box to easily switch models
+- A new queuing system that lets you stack in a queue as many text2video, image2video tasks, ... as you want. Each task can rely on complete different generation parameters (different number of frames, steps, loras, ...). Many thanks to **Tophness** for being a big contributor on this new feature
+- Temporal upsampling (Rife) and spatial upsampling (Lanczos) for a smoother video (32 fps or 64 fps) and to enlarge your video by x2 or x4. Check these new advanced options.
+- Wan Vace Control Net support: with Vace you can inject in the scene people or objects, animate a person, perform inpainting or outpainting, continue a video, ... See [VACE.md](VACE.md) for introduction guide.
+- Integrated *Matanyone* tool directly inside WanGP so that you can create easily inpainting masks used in Vace
+- Sliding Window generation for Vace, create windows that can last dozens of seconds
+- New optimizations for old generation GPUs: Generate 5s (81 frames, 15 steps) of Vace 1.3B with only 5GB and in only 6 minutes on a RTX 2080Ti and 5s of t2v 14B in less than 10 minutes.
+
+### March 27, 2025
+👋 Added support for the new Wan Fun InP models (image2video). The 14B Fun InP has probably better end image support but unfortunately existing loras do not work so well with it. The great novelty is the Fun InP image2 1.3B model: Image 2 Video is now accessible to even lower hardware configuration. It is not as good as the 14B models but very impressive for its size. Many thanks to the VideoX-Fun team (https://github.com/aigc-apps/VideoX-Fun)
+
+### March 26, 2025
+👋 Good news! Official support for RTX 50xx please check the [installation instructions](INSTALLATION.md).
+
+### March 24, 2025: Wan2.1GP v3.2
+👋
+- Added Classifier-Free Guidance Zero Star. The video should match better the text prompt (especially with text2video) at no performance cost: many thanks to the **CFG Zero * Team**. Don't hesitate to give them a star if you appreciate the results: https://github.com/WeichenFan/CFG-Zero-star
+- Added back support for PyTorch compilation with Loras. It seems it had been broken for some time
+- Added possibility to keep a number of pregenerated videos in the Video Gallery (useful to compare outputs of different settings)
+
+*You will need one more `pip install -r requirements.txt`*
+
+### March 19, 2025: Wan2.1GP v3.1
+👋 Faster launch and RAM optimizations (should require less RAM to run)
+
+*You will need one more `pip install -r requirements.txt`*
+
+### March 18, 2025: Wan2.1GP v3.0
+👋
+- New Tab based interface, you can switch from i2v to t2v conversely without restarting the app
+- Experimental Dual Frames mode for i2v, you can also specify an End frame. It doesn't always work, so you will need a few attempts.
+- You can save default settings in the files *i2v_settings.json* and *t2v_settings.json* that will be used when launching the app (you can also specify the path to different settings files)
+- Slight acceleration with loras
+
+*You will need one more `pip install -r requirements.txt`*
+
+Many thanks to *Tophness* who created the framework (and did a big part of the work) of the multitabs and saved settings features
+
+### March 18, 2025: Wan2.1GP v2.11
+👋 Added more command line parameters to prefill the generation settings + customizable output directory and choice of type of metadata for generated videos. Many thanks to *Tophness* for his contributions.
+
+*You will need one more `pip install -r requirements.txt` to reflect new dependencies*
+
+### March 18, 2025: Wan2.1GP v2.1
+👋 More Loras!: added support for 'Safetensors' and 'Replicate' Lora formats.
+
+*You will need to refresh the requirements with a `pip install -r requirements.txt`*
+
+### March 17, 2025: Wan2.1GP v2.0
+👋 The Lora festival continues:
+- Clearer user interface
+- Download 30 Loras in one click to try them all (expand the info section)
+- Very easy to use Loras as now Lora presets can input the subject (or other needed terms) of the Lora so that you don't have to modify manually a prompt
+- Added basic macro prompt language to prefill prompts with different values. With one prompt template, you can generate multiple prompts.
+- New Multiple images prompts: you can now combine any number of images with any number of text prompts (need to launch the app with --multiple-images)
+- New command lines options to launch directly the 1.3B t2v model or the 14B t2v model
+
+### March 14, 2025: Wan2.1GP v1.7
+👋
+- Lora Fest special edition: very fast loading/unload of loras for those Loras collectors around. You can also now add/remove loras in the Lora folder without restarting the app.
+- Added experimental Skip Layer Guidance (advanced settings), that should improve the image quality at no extra cost. Many thanks to the *AmericanPresidentJimmyCarter* for the original implementation
+
+*You will need to refresh the requirements `pip install -r requirements.txt`*
+
+### March 13, 2025: Wan2.1GP v1.6
+👋 Better Loras support, accelerated loading Loras.
+
+*You will need to refresh the requirements `pip install -r requirements.txt`*
+
+### March 10, 2025: Wan2.1GP v1.5
+👋 Official Teacache support + Smart Teacache (find automatically best parameters for a requested speed multiplier), 10% speed boost with no quality loss, improved lora presets (they can now include prompts and comments to guide the user)
+
+### March 7, 2025: Wan2.1GP v1.4
+👋 Fix PyTorch compilation, now it is really 20% faster when activated
+
+### March 4, 2025: Wan2.1GP v1.3
+👋 Support for Image to Video with multiples images for different images/prompts combinations (requires *--multiple-images* switch), and added command line *--preload x* to preload in VRAM x MB of the main diffusion model if you find there is too much unused VRAM and you want to (slightly) accelerate the generation process.
+
+*If you upgrade you will need to do a `pip install -r requirements.txt` again.*
+
+### March 4, 2025: Wan2.1GP v1.2
+👋 Implemented tiling on VAE encoding and decoding. No more VRAM peaks at the beginning and at the end
+
+### March 3, 2025: Wan2.1GP v1.1
+👋 Added Tea Cache support for faster generations: optimization of kijai's implementation (https://github.com/kijai/ComfyUI-WanVideoWrapper/) of teacache (https://github.com/ali-vilab/TeaCache)
+
+### March 2, 2025: Wan2.1GP by DeepBeepMeep v1
+👋 Brings:
+- Support for all Wan including the Image to Video model
+- Reduced memory consumption by 2, with possibility to generate more than 10s of video at 720p with a RTX 4090 and 10s of video at 480p with less than 12GB of VRAM. Many thanks to REFLEx (https://github.com/thu-ml/RIFLEx) for their algorithm that allows generating nice looking video longer than 5s.
+- The usual perks: web interface, multiple generations, loras support, sage attention, auto download of models, ...
+
+## Original Wan Releases
+
+### February 25, 2025
+👋 We've released the inference code and weights of Wan2.1.
+
+### February 27, 2025
👋 Wan2.1 has been integrated into [ComfyUI](https://comfyanonymous.github.io/ComfyUI_examples/wan/). Enjoy!
\ No newline at end of file
diff --git a/docs/CLI.md b/docs/CLI.md
index b582fdb55..0c50f80c7 100644
--- a/docs/CLI.md
+++ b/docs/CLI.md
@@ -1,310 +1,310 @@
-# Command Line Reference
-
-This document covers all available command line options for WanGP.
-
-## Basic Usage
-
-```bash
-# Default launch
-python wgp.py
-
-```
-
-## CLI Queue Processing (Headless Mode)
-
-Process saved queues without launching the web UI. Useful for batch processing or automated workflows.
-
-### Quick Start
-```bash
-# Process a saved queue (ZIP with attachments)
-python wgp.py --process my_queue.zip
-
-# Process a settings file (JSON)
-python wgp.py --process my_settings.json
-
-# Validate without generating (dry-run)
-python wgp.py --process my_queue.zip --dry-run
-
-# Process with custom output directory
-python wgp.py --process my_queue.zip --output-dir ./batch_outputs
-```
-
-### Supported File Formats
-| Format | Description |
-|--------|-------------|
-| `.zip` | Full queue with embedded attachments (images, videos, audio). Created via "Save Queue" button. |
-| `.json` | Settings file only. Media paths are used as-is (absolute or relative to WanGP folder). Created via "Export Settings" button. |
-
-### Workflow
-1. **Create your queue** in the web UI using the normal interface
-2. **Save the queue** using the "Save Queue" button (creates a .zip file)
-3. **Close the web UI** if desired
-4. **Process the queue** via command line:
- ```bash
- python wgp.py --process saved_queue.zip --output-dir ./my_outputs
- ```
-
-### CLI Queue Options
-```bash
---process PATH # Path to queue (.zip) or settings (.json) file (enables headless mode)
---dry-run # Validate file without generating (use with --process)
---output-dir PATH # Override output directory (use with --process)
---verbose LEVEL # Verbosity level 0-2 for detailed logging
-```
-
-### Console Output
-The CLI mode provides real-time feedback:
-```
-WanGP CLI Mode - Processing queue: my_queue.zip
-Output directory: ./batch_outputs
-Loaded 3 task(s)
-
-[Task 1/3] A beautiful sunset over the ocean...
- [12/30] Prompt 1/3 - Denoising | Phase 2/2 Low Noise
- Video saved
- Task 1 completed
-
-[Task 2/3] A cat playing with yarn...
- [30/30] Prompt 2/3 - VAE Decoding
- Video saved
- Task 2 completed
-
-==================================================
-Queue completed: 3/3 tasks in 5m 23s
-```
-
-### Exit Codes
-| Code | Meaning |
-|------|---------|
-| 0 | Success (all tasks completed) |
-| 1 | Error (file not found, invalid queue, or task failures) |
-| 130 | Interrupted by user (Ctrl+C) |
-
-### Examples
-```bash
-# Overnight batch processing
-python wgp.py --process overnight_jobs.zip --output-dir ./renders
-
-# Quick validation before long run
-python wgp.py --process big_queue.zip --dry-run
-
-# Verbose mode for debugging
-python wgp.py --process my_queue.zip --verbose 2
-
-# Combined with other options
-python wgp.py --process queue.zip --output-dir ./out --attention sage2
-```
-
-## Model and Performance Options
-
-### Model Configuration
-```bash
---quantize-transformer BOOL # Enable/disable transformer quantization (default: True)
---compile # Enable PyTorch compilation (requires Triton)
---attention MODE # Force attention mode: sdpa, flash, sage, sage2
---profile NUMBER # Performance profile 1-5 (default: 4)
---preload NUMBER # Preload N MB of diffusion model in VRAM
---fp16 # Force fp16 instead of bf16 models
---gpu DEVICE # Run on specific GPU device (e.g., "cuda:1")
-```
-
-### Performance Profiles
-- **Profile 1**: Load entire current model in VRAM and keep all unused models in reserved RAM for fast VRAM tranfers
-- **Profile 2**: Load model parts as needed, keep all unused models in reserved RAM for fast VRAM tranfers
-- **Profile 3**: Load entire current model in VRAM (requires 24GB for 14B model)
-- **Profile 4**: Default and recommended, load model parts as needed, most flexible option
-- **Profile 4+** (4.5): Profile 4 variation, can save up to 1 GB of VRAM, but will be slighlty slower on some configs
-- **Profile 5**: Minimum RAM usage
-
-### Memory Management
-```bash
---perc-reserved-mem-max FLOAT # Max percentage of RAM for reserved memory (< 0.5)
-```
-
-## Lora Configuration
-
-```bash
---lora-dir PATH # Path to Wan t2v loras directory
---lora-dir-i2v PATH # Path to Wan i2v loras directory
---lora-dir-hunyuan PATH # Path to Hunyuan t2v loras directory
---lora-dir-hunyuan-i2v PATH # Path to Hunyuan i2v loras directory
---lora-dir-hunyuan-1-5 PATH # Path to Hunyuan 1.5 loras directory
---lora-dir-ltxv PATH # Path to LTX Video loras directory
---lora-preset PRESET # Load lora preset file (.lset) on startup
---check-loras # Filter incompatible loras (slower startup)
-```
-
-## Generation Settings
-
-### Basic Generation
-```bash
---seed NUMBER # Set default seed value
---frames NUMBER # Set default number of frames to generate
---steps NUMBER # Set default number of denoising steps
---advanced # Launch with advanced mode enabled
-```
-
-### Advanced Generation
-```bash
---teacache MULTIPLIER # TeaCache speed multiplier: 0, 1.5, 1.75, 2.0, 2.25, 2.5
-```
-
-## Interface and Server Options
-
-### Server Configuration
-```bash
---server-port PORT # Gradio server port (default: 7860)
---server-name NAME # Gradio server name (default: localhost)
---listen # Make server accessible on network
---share # Create shareable HuggingFace URL for remote access
---open-browser # Open browser automatically when launching
-```
-
-### Interface Options
-```bash
---lock-config # Prevent modifying video engine configuration from interface
---theme THEME_NAME # UI theme: "default" or "gradio"
-```
-
-## File and Directory Options
-
-```bash
---settings PATH # Path to folder containing default settings for all models
---config PATH # Config folder for wgp_config.json and queue.zip
---verbose LEVEL # Information level 0-2 (default: 1)
-```
-
-## Examples
-
-### Basic Usage Examples
-```bash
-# Launch with specific model and loras
-python wgp.py ----lora-preset mystyle.lset
-
-# High-performance setup with compilation
-python wgp.py --compile --attention sage2 --profile 3
-
-# Low VRAM setup
-python wgp.py --profile 4 --attention sdpa
-```
-
-### Server Configuration Examples
-```bash
-# Network accessible server
-python wgp.py --listen --server-port 8080
-
-# Shareable server with custom theme
-python wgp.py --share --theme gradio --open-browser
-
-# Locked configuration for public use
-python wgp.py --lock-config --share
-```
-
-### Advanced Performance Examples
-```bash
-# Maximum performance (requires high-end GPU)
-python wgp.py --compile --attention sage2 --profile 3 --preload 2000
-
-# Optimized for RTX 2080Ti
-python wgp.py --profile 4 --attention sdpa --teacache 2.0
-
-# Memory-efficient setup
-python wgp.py --fp16 --profile 4 --perc-reserved-mem-max 0.3
-```
-
-### TeaCache Configuration
-```bash
-# Different speed multipliers
-python wgp.py --teacache 1.5 # 1.5x speed, minimal quality loss
-python wgp.py --teacache 2.0 # 2x speed, some quality loss
-python wgp.py --teacache 2.5 # 2.5x speed, noticeable quality loss
-python wgp.py --teacache 0 # Disable TeaCache
-```
-
-## Attention Modes
-
-### SDPA (Default)
-```bash
-python wgp.py --attention sdpa
-```
-- Available by default with PyTorch
-- Good compatibility with all GPUs
-- Moderate performance
-
-### Sage Attention
-```bash
-python wgp.py --attention sage
-```
-- Requires Triton installation
-- 30% faster than SDPA
-- Small quality cost
-
-### Sage2 Attention
-```bash
-python wgp.py --attention sage2
-```
-- Requires Triton and SageAttention 2.x
-- 40% faster than SDPA
-- Best performance option
-
-### Flash Attention
-```bash
-python wgp.py --attention flash
-```
-- May require CUDA kernel compilation
-- Good performance
-- Can be complex to install on Windows
-
-## Troubleshooting Command Lines
-
-### Fallback to Basic Setup
-```bash
-# If advanced features don't work
-python wgp.py --attention sdpa --profile 4 --fp16
-```
-
-### Debug Mode
-```bash
-# Maximum verbosity for troubleshooting
-python wgp.py --verbose 2 --check-loras
-```
-
-### Memory Issue Debugging
-```bash
-# Minimal memory usage
-python wgp.py --profile 4 --attention sdpa --perc-reserved-mem-max 0.2
-```
-
-
-
-## Configuration Files
-
-### Settings Files
-Load custom settings:
-```bash
-python wgp.py --settings /path/to/settings/folder
-```
-
-### Config Folder
-Use a separate folder for the UI config and autosaved queue:
-```bash
-python wgp.py --config /path/to/config
-```
-If missing, `wgp_config.json` or `queue.zip` are loaded once from the WanGP root and then written to the config folder.
-
-### Lora Presets
-Create and share lora configurations:
-```bash
-# Load specific preset
-python wgp.py --lora-preset anime_style.lset
-
-# With custom lora directory
-python wgp.py --lora-preset mystyle.lset --lora-dir /shared/loras
-```
-
-## Environment Variables
-
-While not command line options, these environment variables can affect behavior:
-- `CUDA_VISIBLE_DEVICES` - Limit visible GPUs
-- `PYTORCH_CUDA_ALLOC_CONF` - CUDA memory allocation settings
-- `TRITON_CACHE_DIR` - Triton cache directory (for Sage attention)
+# Command Line Reference
+
+This document covers all available command line options for WanGP.
+
+## Basic Usage
+
+```bash
+# Default launch
+python wgp.py
+
+```
+
+## CLI Queue Processing (Headless Mode)
+
+Process saved queues without launching the web UI. Useful for batch processing or automated workflows.
+
+### Quick Start
+```bash
+# Process a saved queue (ZIP with attachments)
+python wgp.py --process my_queue.zip
+
+# Process a settings file (JSON)
+python wgp.py --process my_settings.json
+
+# Validate without generating (dry-run)
+python wgp.py --process my_queue.zip --dry-run
+
+# Process with custom output directory
+python wgp.py --process my_queue.zip --output-dir ./batch_outputs
+```
+
+### Supported File Formats
+| Format | Description |
+|--------|-------------|
+| `.zip` | Full queue with embedded attachments (images, videos, audio). Created via "Save Queue" button. |
+| `.json` | Settings file only. Media paths are used as-is (absolute or relative to WanGP folder). Created via "Export Settings" button. |
+
+### Workflow
+1. **Create your queue** in the web UI using the normal interface
+2. **Save the queue** using the "Save Queue" button (creates a .zip file)
+3. **Close the web UI** if desired
+4. **Process the queue** via command line:
+ ```bash
+ python wgp.py --process saved_queue.zip --output-dir ./my_outputs
+ ```
+
+### CLI Queue Options
+```bash
+--process PATH # Path to queue (.zip) or settings (.json) file (enables headless mode)
+--dry-run # Validate file without generating (use with --process)
+--output-dir PATH # Override output directory (use with --process)
+--verbose LEVEL # Verbosity level 0-2 for detailed logging
+```
+
+### Console Output
+The CLI mode provides real-time feedback:
+```
+WanGP CLI Mode - Processing queue: my_queue.zip
+Output directory: ./batch_outputs
+Loaded 3 task(s)
+
+[Task 1/3] A beautiful sunset over the ocean...
+ [12/30] Prompt 1/3 - Denoising | Phase 2/2 Low Noise
+ Video saved
+ Task 1 completed
+
+[Task 2/3] A cat playing with yarn...
+ [30/30] Prompt 2/3 - VAE Decoding
+ Video saved
+ Task 2 completed
+
+==================================================
+Queue completed: 3/3 tasks in 5m 23s
+```
+
+### Exit Codes
+| Code | Meaning |
+|------|---------|
+| 0 | Success (all tasks completed) |
+| 1 | Error (file not found, invalid queue, or task failures) |
+| 130 | Interrupted by user (Ctrl+C) |
+
+### Examples
+```bash
+# Overnight batch processing
+python wgp.py --process overnight_jobs.zip --output-dir ./renders
+
+# Quick validation before long run
+python wgp.py --process big_queue.zip --dry-run
+
+# Verbose mode for debugging
+python wgp.py --process my_queue.zip --verbose 2
+
+# Combined with other options
+python wgp.py --process queue.zip --output-dir ./out --attention sage2
+```
+
+## Model and Performance Options
+
+### Model Configuration
+```bash
+--quantize-transformer BOOL # Enable/disable transformer quantization (default: True)
+--compile # Enable PyTorch compilation (requires Triton)
+--attention MODE # Force attention mode: sdpa, flash, sage, sage2
+--profile NUMBER # Performance profile 1-5 (default: 4)
+--preload NUMBER # Preload N MB of diffusion model in VRAM
+--fp16 # Force fp16 instead of bf16 models
+--gpu DEVICE # Run on specific GPU device (e.g., "cuda:1")
+```
+
+### Performance Profiles
+- **Profile 1**: Load entire current model in VRAM and keep all unused models in reserved RAM for fast VRAM tranfers
+- **Profile 2**: Load model parts as needed, keep all unused models in reserved RAM for fast VRAM tranfers
+- **Profile 3**: Load entire current model in VRAM (requires 24GB for 14B model)
+- **Profile 4**: Default and recommended, load model parts as needed, most flexible option
+- **Profile 4+** (4.5): Profile 4 variation, can save up to 1 GB of VRAM, but will be slighlty slower on some configs
+- **Profile 5**: Minimum RAM usage
+
+### Memory Management
+```bash
+--perc-reserved-mem-max FLOAT # Max percentage of RAM for reserved memory (< 0.5)
+```
+
+## Lora Configuration
+
+```bash
+--lora-dir PATH # Path to Wan t2v loras directory
+--lora-dir-i2v PATH # Path to Wan i2v loras directory
+--lora-dir-hunyuan PATH # Path to Hunyuan t2v loras directory
+--lora-dir-hunyuan-i2v PATH # Path to Hunyuan i2v loras directory
+--lora-dir-hunyuan-1-5 PATH # Path to Hunyuan 1.5 loras directory
+--lora-dir-ltxv PATH # Path to LTX Video loras directory
+--lora-preset PRESET # Load lora preset file (.lset) on startup
+--check-loras # Filter incompatible loras (slower startup)
+```
+
+## Generation Settings
+
+### Basic Generation
+```bash
+--seed NUMBER # Set default seed value
+--frames NUMBER # Set default number of frames to generate
+--steps NUMBER # Set default number of denoising steps
+--advanced # Launch with advanced mode enabled
+```
+
+### Advanced Generation
+```bash
+--teacache MULTIPLIER # TeaCache speed multiplier: 0, 1.5, 1.75, 2.0, 2.25, 2.5
+```
+
+## Interface and Server Options
+
+### Server Configuration
+```bash
+--server-port PORT # Gradio server port (default: 7860)
+--server-name NAME # Gradio server name (default: localhost)
+--listen # Make server accessible on network
+--share # Create shareable HuggingFace URL for remote access
+--open-browser # Open browser automatically when launching
+```
+
+### Interface Options
+```bash
+--lock-config # Prevent modifying video engine configuration from interface
+--theme THEME_NAME # UI theme: "default" or "gradio"
+```
+
+## File and Directory Options
+
+```bash
+--settings PATH # Path to folder containing default settings for all models
+--config PATH # Config folder for wgp_config.json and queue.zip
+--verbose LEVEL # Information level 0-2 (default: 1)
+```
+
+## Examples
+
+### Basic Usage Examples
+```bash
+# Launch with specific model and loras
+python wgp.py ----lora-preset mystyle.lset
+
+# High-performance setup with compilation
+python wgp.py --compile --attention sage2 --profile 3
+
+# Low VRAM setup
+python wgp.py --profile 4 --attention sdpa
+```
+
+### Server Configuration Examples
+```bash
+# Network accessible server
+python wgp.py --listen --server-port 8080
+
+# Shareable server with custom theme
+python wgp.py --share --theme gradio --open-browser
+
+# Locked configuration for public use
+python wgp.py --lock-config --share
+```
+
+### Advanced Performance Examples
+```bash
+# Maximum performance (requires high-end GPU)
+python wgp.py --compile --attention sage2 --profile 3 --preload 2000
+
+# Optimized for RTX 2080Ti
+python wgp.py --profile 4 --attention sdpa --teacache 2.0
+
+# Memory-efficient setup
+python wgp.py --fp16 --profile 4 --perc-reserved-mem-max 0.3
+```
+
+### TeaCache Configuration
+```bash
+# Different speed multipliers
+python wgp.py --teacache 1.5 # 1.5x speed, minimal quality loss
+python wgp.py --teacache 2.0 # 2x speed, some quality loss
+python wgp.py --teacache 2.5 # 2.5x speed, noticeable quality loss
+python wgp.py --teacache 0 # Disable TeaCache
+```
+
+## Attention Modes
+
+### SDPA (Default)
+```bash
+python wgp.py --attention sdpa
+```
+- Available by default with PyTorch
+- Good compatibility with all GPUs
+- Moderate performance
+
+### Sage Attention
+```bash
+python wgp.py --attention sage
+```
+- Requires Triton installation
+- 30% faster than SDPA
+- Small quality cost
+
+### Sage2 Attention
+```bash
+python wgp.py --attention sage2
+```
+- Requires Triton and SageAttention 2.x
+- 40% faster than SDPA
+- Best performance option
+
+### Flash Attention
+```bash
+python wgp.py --attention flash
+```
+- May require CUDA kernel compilation
+- Good performance
+- Can be complex to install on Windows
+
+## Troubleshooting Command Lines
+
+### Fallback to Basic Setup
+```bash
+# If advanced features don't work
+python wgp.py --attention sdpa --profile 4 --fp16
+```
+
+### Debug Mode
+```bash
+# Maximum verbosity for troubleshooting
+python wgp.py --verbose 2 --check-loras
+```
+
+### Memory Issue Debugging
+```bash
+# Minimal memory usage
+python wgp.py --profile 4 --attention sdpa --perc-reserved-mem-max 0.2
+```
+
+
+
+## Configuration Files
+
+### Settings Files
+Load custom settings:
+```bash
+python wgp.py --settings /path/to/settings/folder
+```
+
+### Config Folder
+Use a separate folder for the UI config and autosaved queue:
+```bash
+python wgp.py --config /path/to/config
+```
+If missing, `wgp_config.json` or `queue.zip` are loaded once from the WanGP root and then written to the config folder.
+
+### Lora Presets
+Create and share lora configurations:
+```bash
+# Load specific preset
+python wgp.py --lora-preset anime_style.lset
+
+# With custom lora directory
+python wgp.py --lora-preset mystyle.lset --lora-dir /shared/loras
+```
+
+## Environment Variables
+
+While not command line options, these environment variables can affect behavior:
+- `CUDA_VISIBLE_DEVICES` - Limit visible GPUs
+- `PYTORCH_CUDA_ALLOC_CONF` - CUDA memory allocation settings
+- `TRITON_CACHE_DIR` - Triton cache directory (for Sage attention)
diff --git a/docs/FINETUNES.md b/docs/FINETUNES.md
index 106bbeab3..deed185f0 100644
--- a/docs/FINETUNES.md
+++ b/docs/FINETUNES.md
@@ -1,137 +1,137 @@
-# FINETUNES
-
-A Finetuned model is model that shares the same architecture of one specific model but has derived weights from this model. Some finetuned models have been created by combining multiple finetuned models.
-
-As there are potentially an infinite number of finetunes, specific finetuned models are not known by default by WanGP. However you can create a finetuned model definition that will tell WanGP about the existence of this finetuned model and WanGP will do as usual all the work for you: autodownload the model and build the user interface.
-
-WanGP finetune system can be also used to tweak default models : for instance you can add on top of an existing model some loras that will be always applied transparently.
-
-Finetune models definitions are light json files that can be easily shared. You can find some of them on the WanGP *discord* server https://discord.gg/g7efUW9jGV
-
-All the finetunes definitions files should be stored in the *finetunes/* subfolder.
-
-Finetuned models have been tested so far with Wan2.1 text2video, Wan2.1 image2video, Hunyuan Video text2video. There isn't currently any support for LTX Video finetunes.
-
-
-
-## Create a new Finetune Model Definition
-All the finetune models definitions are json files stored in the **finetunes/** sub folder. All the corresponding finetune model weights when they are downloaded will be stored in the *ckpts/* subfolder and will sit next to the base models.
-
-All the models used by WanGP are also described using the finetunes json format and can be found in the **defaults/** subfolder. Please don’t modify any file in the **defaults/** folder.
-
-However you can use these files as starting points for new definition files and to get an idea of the structure of a definition file. If you want to change how a base model is handled (title, default settings, path to model weights, …) you may override any property of the default finetunes definition file by creating a new file in the finetunes folder with the same name. Everything will happen as if the two models will be merged property by property with a higher priority given to the finetunes model definition.
-
-A definition is built from a *settings file* that can contains all the default parameters for a video generation. On top of this file a subtree named **model** contains all the information regarding the finetune (URLs to download model, corresponding base model id, ...).
-
-You can obtain a settings file in several ways:
-- In the subfolder **settings**, get the json file that corresponds to the base model of your finetune (see the next section for the list of ids of base models)
-- From the user interface, select the base model for which you want to create a finetune and click **export settings**
-
-Here are steps:
-1) Create a *settings file*
-2) Add a **model** subtree with the finetune description
-3) Save this file in the subfolder **finetunes**. The name used for the file will be used as its id. It is a good practise to prefix the name of this file with the base model. For instance for a finetune named **Fast*** based on Hunyuan Text 2 Video model *hunyuan_t2v_fast.json*. In this example the Id is *hunyuan_t2v_fast*.
-4) Restart WanGP
-
-## Architecture Models Ids
-A finetune is derived from a base model and will inherit all the user interface and corresponding model capabilities, here are some Architecture Ids:
-- *t2v*: Wan 2.1 Video text 2 video
-- *i2v*: Wan 2.1 Video image 2 video 480p and 720p
-- *vace_14B*: Wan 2.1 Vace 14B
-- *hunyuan*: Hunyuan Video text 2 video
-- *hunyuan_i2v*: Hunyuan Video image 2 video
-
-Any file name in the defaults subfolder (without the json extension) corresponds to an architecture id.
-
-Please note that weights of some architectures correspond to a combination of weight of a one architecture which are completed by the weights of one more or modules.
-
-A module is a set a weights that are insufficient to be model by itself but that can be added to an existing model to extend its capabilities.
-
-For instance if one adds a module *vace_14B* on top of a model with architecture *t2v* one gets get a model with the *vace_14B* architecture. Here *vace_14B* stands for both an architecture name and a module name. The module system allows you to reuse shared weights between models.
-
-
-## The Model Subtree
-- *name* : name of the finetune used to select
-- *architecture* : architecture Id of the base model of the finetune (see previous section)
-- *description*: description of the finetune that will appear at the top
-- *URLs*: URLs of all the finetune versions (quantized / non quantized). WanGP will pick the version that is the closest to the user preferences. You will need to follow a naming convention to help WanGP identify the content of each version (see next section). WanGP supports 8 bits quantized model that have been quantized using **quanto** and Scaled FP8 models. WanGP offers a command switch to build easily such a quantized model (see below). *URLs* can contain also paths to local file to allow testing.
-- *URLs2*: URLs of all the finetune versions (quantized / non quantized) of the weights used for the second phase of a model. For instance with Wan 2.2, the first phase contains the High Noise model weights and the second phase contains the Low Noise model weights. This feature can be used with other models than Wan 2.2 to combine different model weights during the same video generation.
-- *text_encoder_URLs* : URLs of the text_encoder versions (quantized or not), if specified will override the default text encoder
-- *modules*: this a list of modules to be combined with the models referenced by the URLs. A module is a model extension that is merged with a model to expand its capabilities. Supported models so far are : *vace_14B* and *multitalk*. For instance the full Vace model is the fusion of a Wan text 2 video and the Vace module.
-- *preload_URLs* : URLs of files to download no matter what (used to load quantization maps for instance)
-- *loras* : URLs of Loras that will applied before any other Lora specified by the user. These loras will be quite often Loras accelerators. For instance if you specify here the FusioniX Lora you will be able to reduce the number of generation steps to 10
-be able to reduce the number of generation steps to 10
-- *loras_multipliers* : a list of float numbers or strings that defines the weight of each Lora mentioned in *Loras*. The string syntax is used if you want your lora multiplier to change over the steps (please check the Loras doc) or if you want a multiplier to be applied on a specific High Noise phase or Low Noise phase of a Wan 2.2 model. For instance, here the multiplier will be only applied during the High Noise phase and for half of the steps of this phase the multiplier will be 1 and for the other half 1.1.
-```
-"loras" : [ "my_lora.safetensors"],
-"loras_multipliers" : [ "1,1.1;0"]
-```
-
-- *auto_quantize*: if set to True and no quantized model URL is provided, WanGP will perform on the fly quantization if the user expects a quantized model
-- *visible* : by default assumed to be true. If set to false the model will no longer be visible. This can be useful if you create a finetune to override a default model and hide it.
-- *image_outputs* : turn any model that generates a video into a model that generates images. In fact it will adapt the user interface for image generation and ask the model to generate a video with a single frame.
-- *video_prompt_enhancer_instructions* : this allows you override the system prompt used by the Prompt Enhancer when generating a Video with this finetune
-- *image_prompt_enhancer_instructions* : this allows you override the system prompt used by the Prompt Enhancer when generating an Image with this finetune
-- *video_prompt_enhancer_max_tokens*: override for the maximum number of tokens generated by the prompt enhancer when generating a Video (default 256)
-- *image_prompt_enhancer_max_tokens*: override for the maximum number of tokens generated by the prompt enhancer when generating an Image (default 256)
-
-In order to favor reusability the properties of *URLs*, *modules*, *loras* and *preload_URLs* can contain instead of a list of URLs a single text which corresponds to the id of a finetune or default model to reuse. Instead of:
-```
- "URLs": [
- "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_high_mbf16.safetensors",
- "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_high_quanto_mbf16_int8.safetensors",
- "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_high_quanto_mfp16_int8.safetensors"
- ],
- "URLs2": [
- "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_low_mbf16.safetensors",
- "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_low_quanto_mbf16_int8.safetensors",
- "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_low_quanto_mfp16_int8.safetensors"
- ],
-```
- You can write:
-```
- "URLs": "t2v_2_2",
- "URLs2": "t2v_2_2",
-```
-
-
-Example of **model** subtree
-```
- "model":
- {
- "name": "Wan text2video FusioniX 14B",
- "architecture" : "t2v",
- "description": "A powerful merged text-to-video model based on the original WAN 2.1 T2V model, enhanced using multiple open-source components and LoRAs to boost motion realism, temporal consistency, and expressive detail. multiple open-source models and LoRAs to boost temporal quality, expressiveness, and motion realism.",
- "URLs": [
- "https://huggingface.co/DeepBeepMeep/Wan2.1/resolve/main/Wan14BT2VFusioniX_fp16.safetensors",
- "https://huggingface.co/DeepBeepMeep/Wan2.1/resolve/main/Wan14BT2VFusioniX_quanto_fp16_int8.safetensors",
- "https://huggingface.co/DeepBeepMeep/Wan2.1/resolve/main/Wan14BT2VFusioniX_quanto_bf16_int8.safetensors"
- ],
- "preload_URLs": [
- ],
- "auto_quantize": true
- },
-```
-
-## Finetune Model Naming Convention
-If a model is not quantized, it is assumed to be mostly 16 bits (with maybe a few 32 bits weights), so *bf16* or *fp16* should appear somewhere in the name. If you need examples just look at the **ckpts** subfolder, the naming convention for the base models is the same.
-
-If a model is quantized the term *quanto* should also be included since WanGP supports for the moment only *quanto* quantized model, most specically you should replace *fp16* by *quanto_fp16_int8* or *bf6* by *quanto_bf16_int8*.
-
-Please note it is important than *bf16", "fp16* and *quanto* are all in lower cases letters.
-
-## Creating a Quanto Quantized file
-If you launch the app with the *--save-quantized* switch, WanGP will create a quantized file in the **ckpts** subfolder just after the model has been loaded. Please note that the model will *bf16* or *fp16* quantized depending on what you chose in the configuration menu.
-
-1) Make sure that in the finetune definition json file there is only a URL or filepath that points to the non quantized model
-2) Launch WanGP *python wgp.py --save-quantized*
-3) In the configuration menu *Transformer Data Type* property choose either *BF16* of *FP16*
-4) Launch a video generation (settings used do not matter). As soon as the model is loaded, a new quantized model will be created in the **ckpts** subfolder if it doesn't already exist.
-5) WanGP will update automatically the finetune definition file with the local path of the newly created quantized file (the list "URLs" will have an extra value such as *"ckpts/finetune_quanto_fp16_int8.safetensors"*
-6) Remove *--save-quantized*, restart WanGP and select *Scaled Int8 Quantization* in the *Transformer Model Quantization* property
-7) Launch a new generation and verify in the terminal window that the right quantized model is loaded
-8) In order to share the finetune definition file you will need to store the fine model weights in the cloud. You can upload them for instance on *Huggingface*. You can now replace in the finetune definition file the local path by a URL (on Huggingface to get the URL of the model file click *Copy download link* when accessing the model properties)
-
-You need to create a quantized model specifically for *bf16* or *fp16* as they can not converted on the fly. However there is no need for a non quantized model as they can be converted on the fly while being loaded.
-
-Wan models supports both *fp16* and *bf16* data types albeit *fp16* delivers in theory better quality. On the contrary Hunyuan and LTXV supports only *bf16*.
+# FINETUNES
+
+A Finetuned model is model that shares the same architecture of one specific model but has derived weights from this model. Some finetuned models have been created by combining multiple finetuned models.
+
+As there are potentially an infinite number of finetunes, specific finetuned models are not known by default by WanGP. However you can create a finetuned model definition that will tell WanGP about the existence of this finetuned model and WanGP will do as usual all the work for you: autodownload the model and build the user interface.
+
+WanGP finetune system can be also used to tweak default models : for instance you can add on top of an existing model some loras that will be always applied transparently.
+
+Finetune models definitions are light json files that can be easily shared. You can find some of them on the WanGP *discord* server https://discord.gg/g7efUW9jGV
+
+All the finetunes definitions files should be stored in the *finetunes/* subfolder.
+
+Finetuned models have been tested so far with Wan2.1 text2video, Wan2.1 image2video, Hunyuan Video text2video. There isn't currently any support for LTX Video finetunes.
+
+
+
+## Create a new Finetune Model Definition
+All the finetune models definitions are json files stored in the **finetunes/** sub folder. All the corresponding finetune model weights when they are downloaded will be stored in the *ckpts/* subfolder and will sit next to the base models.
+
+All the models used by WanGP are also described using the finetunes json format and can be found in the **defaults/** subfolder. Please don’t modify any file in the **defaults/** folder.
+
+However you can use these files as starting points for new definition files and to get an idea of the structure of a definition file. If you want to change how a base model is handled (title, default settings, path to model weights, …) you may override any property of the default finetunes definition file by creating a new file in the finetunes folder with the same name. Everything will happen as if the two models will be merged property by property with a higher priority given to the finetunes model definition.
+
+A definition is built from a *settings file* that can contains all the default parameters for a video generation. On top of this file a subtree named **model** contains all the information regarding the finetune (URLs to download model, corresponding base model id, ...).
+
+You can obtain a settings file in several ways:
+- In the subfolder **settings**, get the json file that corresponds to the base model of your finetune (see the next section for the list of ids of base models)
+- From the user interface, select the base model for which you want to create a finetune and click **export settings**
+
+Here are steps:
+1) Create a *settings file*
+2) Add a **model** subtree with the finetune description
+3) Save this file in the subfolder **finetunes**. The name used for the file will be used as its id. It is a good practise to prefix the name of this file with the base model. For instance for a finetune named **Fast*** based on Hunyuan Text 2 Video model *hunyuan_t2v_fast.json*. In this example the Id is *hunyuan_t2v_fast*.
+4) Restart WanGP
+
+## Architecture Models Ids
+A finetune is derived from a base model and will inherit all the user interface and corresponding model capabilities, here are some Architecture Ids:
+- *t2v*: Wan 2.1 Video text 2 video
+- *i2v*: Wan 2.1 Video image 2 video 480p and 720p
+- *vace_14B*: Wan 2.1 Vace 14B
+- *hunyuan*: Hunyuan Video text 2 video
+- *hunyuan_i2v*: Hunyuan Video image 2 video
+
+Any file name in the defaults subfolder (without the json extension) corresponds to an architecture id.
+
+Please note that weights of some architectures correspond to a combination of weight of a one architecture which are completed by the weights of one more or modules.
+
+A module is a set a weights that are insufficient to be model by itself but that can be added to an existing model to extend its capabilities.
+
+For instance if one adds a module *vace_14B* on top of a model with architecture *t2v* one gets get a model with the *vace_14B* architecture. Here *vace_14B* stands for both an architecture name and a module name. The module system allows you to reuse shared weights between models.
+
+
+## The Model Subtree
+- *name* : name of the finetune used to select
+- *architecture* : architecture Id of the base model of the finetune (see previous section)
+- *description*: description of the finetune that will appear at the top
+- *URLs*: URLs of all the finetune versions (quantized / non quantized). WanGP will pick the version that is the closest to the user preferences. You will need to follow a naming convention to help WanGP identify the content of each version (see next section). WanGP supports 8 bits quantized model that have been quantized using **quanto** and Scaled FP8 models. WanGP offers a command switch to build easily such a quantized model (see below). *URLs* can contain also paths to local file to allow testing.
+- *URLs2*: URLs of all the finetune versions (quantized / non quantized) of the weights used for the second phase of a model. For instance with Wan 2.2, the first phase contains the High Noise model weights and the second phase contains the Low Noise model weights. This feature can be used with other models than Wan 2.2 to combine different model weights during the same video generation.
+- *text_encoder_URLs* : URLs of the text_encoder versions (quantized or not), if specified will override the default text encoder
+- *modules*: this a list of modules to be combined with the models referenced by the URLs. A module is a model extension that is merged with a model to expand its capabilities. Supported models so far are : *vace_14B* and *multitalk*. For instance the full Vace model is the fusion of a Wan text 2 video and the Vace module.
+- *preload_URLs* : URLs of files to download no matter what (used to load quantization maps for instance)
+- *loras* : URLs of Loras that will applied before any other Lora specified by the user. These loras will be quite often Loras accelerators. For instance if you specify here the FusioniX Lora you will be able to reduce the number of generation steps to 10
+be able to reduce the number of generation steps to 10
+- *loras_multipliers* : a list of float numbers or strings that defines the weight of each Lora mentioned in *Loras*. The string syntax is used if you want your lora multiplier to change over the steps (please check the Loras doc) or if you want a multiplier to be applied on a specific High Noise phase or Low Noise phase of a Wan 2.2 model. For instance, here the multiplier will be only applied during the High Noise phase and for half of the steps of this phase the multiplier will be 1 and for the other half 1.1.
+```
+"loras" : [ "my_lora.safetensors"],
+"loras_multipliers" : [ "1,1.1;0"]
+```
+
+- *auto_quantize*: if set to True and no quantized model URL is provided, WanGP will perform on the fly quantization if the user expects a quantized model
+- *visible* : by default assumed to be true. If set to false the model will no longer be visible. This can be useful if you create a finetune to override a default model and hide it.
+- *image_outputs* : turn any model that generates a video into a model that generates images. In fact it will adapt the user interface for image generation and ask the model to generate a video with a single frame.
+- *video_prompt_enhancer_instructions* : this allows you override the system prompt used by the Prompt Enhancer when generating a Video with this finetune
+- *image_prompt_enhancer_instructions* : this allows you override the system prompt used by the Prompt Enhancer when generating an Image with this finetune
+- *video_prompt_enhancer_max_tokens*: override for the maximum number of tokens generated by the prompt enhancer when generating a Video (default 256)
+- *image_prompt_enhancer_max_tokens*: override for the maximum number of tokens generated by the prompt enhancer when generating an Image (default 256)
+
+In order to favor reusability the properties of *URLs*, *modules*, *loras* and *preload_URLs* can contain instead of a list of URLs a single text which corresponds to the id of a finetune or default model to reuse. Instead of:
+```
+ "URLs": [
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_high_mbf16.safetensors",
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_high_quanto_mbf16_int8.safetensors",
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_high_quanto_mfp16_int8.safetensors"
+ ],
+ "URLs2": [
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_low_mbf16.safetensors",
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_low_quanto_mbf16_int8.safetensors",
+ "https://huggingface.co/DeepBeepMeep/Wan2.2/resolve/main/wan2.2_text2video_14B_low_quanto_mfp16_int8.safetensors"
+ ],
+```
+ You can write:
+```
+ "URLs": "t2v_2_2",
+ "URLs2": "t2v_2_2",
+```
+
+
+Example of **model** subtree
+```
+ "model":
+ {
+ "name": "Wan text2video FusioniX 14B",
+ "architecture" : "t2v",
+ "description": "A powerful merged text-to-video model based on the original WAN 2.1 T2V model, enhanced using multiple open-source components and LoRAs to boost motion realism, temporal consistency, and expressive detail. multiple open-source models and LoRAs to boost temporal quality, expressiveness, and motion realism.",
+ "URLs": [
+ "https://huggingface.co/DeepBeepMeep/Wan2.1/resolve/main/Wan14BT2VFusioniX_fp16.safetensors",
+ "https://huggingface.co/DeepBeepMeep/Wan2.1/resolve/main/Wan14BT2VFusioniX_quanto_fp16_int8.safetensors",
+ "https://huggingface.co/DeepBeepMeep/Wan2.1/resolve/main/Wan14BT2VFusioniX_quanto_bf16_int8.safetensors"
+ ],
+ "preload_URLs": [
+ ],
+ "auto_quantize": true
+ },
+```
+
+## Finetune Model Naming Convention
+If a model is not quantized, it is assumed to be mostly 16 bits (with maybe a few 32 bits weights), so *bf16* or *fp16* should appear somewhere in the name. If you need examples just look at the **ckpts** subfolder, the naming convention for the base models is the same.
+
+If a model is quantized the term *quanto* should also be included since WanGP supports for the moment only *quanto* quantized model, most specically you should replace *fp16* by *quanto_fp16_int8* or *bf6* by *quanto_bf16_int8*.
+
+Please note it is important than *bf16", "fp16* and *quanto* are all in lower cases letters.
+
+## Creating a Quanto Quantized file
+If you launch the app with the *--save-quantized* switch, WanGP will create a quantized file in the **ckpts** subfolder just after the model has been loaded. Please note that the model will *bf16* or *fp16* quantized depending on what you chose in the configuration menu.
+
+1) Make sure that in the finetune definition json file there is only a URL or filepath that points to the non quantized model
+2) Launch WanGP *python wgp.py --save-quantized*
+3) In the configuration menu *Transformer Data Type* property choose either *BF16* of *FP16*
+4) Launch a video generation (settings used do not matter). As soon as the model is loaded, a new quantized model will be created in the **ckpts** subfolder if it doesn't already exist.
+5) WanGP will update automatically the finetune definition file with the local path of the newly created quantized file (the list "URLs" will have an extra value such as *"ckpts/finetune_quanto_fp16_int8.safetensors"*
+6) Remove *--save-quantized*, restart WanGP and select *Scaled Int8 Quantization* in the *Transformer Model Quantization* property
+7) Launch a new generation and verify in the terminal window that the right quantized model is loaded
+8) In order to share the finetune definition file you will need to store the fine model weights in the cloud. You can upload them for instance on *Huggingface*. You can now replace in the finetune definition file the local path by a URL (on Huggingface to get the URL of the model file click *Copy download link* when accessing the model properties)
+
+You need to create a quantized model specifically for *bf16* or *fp16* as they can not converted on the fly. However there is no need for a non quantized model as they can be converted on the fly while being loaded.
+
+Wan models supports both *fp16* and *bf16* data types albeit *fp16* delivers in theory better quality. On the contrary Hunyuan and LTXV supports only *bf16*.
diff --git a/docs/GETTING_STARTED.md b/docs/GETTING_STARTED.md
index 2449e4f26..0bd492ce0 100644
--- a/docs/GETTING_STARTED.md
+++ b/docs/GETTING_STARTED.md
@@ -1,194 +1,194 @@
-# Getting Started with WanGP
-
-This guide will help you get started with WanGP video generation quickly and easily.
-
-## Prerequisites
-
-Before starting, ensure you have:
-- A compatible GPU (RTX 10XX or newer recommended)
-- Python 3.10.9 installed
-- At least 6GB of VRAM for basic models
-- Internet connection for model downloads
-
-## Quick Setup
-
-### Option 1: One-Click Installation (Recommended)
-Use [Pinokio App](https://pinokio.computer/) for the easiest installation experience.
-
-### Option 2: Manual Installation
-```bash
-git clone https://github.com/deepbeepmeep/Wan2GP.git
-cd Wan2GP
-conda create -n wan2gp python=3.10.9
-conda activate wan2gp
-pip install torch==2.6.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu124
-pip install -r requirements.txt
-```
-
-For detailed installation instructions, see [INSTALLATION.md](INSTALLATION.md).
-
-## First Launch
-
-### Basic Launch
-```bash
-python wgp.py
-```
-This launches the WanGP generator with default settings. You will be able to pick from a Drop Down menu which model you want to use.
-
-### Alternative Modes
-```bash
-python wgp.py --i2v # Wan Image-to-video mode
-python wgp.py --t2v-1-3B # Wan Smaller, faster model
-```
-
-## Understanding the Interface
-
-When you launch WanGP, you'll see a web interface with several sections:
-
-### Main Generation Panel
-- **Model Selection**: Dropdown to choose between different models
-- **Prompt**: Text description of what you want to generate
-- **Generate Button**: Start the video generation process
-
-### Advanced Settings (click checkbox to enable)
-- **Generation Settings**: Steps, guidance, seeds
-- **Loras**: Additional style customizations
-- **Sliding Window**: For longer videos
-
-## Your First Video
-
-Let's generate a simple text-to-video:
-
-1. **Launch WanGP**: `python wgp.py`
-2. **Open Browser**: Navigate to `http://localhost:7860`
-3. **Enter Prompt**: "A cat walking in a garden"
-4. **Click Generate**: Wait for the video to be created
-5. **View Result**: The video will appear in the output section
-
-### Recommended First Settings
-- **Model**: Wan 2.1 text2video 1.3B (faster, lower VRAM)
-- **Frames**: 49 (about 2 seconds)
-- **Steps**: 20 (good balance of speed/quality)
-
-## Model Selection
-
-### Text-to-Video Models
-- **Wan 2.1 T2V 1.3B**: Fastest, lowest VRAM (6GB), good quality
-- **Wan 2.1 T2V 14B**: Best quality, requires more VRAM (12GB+)
-- **Hunyuan Video**: Excellent quality, slower generation
-- **LTX Video**: Good for longer videos
-
-### Image-to-Video Models
-- **Wan Fun InP 1.3B**: Fast image animation
-- **Wan Fun InP 14B**: Higher quality image animation
-- **VACE**: Advanced control over video generation
-
-### Choosing the Right Model
-- **Low VRAM (6-8GB)**: Use 1.3B models
-- **Medium VRAM (10-12GB)**: Use 14B models or Hunyuan
-- **High VRAM (16GB+)**: Any model, longer videos
-
-## Basic Settings Explained
-
-### Generation Settings
-- **Frames**: Number of frames (more = longer video)
- - 25 frames ≈ 1 second
- - 49 frames ≈ 2 seconds
- - 73 frames ≈ 3 seconds
-
-- **Steps**: Quality vs Speed tradeoff
- - 15 steps: Fast, lower quality
- - 20 steps: Good balance
- - 30+ steps: High quality, slower
-
-- **Guidance Scale**: How closely to follow the prompt
- - 3-5: More creative interpretation
- - 7-10: Closer to prompt description
- - 12+: Very literal interpretation
-
-### Seeds
-- **Random Seed**: Different result each time
-- **Fixed Seed**: Reproducible results
-- **Use same seed + prompt**: Generate variations
-
-## Common Beginner Issues
-
-### "Out of Memory" Errors
-1. Use smaller models (1.3B instead of 14B)
-2. Reduce frame count
-3. Lower resolution in advanced settings
-4. Enable quantization (usually on by default)
-
-### Slow Generation
-1. Use 1.3B models for speed
-2. Reduce number of steps
-3. Install Sage attention (see [INSTALLATION.md](INSTALLATION.md))
-4. Enable TeaCache: `python wgp.py --teacache 2.0`
-
-### Poor Quality Results
-1. Increase number of steps (25-30)
-2. Improve prompt description
-3. Use 14B models if you have enough VRAM
-4. Enable Skip Layer Guidance in advanced settings
-
-## Writing Good Prompts
-
-### Basic Structure
-```
-[Subject] [Action] [Setting] [Style/Quality modifiers]
-```
-
-### Examples
-```
-A red sports car driving through a mountain road at sunset, cinematic, high quality
-
-A woman with long hair walking on a beach, waves in the background, realistic, detailed
-
-A cat sitting on a windowsill watching rain, cozy atmosphere, soft lighting
-```
-
-### Tips
-- Be specific about what you want
-- Include style descriptions (cinematic, realistic, etc.)
-- Mention lighting and atmosphere
-- Describe the setting in detail
-- Use quality modifiers (high quality, detailed, etc.)
-
-## Next Steps
-
-Once you're comfortable with basic generation:
-
-1. **Explore Advanced Features**:
- - [Loras Guide](LORAS.md) - Customize styles and characters
- - [VACE ControlNet](VACE.md) - Advanced video control
- - [Command Line Options](CLI.md) - Optimize performance
-
-2. **Improve Performance**:
- - Install better attention mechanisms
- - Optimize memory settings
- - Use compilation for speed
-
-3. **Join the Community**:
- - [Discord Server](https://discord.gg/g7efUW9jGV) - Get help and share videos
- - Share your best results
- - Learn from other users
-
-## Troubleshooting First Steps
-
-### Installation Issues
-- Ensure Python 3.10.9 is used
-- Check CUDA version compatibility
-- See [INSTALLATION.md](INSTALLATION.md) for detailed steps
-
-### Generation Issues
-- Check GPU compatibility
-- Verify sufficient VRAM
-- Try basic settings first
-- See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for specific issues
-
-### Performance Issues
-- Use appropriate model for your hardware
-- Enable performance optimizations
-- Check [CLI.md](CLI.md) for optimization flags
-
+# Getting Started with WanGP
+
+This guide will help you get started with WanGP video generation quickly and easily.
+
+## Prerequisites
+
+Before starting, ensure you have:
+- A compatible GPU (RTX 10XX or newer recommended)
+- Python 3.10.9 installed
+- At least 6GB of VRAM for basic models
+- Internet connection for model downloads
+
+## Quick Setup
+
+### Option 1: One-Click Installation (Recommended)
+Use [Pinokio App](https://pinokio.computer/) for the easiest installation experience.
+
+### Option 2: Manual Installation
+```bash
+git clone https://github.com/deepbeepmeep/Wan2GP.git
+cd Wan2GP
+conda create -n wan2gp python=3.10.9
+conda activate wan2gp
+pip install torch==2.6.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu124
+pip install -r requirements.txt
+```
+
+For detailed installation instructions, see [INSTALLATION.md](INSTALLATION.md).
+
+## First Launch
+
+### Basic Launch
+```bash
+python wgp.py
+```
+This launches the WanGP generator with default settings. You will be able to pick from a Drop Down menu which model you want to use.
+
+### Alternative Modes
+```bash
+python wgp.py --i2v # Wan Image-to-video mode
+python wgp.py --t2v-1-3B # Wan Smaller, faster model
+```
+
+## Understanding the Interface
+
+When you launch WanGP, you'll see a web interface with several sections:
+
+### Main Generation Panel
+- **Model Selection**: Dropdown to choose between different models
+- **Prompt**: Text description of what you want to generate
+- **Generate Button**: Start the video generation process
+
+### Advanced Settings (click checkbox to enable)
+- **Generation Settings**: Steps, guidance, seeds
+- **Loras**: Additional style customizations
+- **Sliding Window**: For longer videos
+
+## Your First Video
+
+Let's generate a simple text-to-video:
+
+1. **Launch WanGP**: `python wgp.py`
+2. **Open Browser**: Navigate to `http://localhost:7860`
+3. **Enter Prompt**: "A cat walking in a garden"
+4. **Click Generate**: Wait for the video to be created
+5. **View Result**: The video will appear in the output section
+
+### Recommended First Settings
+- **Model**: Wan 2.1 text2video 1.3B (faster, lower VRAM)
+- **Frames**: 49 (about 2 seconds)
+- **Steps**: 20 (good balance of speed/quality)
+
+## Model Selection
+
+### Text-to-Video Models
+- **Wan 2.1 T2V 1.3B**: Fastest, lowest VRAM (6GB), good quality
+- **Wan 2.1 T2V 14B**: Best quality, requires more VRAM (12GB+)
+- **Hunyuan Video**: Excellent quality, slower generation
+- **LTX Video**: Good for longer videos
+
+### Image-to-Video Models
+- **Wan Fun InP 1.3B**: Fast image animation
+- **Wan Fun InP 14B**: Higher quality image animation
+- **VACE**: Advanced control over video generation
+
+### Choosing the Right Model
+- **Low VRAM (6-8GB)**: Use 1.3B models
+- **Medium VRAM (10-12GB)**: Use 14B models or Hunyuan
+- **High VRAM (16GB+)**: Any model, longer videos
+
+## Basic Settings Explained
+
+### Generation Settings
+- **Frames**: Number of frames (more = longer video)
+ - 25 frames ≈ 1 second
+ - 49 frames ≈ 2 seconds
+ - 73 frames ≈ 3 seconds
+
+- **Steps**: Quality vs Speed tradeoff
+ - 15 steps: Fast, lower quality
+ - 20 steps: Good balance
+ - 30+ steps: High quality, slower
+
+- **Guidance Scale**: How closely to follow the prompt
+ - 3-5: More creative interpretation
+ - 7-10: Closer to prompt description
+ - 12+: Very literal interpretation
+
+### Seeds
+- **Random Seed**: Different result each time
+- **Fixed Seed**: Reproducible results
+- **Use same seed + prompt**: Generate variations
+
+## Common Beginner Issues
+
+### "Out of Memory" Errors
+1. Use smaller models (1.3B instead of 14B)
+2. Reduce frame count
+3. Lower resolution in advanced settings
+4. Enable quantization (usually on by default)
+
+### Slow Generation
+1. Use 1.3B models for speed
+2. Reduce number of steps
+3. Install Sage attention (see [INSTALLATION.md](INSTALLATION.md))
+4. Enable TeaCache: `python wgp.py --teacache 2.0`
+
+### Poor Quality Results
+1. Increase number of steps (25-30)
+2. Improve prompt description
+3. Use 14B models if you have enough VRAM
+4. Enable Skip Layer Guidance in advanced settings
+
+## Writing Good Prompts
+
+### Basic Structure
+```
+[Subject] [Action] [Setting] [Style/Quality modifiers]
+```
+
+### Examples
+```
+A red sports car driving through a mountain road at sunset, cinematic, high quality
+
+A woman with long hair walking on a beach, waves in the background, realistic, detailed
+
+A cat sitting on a windowsill watching rain, cozy atmosphere, soft lighting
+```
+
+### Tips
+- Be specific about what you want
+- Include style descriptions (cinematic, realistic, etc.)
+- Mention lighting and atmosphere
+- Describe the setting in detail
+- Use quality modifiers (high quality, detailed, etc.)
+
+## Next Steps
+
+Once you're comfortable with basic generation:
+
+1. **Explore Advanced Features**:
+ - [Loras Guide](LORAS.md) - Customize styles and characters
+ - [VACE ControlNet](VACE.md) - Advanced video control
+ - [Command Line Options](CLI.md) - Optimize performance
+
+2. **Improve Performance**:
+ - Install better attention mechanisms
+ - Optimize memory settings
+ - Use compilation for speed
+
+3. **Join the Community**:
+ - [Discord Server](https://discord.gg/g7efUW9jGV) - Get help and share videos
+ - Share your best results
+ - Learn from other users
+
+## Troubleshooting First Steps
+
+### Installation Issues
+- Ensure Python 3.10.9 is used
+- Check CUDA version compatibility
+- See [INSTALLATION.md](INSTALLATION.md) for detailed steps
+
+### Generation Issues
+- Check GPU compatibility
+- Verify sufficient VRAM
+- Try basic settings first
+- See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for specific issues
+
+### Performance Issues
+- Use appropriate model for your hardware
+- Enable performance optimizations
+- Check [CLI.md](CLI.md) for optimization flags
+
Remember: Start simple and gradually explore more advanced features as you become comfortable with the basics!
\ No newline at end of file
diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md
index 757d073a8..16b6cd3d1 100644
--- a/docs/INSTALLATION.md
+++ b/docs/INSTALLATION.md
@@ -1,293 +1,293 @@
-# Manual Installation Guide For Windows & Linux
-
-This guide covers installation for different GPU generations and operating systems.
-
-## Requirements
-
-### - Compatible GPU (GTX 10XX - RTX 50XX)
-- Git [Git Download](https://github.com/git-for-windows/git/releases/download/v2.51.2.windows.1/Git-2.51.2-64-bit.exe)
-- Build Tools for Visual Studio 2022 with C++ Extentions [Vs2022 Download](https://aka.ms/vs/17/release/vs_BuildTools.exe)
-- Cuda Toolkit 12.8 or higher [Cuda Toolkit Download](https://developer.nvidia.com/cuda-downloads)
-- Nvidia Drivers Up to Date [Nvidia Drivers Download](https://www.nvidia.com/en-us/software/nvidia-app/)
-- FFMPEG downloaded, unzipped & the bin folder on PATH [FFMPEG Download](https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n8.0-latest-win64-gpl-8.0.zip)
-- Python 3.10.9 [Python Download](https://www.python.org/ftp/python/3.10.9/python-3.10.9-amd64.exe)
-- Miniconda [Miniconda Download](https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe) or Python venv
-
-
-
-
-
-
-## Installation for Nvidia GTX 10XX - RTX QUADRO - 50XX (Stable)
-
-This installation uses PyTorch 2.6.0, Cuda 12.6 for GTX 10XX - RTX 30XX & PyTorch 2.7.1, Cuda 12.8 for RTX 40XX - 50XX which are well-tested and stable.
-Unless you need absolutely to use Pytorch compilation (with RTX 50xx), it is not recommeneded to use PytTorch 2.8.0 as some System RAM memory leaks have been observed when switching models.
-
-
-## Download Repo and Setup Conda Environment
-
-
-
-### Clone the repository
-
-#### First, Create a folder named Wan2GP, then open it, then right click & select "open in terminal", then copy & paste the following commands, one at a time.
-
-
-```
-git clone https://github.com/deepbeepmeep/Wan2GP.git
-```
-
-#### Create Python 3.10.9 environment using Conda
-```
-conda create -n wan2gp python=3.10.9
-```
-#### Activate Conda Environment
-```
-conda activate wan2gp
-```
-
-
-# NOW CHOOSE INSTALLATION ACCORDING TO YOUR GPU
-
-
-## Windows Installation for GTX 10XX -16XX Only
-
-
-#### Windows Install PyTorch 2.6.0 with CUDA 12.6 for GTX 10XX -16XX Only
-```shell
-pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
-```
-
-#### Windows Install requirements.txt for GTX 10XX -16XX Only
-```
-pip install -r requirements.txt
-```
-
-
-## Windows Installation for RTX QUADRO - 20XX Only
-
-
-#### Windows Install PyTorch 2.6.0 with CUDA 12.6 for RTX QUADRO - 20XX Only
-```
-pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
-```
-#### Windows Install Triton for RTX QUADRO - 20XX Only
-```
-pip install -U "triton-windows<3.3"
-```
-#### Windows Install Sage1 Attention for RTX QUADRO - 20XX Only
-```
-pip install sageattention==1.0.6
-```
-#### Windows Install requirements.txt for RTX QUADRO - 20XX Only
-```
-pip install -r requirements.txt
-```
-
-
-## Windows Installation for RTX 30XX Only
-
-
-#### Windows Install PyTorch 2.6.0 with CUDA 12.6 for RTX 30XX Only
-```
-pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
-```
-#### Windows Install Triton for RTX 30XX Only
-```
-pip install -U "triton-windows<3.3"
-```
-#### Windows Install Sage2 Attention for RTX 30XX Only
-```
-pip install https://github.com/woct0rdho/SageAttention/releases/download/v2.1.1-windows/sageattention-2.1.1+cu126torch2.6.0-cp310-cp310-win_amd64.whl
-```
-#### Windows Install requirements.txt for RTX 30XX Only
-```
-pip install -r requirements.txt
-```
-
-
-## Installation for RTX 40XX, 50XX Only
-
-#### Windows Install PyTorch 2.7.1 with CUDA 12.8 for RTX 40XX - 50XX Only
-```
-pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu128
-```
-#### Windows Install Triton for RTX 40XX, 50XX Only
-```
-pip install -U "triton-windows<3.4"
-```
-#### Windows Install Sage2 Attention for RTX 40XX, 50XX Only
-```
-pip install https://github.com/woct0rdho/SageAttention/releases/download/v2.2.0-windows/sageattention-2.2.0+cu128torch2.7.1-cp310-cp310-win_amd64.whl
-```
-#### Windows Install requirements.txt for RTX 40XX, 50XX Only
-```
-pip install -r requirements.txt
-```
-
-## Optional
-
-### Flash Attention
-
-#### Windows
-```
-pip install https://github.com/Redtash1/Flash_Attention_2_Windows/releases/download/v2.7.0-v2.7.4/flash_attn-2.7.4.post1+cu128torch2.7.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
-```
-
-
-# Linux Installation
-
-### Step 1: Download Repo and Setup Conda Environment
-
-#### Clone the repository
-```
-git clone https://github.com/deepbeepmeep/Wan2GP.git
-```
-#### Change directory
-```
-cd Wan2GP
-```
-
-#### Create Python 3.10.9 environment using Conda
-```
-conda create -n wan2gp python=3.10.9
-```
-#### Activate Conda Environment
-```
-conda activate wan2gp
-```
-
-## Installation for RTX 10XX -16XX Only
-
-
-#### Install PyTorch 2.6.0 with CUDA 12.6 for RTX 10XX -16XX Only
-```shell
-pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
-```
-
-#### Install requirements.txt for RTX 30XX Only
-```
-pip install -r requirements.txt
-```
-
-
-## Installation for RTX QUADRO - 20XX Only
-
-
-#### Install PyTorch 2.6.0 with CUDA 12.6 for RTX QUADRO - 20XX Only
-```
-pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
-```
-#### Install Triton for RTX QUADRO - 20XX Only
-```
-pip install -U "triton<3.3"
-```
-#### Install Sage1 Attention for RTX QUADRO - 20XX Only
-```
-pip install sageattention==1.0.6
-```
-#### Install requirements.txt for RTX QUADRO - 20XX Only
-```
-pip install -r requirements.txt
-```
-
-
-## Installation for RTX 30XX Only
-
-
-#### Install PyTorch 2.6.0 with CUDA 12.6 for RTX 30XX Only
-```
-pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
-```
-#### Install Triton for RTX 30XX Only
-```
-pip install -U "triton<3.3"
-```
-#### Install Sage2 Attention for RTX 30XX Only. Make sure it's Sage 2.1.1
-```
-python -m pip install "setuptools<=75.8.2" --force-reinstall
-git clone https://github.com/thu-ml/SageAttention
-cd SageAttention
-pip install -e .
-```
-#### Install requirements.txt for RTX 30XX Only
-```
-pip install -r requirements.txt
-```
-
-
-## Installation for RTX 40XX, 50XX Only
-
-#### Install PyTorch 2.7.1 with CUDA 12.8 for RTX 40XX - 50XX Only
-```
-pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu128
-```
-#### Install Triton for RTX 40XX, 50XX Only
-```
-pip install -U "triton<3.4"
-```
-#### Install Sage Attention for RTX 40XX, 50XX Only. Make sure it's Sage 2.2.0
-```
-python -m pip install "setuptools<=75.8.2" --force-reinstall
-git clone https://github.com/thu-ml/SageAttention
-cd SageAttention
-pip install -e .
-```
-#### Install requirements.txt for RTX 40XX, 50XX Only
-```
-pip install -r requirements.txt
-```
-## Optional
-
-### Flash Attention
-
-#### Linux
-```
-pip install flash-attn==2.7.2.post1
-```
-
-## Attention Modes
-
-### WanGP supports several attention implementations:
-
-- **SDPA** (default): Available by default with PyTorch
-- **Sage**: 30% speed boost with small quality cost
-- **Sage2**: 40% speed boost
-- **Flash**: Good performance, may be complex to install on Windows
-
-### Attention GPU Compatibility
-
-- RTX 10XX: SDPA
-- RTX 20XX: SPDA, Sage1
-- RTX 30XX, 40XX: SDPA, Flash Attention, Xformers, Sage1, Sage2
-- RTX 50XX: SDPA, Flash Attention, Xformers, Sage2
-
-## Performance Profiles
-
-Choose a profile based on your hardware:
-
-- **Profile 3 (LowRAM_HighVRAM)**: Loads entire model in VRAM, requires 24GB VRAM for 8-bit quantized 14B model
-- **Profile 4 (LowRAM_LowVRAM)**: Default, loads model parts as needed, slower but lower VRAM requirement
-
-## Troubleshooting
-
-### Sage Attention Issues
-
-If Sage attention doesn't work:
-
-1. Check if Triton is properly installed
-2. Clear Triton cache
-3. Fallback to SDPA attention:
- ```
- python wgp.py --attention sdpa
- ```
-
-### Memory Issues
-
-- Use lower resolution or shorter videos
-- Enable quantization (default)
-- Use Profile 4 for lower VRAM usage
-- Consider using 1.3B models instead of 14B models
-
-
-For more troubleshooting, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
+# Manual Installation Guide For Windows & Linux
+
+This guide covers installation for different GPU generations and operating systems.
+
+## Requirements
+
+### - Compatible GPU (GTX 10XX - RTX 50XX)
+- Git [Git Download](https://github.com/git-for-windows/git/releases/download/v2.51.2.windows.1/Git-2.51.2-64-bit.exe)
+- Build Tools for Visual Studio 2022 with C++ Extentions [Vs2022 Download](https://aka.ms/vs/17/release/vs_BuildTools.exe)
+- Cuda Toolkit 12.8 or higher [Cuda Toolkit Download](https://developer.nvidia.com/cuda-downloads)
+- Nvidia Drivers Up to Date [Nvidia Drivers Download](https://www.nvidia.com/en-us/software/nvidia-app/)
+- FFMPEG downloaded, unzipped & the bin folder on PATH [FFMPEG Download](https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n8.0-latest-win64-gpl-8.0.zip)
+- Python 3.10.9 [Python Download](https://www.python.org/ftp/python/3.10.9/python-3.10.9-amd64.exe)
+- Miniconda [Miniconda Download](https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe) or Python venv
+
+
+
+
+
+
+## Installation for Nvidia GTX 10XX - RTX QUADRO - 50XX (Stable)
+
+This installation uses PyTorch 2.6.0, Cuda 12.6 for GTX 10XX - RTX 30XX & PyTorch 2.7.1, Cuda 12.8 for RTX 40XX - 50XX which are well-tested and stable.
+Unless you need absolutely to use Pytorch compilation (with RTX 50xx), it is not recommeneded to use PytTorch 2.8.0 as some System RAM memory leaks have been observed when switching models.
+
+
+## Download Repo and Setup Conda Environment
+
+
+
+### Clone the repository
+
+#### First, Create a folder named Wan2GP, then open it, then right click & select "open in terminal", then copy & paste the following commands, one at a time.
+
+
+```
+git clone https://github.com/deepbeepmeep/Wan2GP.git
+```
+
+#### Create Python 3.10.9 environment using Conda
+```
+conda create -n wan2gp python=3.10.9
+```
+#### Activate Conda Environment
+```
+conda activate wan2gp
+```
+
+
+# NOW CHOOSE INSTALLATION ACCORDING TO YOUR GPU
+
+
+## Windows Installation for GTX 10XX -16XX Only
+
+
+#### Windows Install PyTorch 2.6.0 with CUDA 12.6 for GTX 10XX -16XX Only
+```shell
+pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
+```
+
+#### Windows Install requirements.txt for GTX 10XX -16XX Only
+```
+pip install -r requirements.txt
+```
+
+
+## Windows Installation for RTX QUADRO - 20XX Only
+
+
+#### Windows Install PyTorch 2.6.0 with CUDA 12.6 for RTX QUADRO - 20XX Only
+```
+pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
+```
+#### Windows Install Triton for RTX QUADRO - 20XX Only
+```
+pip install -U "triton-windows<3.3"
+```
+#### Windows Install Sage1 Attention for RTX QUADRO - 20XX Only
+```
+pip install sageattention==1.0.6
+```
+#### Windows Install requirements.txt for RTX QUADRO - 20XX Only
+```
+pip install -r requirements.txt
+```
+
+
+## Windows Installation for RTX 30XX Only
+
+
+#### Windows Install PyTorch 2.6.0 with CUDA 12.6 for RTX 30XX Only
+```
+pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
+```
+#### Windows Install Triton for RTX 30XX Only
+```
+pip install -U "triton-windows<3.3"
+```
+#### Windows Install Sage2 Attention for RTX 30XX Only
+```
+pip install https://github.com/woct0rdho/SageAttention/releases/download/v2.1.1-windows/sageattention-2.1.1+cu126torch2.6.0-cp310-cp310-win_amd64.whl
+```
+#### Windows Install requirements.txt for RTX 30XX Only
+```
+pip install -r requirements.txt
+```
+
+
+## Installation for RTX 40XX, 50XX Only
+
+#### Windows Install PyTorch 2.7.1 with CUDA 12.8 for RTX 40XX - 50XX Only
+```
+pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu128
+```
+#### Windows Install Triton for RTX 40XX, 50XX Only
+```
+pip install -U "triton-windows<3.4"
+```
+#### Windows Install Sage2 Attention for RTX 40XX, 50XX Only
+```
+pip install https://github.com/woct0rdho/SageAttention/releases/download/v2.2.0-windows/sageattention-2.2.0+cu128torch2.7.1-cp310-cp310-win_amd64.whl
+```
+#### Windows Install requirements.txt for RTX 40XX, 50XX Only
+```
+pip install -r requirements.txt
+```
+
+## Optional
+
+### Flash Attention
+
+#### Windows
+```
+pip install https://github.com/Redtash1/Flash_Attention_2_Windows/releases/download/v2.7.0-v2.7.4/flash_attn-2.7.4.post1+cu128torch2.7.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
+```
+
+
+# Linux Installation
+
+### Step 1: Download Repo and Setup Conda Environment
+
+#### Clone the repository
+```
+git clone https://github.com/deepbeepmeep/Wan2GP.git
+```
+#### Change directory
+```
+cd Wan2GP
+```
+
+#### Create Python 3.10.9 environment using Conda
+```
+conda create -n wan2gp python=3.10.9
+```
+#### Activate Conda Environment
+```
+conda activate wan2gp
+```
+
+## Installation for RTX 10XX -16XX Only
+
+
+#### Install PyTorch 2.6.0 with CUDA 12.6 for RTX 10XX -16XX Only
+```shell
+pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
+```
+
+#### Install requirements.txt for RTX 30XX Only
+```
+pip install -r requirements.txt
+```
+
+
+## Installation for RTX QUADRO - 20XX Only
+
+
+#### Install PyTorch 2.6.0 with CUDA 12.6 for RTX QUADRO - 20XX Only
+```
+pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
+```
+#### Install Triton for RTX QUADRO - 20XX Only
+```
+pip install -U "triton<3.3"
+```
+#### Install Sage1 Attention for RTX QUADRO - 20XX Only
+```
+pip install sageattention==1.0.6
+```
+#### Install requirements.txt for RTX QUADRO - 20XX Only
+```
+pip install -r requirements.txt
+```
+
+
+## Installation for RTX 30XX Only
+
+
+#### Install PyTorch 2.6.0 with CUDA 12.6 for RTX 30XX Only
+```
+pip install torch==2.6.0+cu126 torchvision==0.21.0+cu126 torchaudio==2.6.0+cu126 --index-url https://download.pytorch.org/whl/cu126
+```
+#### Install Triton for RTX 30XX Only
+```
+pip install -U "triton<3.3"
+```
+#### Install Sage2 Attention for RTX 30XX Only. Make sure it's Sage 2.1.1
+```
+python -m pip install "setuptools<=75.8.2" --force-reinstall
+git clone https://github.com/thu-ml/SageAttention
+cd SageAttention
+pip install -e .
+```
+#### Install requirements.txt for RTX 30XX Only
+```
+pip install -r requirements.txt
+```
+
+
+## Installation for RTX 40XX, 50XX Only
+
+#### Install PyTorch 2.7.1 with CUDA 12.8 for RTX 40XX - 50XX Only
+```
+pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu128
+```
+#### Install Triton for RTX 40XX, 50XX Only
+```
+pip install -U "triton<3.4"
+```
+#### Install Sage Attention for RTX 40XX, 50XX Only. Make sure it's Sage 2.2.0
+```
+python -m pip install "setuptools<=75.8.2" --force-reinstall
+git clone https://github.com/thu-ml/SageAttention
+cd SageAttention
+pip install -e .
+```
+#### Install requirements.txt for RTX 40XX, 50XX Only
+```
+pip install -r requirements.txt
+```
+## Optional
+
+### Flash Attention
+
+#### Linux
+```
+pip install flash-attn==2.7.2.post1
+```
+
+## Attention Modes
+
+### WanGP supports several attention implementations:
+
+- **SDPA** (default): Available by default with PyTorch
+- **Sage**: 30% speed boost with small quality cost
+- **Sage2**: 40% speed boost
+- **Flash**: Good performance, may be complex to install on Windows
+
+### Attention GPU Compatibility
+
+- RTX 10XX: SDPA
+- RTX 20XX: SPDA, Sage1
+- RTX 30XX, 40XX: SDPA, Flash Attention, Xformers, Sage1, Sage2
+- RTX 50XX: SDPA, Flash Attention, Xformers, Sage2
+
+## Performance Profiles
+
+Choose a profile based on your hardware:
+
+- **Profile 3 (LowRAM_HighVRAM)**: Loads entire model in VRAM, requires 24GB VRAM for 8-bit quantized 14B model
+- **Profile 4 (LowRAM_LowVRAM)**: Default, loads model parts as needed, slower but lower VRAM requirement
+
+## Troubleshooting
+
+### Sage Attention Issues
+
+If Sage attention doesn't work:
+
+1. Check if Triton is properly installed
+2. Clear Triton cache
+3. Fallback to SDPA attention:
+ ```
+ python wgp.py --attention sdpa
+ ```
+
+### Memory Issues
+
+- Use lower resolution or shorter videos
+- Enable quantization (default)
+- Use Profile 4 for lower VRAM usage
+- Consider using 1.3B models instead of 14B models
+
+
+For more troubleshooting, see [TROUBLESHOOTING.md](TROUBLESHOOTING.md)
diff --git a/docs/LORAS.md b/docs/LORAS.md
index 96bac0cbd..9706a46d2 100644
--- a/docs/LORAS.md
+++ b/docs/LORAS.md
@@ -1,394 +1,394 @@
-# Loras Guide
-
-Loras (Low-Rank Adaptations) allow you to customize video generation models by adding specific styles, characters, or effects to your videos.
-
-## Directory Structure
-
-Loras are organized in different folders based on the model they're designed for:
-
-All loras now live under the single `loras/` root:
-
-### Wan Models
-- `loras/wan/` - Wan t2v (14B / general) loras
-- `loras/wan_5B/` - Wan 5B loras
-- `loras/wan_1.3B/` - Wan 1.3B loras
-- `loras/wan_i2v/` - Wan i2v loras
-
-### Other Models
-- `loras/hunyuan/` - Hunyuan Video t2v loras
-- `loras/hunyuan/1.5/` - Loras specifically for Hunyuan 1.5 models
-- `loras/hunyuan_i2v/` - Hunyuan Video i2v loras
-- `loras/ltxv/` - LTX Video loras
-- `loras/flux/` and `loras/flux2/` - Flux loras
-- `loras/qwen/` - Qwen loras
-- `loras/z_image/` - Z-Image loras
-- `loras/tts/` - Chatterbox / TTS presets
-
-## Custom Lora Directory
-
-You can specify custom lora directories when launching the app:
-
-```bash
-# Use shared lora directory for Wan t2v and i2v
-python wgp.py --lora-dir /path/to/loras/wan --lora-dir-i2v /path/to/loras/wan_i2v
-
-# Specify different directories for different models
-python wgp.py --lora-dir-hunyuan /path/to/loras/hunyuan --lora-dir-ltxv /path/to/loras/ltxv
-```
-
-## Using Loras
-
-### Basic Usage
-
-1. Place your lora files in the appropriate directory
-2. Launch WanGP
-3. In the Advanced Tab, select the "Loras" section
-4. Check the loras you want to activate
-5. Set multipliers for each lora (default is 1.0 if multiplier is not mentioned)
-
-If you store loras in the loras folder once WanGP has been launched, click the *Refresh* button at the top so that it can become selectable.
-
-### Autodownload of Loras
-WanGP will try to remember where a Lora was obtained and will store the corresponding Download URL in the Generation settings that are embedded in the Generated Video. This is useful to share this information or to easily recover lost loras after a reinstall.
-
-This works very well if the Loras are stored in repositories such *Hugging Face* but won't work for the moment for Loras that requires a Login (like *CivitAi*) to be downloaded.
-
-WanGP will update its internal URL Lora Cache whenener one of this events will occur:
-- when applying or importing a *Accelerator Profile*, *Settings* or *Lset* file that contains Loras with full URLs (not just local paths)
-- when extracting the settings of a Video that was generated with Loras and that contained the full Loras URLs
-- when downloading manually a Lora using the *Download Lora* button at the bottom
-
-So the more you use WanGP the more the URL cache File will get updated. The file is *loras_url_cache.json* and is located in the root folder of WanGP.
-
-You can delete this file with any risk if needed or share it with friends to save them time locating the Loras. You will need to restart WanGP if you modify manually this file or delete it.
-
-### Lora Multipliers
-
-Multipliers control the strength of each lora's effect:
-
-#### Simple Multipliers
-```
-1.2 0.8
-```
-- First lora: 1.2 strength
-- Second lora: 0.8 strength
-
-#### Time-based and Phase-based Multipliers
-For dynamic effects over generation steps, use comma-separated values:
-```
-0.9,0.8,0.7
-1.2,1.1,1.0
-```
-- For 30 steps: steps 0-9 use first value, 10-19 use second, 20-29 use third
-- First lora: 0.9 → 0.8 → 0.7
-- Second lora: 1.2 → 1.1 → 1.0
-
-With models like Wan 2.2 that uses internally two diffusion models (*High noise* / *Low Noise*) you can specify which Loras you want to be applied for a specific phase by separating each phase with a ";".
-
-For instance, if you want to disable a lora for phase *High Noise* and enables it only for phase *Low Noise*:
-```
-0;1
-```
-
-Also with Wan 2.2, if you have two loras and you want the first one to be applied only during the High noise and the second one during the Low noise phase:
-```
-1;0 0;1
-```
-
-As usual, you can use any float for a multiplier and have a multiplier varries throughout one phase for one Lora:
-```
-0.9,0.8;1.2,1.1,1
-```
-In this example multiplier 0.9 and 0.8 will be used during the *High Noise* phase and 1.2, 1.1 and 1 during the *Low Noise* phase.
-
-Here is another example for two loras:
-```
-0.9,0.8;1.2,1.1,1
-0.5;0,0.7
-```
-
-If one of several of your Lora multipliers are phased based (that is with a ";") and there are also Loras Multipliers that are only time based (don't have a ";" but have a ",") the time only multiplier will ignore the phases. For instance, let's assume we have a 6 steps denoising process in the following example:
-
-```
-1;0
-0;1
-0.8,0.7,0.5
-```
-Here the first lora will be as expected only used with the High Noise model and the second lora only used with the Low noise model. However for the third Lora: for steps 1-2 the multiplier will be (regadless of the phase) 0.8 then for steps 3-4 the multiplier will be 0.7 and finally for steps 5-6 the multiplier will be 0.5
-
-You can use phased Lora multipliers even if have a single model (that is without any High / Low models) as Lora multiplier phases are aligned with Guidance phases. Let's assume you have defined 3 guidance phases (for instance guidance=3, then guidance=1.5 and at last guidance=1 ):
-```
-0;1;0
-0;0;1
-```
-In that case no lora will be applied during the first phase when guidance is 3. Then the fist lora will be only used when guidance is 1.5 and the second lora only when guidance is 1.
-
-Best of all you can combine 3 guidance phases with High / Low models. Let's take this practical example with *Lightning 4/8 steps loras accelerators for Wan 2.2* where we want to increase the motion by adding some guidance at the very beginning (in that case a first phase that lasts only 1 step should be sufficient):
-```
-Guidances: 3.5, 1 and 1
-Model transition: Phase 2-3
-Loras Multipliers: 0;1;0 0;0;1
-```
-Here during the first phase with guidance 3.5, the High model will be used but there won't be any lora at all. Then during phase 2 only the High lora will be used (which requires to set the guidance to 1). At last in phase 3 WanGP will switch to the Low model and then only the Low lora will be used.
-
-*Note that the syntax for multipliers can also be used in a Finetune model definition file (except that each multiplier definition is a string in a json list)*
-## Lora Presets (.Lset file)
-
-Lora Presets contains all the information needed to use a Lora or a combination of Loras:
-- The full download URLs of the Loras
-- Default Loras Multipliers
-- Sample Prompt to use the Loras with their corresponding *Trigger Words* (usually as comments)
-Optionaly they may contain advanced prompts with macros to generate automatically Prompt using keywords.
-
-A Lora Preset is a text file of only of few kilobytes and can be easily shared between users. Don't hesitate to use this format if you have created a Lora.
-
-### Creating Presets
-1. Configure your loras and multipliers
-2. Write a prompt with comments lines starting with # that contains instructions
-3. Save as a preset with `.lset` extension by clicking the *Save* button at the top, select *Save Only Loras & Full Prompt* and finally click *Go Ahead Save it!*
-
-### Example Lora Preset Prompt
-```
-# Use the keyword "ohnvx" to trigger the lora
-A ohnvx character is driving a car through the city
-```
-
-Using a macro (check the doc below), the user will just have to enter two words and the Prompt will be generated for him:
-```
-! {Person}="man" : {Object}="car"
-This {Person} is cleaning his {Object}.
-```
-
-
-### Managing Loras Presets (.lset Files)
-- Edit, save, or delete presets directly from the web interface
-- Presets include comments with usage instructions
-- Share `.lset` files with other users (make sure the full Loras URLs are in it)
-
-A *.lset* file may contain only local paths to the Loras if WanGP doesn't know where you got it. You can edit the .lset file with a text editor and replace the local path with its URL. If you store your Lora in Hugging Face, you can easily obtain its URL by selecting the file and clicking *Copy Download Link*.
-
-To share a *.Lset* file you will need (for the moment) to get it directly in the Lora folder where it is stored.
-
-## Supported Formats
-
-WanGP supports multiple most lora formats:
-- **Safetensors** (.safetensors)
-- **Replicate** format
-- ...
-
-
-## Loras Accelerators
-Most Loras are used to apply a specific style or to alter the content of the output of the generated video.
-However some Loras have been designed to tranform a model into a distilled model which requires fewer steps to generate a video.
-Loras accelerators usually require to the set the Guidance to 1. Don't forget to do it as not only the quality of the generate video will be bad but it will two times slower.
-
-You will find most *Loras Accelerators* below:
-- Wan 2.1
-https://huggingface.co/DeepBeepMeep/Wan2.1/tree/main/loras_accelerators
-- Wan 2.2
-https://huggingface.co/DeepBeepMeep/Wan2.2/tree/main/loras_accelerators
-- Qwen:
-https://huggingface.co/DeepBeepMeep/Qwen_image/tree/main/loras_accelerators
-
-
-### Setup Instructions
-There are three ways to setup Loras accelerators:
-1) **Finetune with Embedded Loras Accelerators**
-Some models Finetunes such as *Vace FusioniX* or *Vace Coctail* have the Loras Accelerators already set up in their own definition and you won't have to do anything as they will be downloaded with the Finetune.
-
-2) **Accelerators Profiles**
-Predefined *Accelerator Profiles* can be selected using the *Settings* Dropdown box at the top. The choices of Accelerators will depend on the models. No accelerator will be offered if the finetune / model is already accelerated. Just click *Apply* and the Accelerators Loras will be setup in the Loras tab at the bottom. Any missing Lora will be downloaded automatically the first time you try to generate a Video. Be aware that when applying an *Accelerator Profile*, inputs such as *Activated Loras*, *Number of Inference Steps*, ... will be updated. However if you have already existing Loras set up (that are non Loras Accelerators) they will be preserved so that you can easily switch between Accelerators Profiles.
-
-You will see the "|" character at the end of the Multipliers text input associated to Loras Accelerators. It plays the same role than the Space character to separate Multipliers except it tells WanGP where the Loras Accelerators multipliers end so that it can merge Loras Accelerators with Non Loras Accelerators.
-
-3) **Manual Install**
-- Download the Lora
-- Place it in the Lora Directory of the correspondig model
-- Configure the Loras Multipliers, CFG as described in the later sections
-
-## FusioniX (or FusionX) Lora for Wan 2.1 / Wan 2.2
-If you need just one Lora accelerator use this one. It is a combination of multiple Loras acelerators (including Causvid below) and style loras. It will not only accelerate the video generation but it will also improve the quality. There are two versions of this lora whether you use it for t2v or i2v
-
-### Usage
-1. Select a Wan t2v model (e.g., Wan 2.1 text2video 13B or Vace 13B)
-2. Enable Advanced Mode
-3. In Advanced Generation Tab:
- - Set Guidance Scale = 1
- - Set Shift Scale = 2
-4. In Advanced Lora Tab:
- - Select CausVid Lora
- - Set multiplier to 1
-5. Set generation steps from 8-10
-6. Generate!
-
-## Self-Forcing lightx2v Lora (Video Generation Accelerator) for Wan 2.1 / Wan 2.2
-Selg forcing Lora has been created by Kijai from the Self-Forcing lightx2v distilled Wan model and can generate videos with only 2 steps and offers also a 2x speed improvement since it doesnt require classifier free guidance. It works on both t2v and i2v models
-You will find it under the name of *Wan21_T2V_14B_lightx2v_cfg_step_distill_lora_rank32.safetensors*
-
-### Usage
-1. Select a Wan t2v or i2v model (e.g., Wan 2.1 text2video 13B or Vace 13B)
-2. Enable Advanced Mode
-3. In Advanced Generation Tab:
- - Set Guidance Scale = 1
- - Set Shift Scale = 5
-4. In Advanced Lora Tab:
- - Select the Lora above
- - Set multiplier to 1
-5. Set generation steps to 2-8
-6. Generate!
-
-
-## CausVid Lora (Video Generation Accelerator) for Wan 2.1 / Wan 2.2
-CausVid is a distilled Wan model that generates videos in 4-12 steps with 2x speed improvement.
-
-### Usage
-1. Select a Wan t2v model (e.g., Wan 2.1 text2video 13B or Vace 13B)
-2. Enable Advanced Mode
-3. In Advanced Generation Tab:
- - Set Guidance Scale = 1
- - Set Shift Scale = 7
-4. In Advanced Lora Tab:
- - Select CausVid Lora
- - Set multiplier to 0.3
-5. Set generation steps to 12
-6. Generate!
-
-### CausVid Step/Multiplier Relationship
-- **12 steps**: 0.3 multiplier (recommended)
-- **8 steps**: 0.5-0.7 multiplier
-- **4 steps**: 0.8-1.0 multiplier
-
-*Note: Lower steps = lower quality (especially motion)*
-
-
-## AccVid Lora (Video Generation Accelerator) for Wan 2.1 / Wan 2.2
-
-AccVid is a distilled Wan model that generates videos with a 2x speed improvement since classifier free guidance is no longer needed (that is cfg = 1).
-
-### Usage
-1. Select a Wan t2v model (e.g., Wan 2.1 text2video 13B or Vace 13B) or Wan i2v model
-2. Enable Advanced Mode
-3. In Advanced Generation Tab:
- - Set Guidance Scale = 1
- - Set Shift Scale = 5
-4. The number steps remain unchanged compared to what you would use with the original model but it will be two times faster since classifier free guidance is not needed
-
-## Lightx2v 4 steps Lora (Video Generation Accelerator) for Wan 2.2
-This lora is in fact composed of two loras, one for the High model and one for the Low Wan 2.2 model.
-
-You need to select these two loras and set the following Loras multipliers:
-
-```
-1;0 0;1 (the High lora should be only enabled when only the High model is loaded, same for the Low lora)
-```
-
-Don't forget to set guidance to 1 !
-## Qwen Image Lightning 4 steps / Lightning 8 steps
-Very powerful lora that you can use to reduce the number of steps from 30 to only 4 !
-Just install the lora in *lora_qwen* folder, select the lora and set Guidance to 1 and the number of steps to 4 or 8
-
-
-
-https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan21_T2V_14B_lightx2v_cfg_step_distill_lora_rank32.safetensors
-
-## Performance Tips
-
-### Fast Loading/Unloading
-- Loras can be added/removed without restarting the app
-- Use the "Refresh" button to detect new loras
-- Enable `--check-loras` to filter incompatible loras (slower startup)
-
-### Memory Management
-- Loras are loaded on-demand to save VRAM
-- Multiple loras can be used simultaneously
-- Time-based multipliers don't use extra memory
-- The order of Loras doesn't matter (as long as the loras multipliers are in the right order of course !)
-
-## Finding Loras
-
-### Sources
-- **[Civitai](https://civitai.com/)** - Large community collection
-- **HuggingFace** - Official and community loras
-- **Discord Server** - Community recommendations
-
-### Creating Loras
-- **Kohya** - Popular training tool
-- **OneTrainer** - Alternative training solution
-- **Custom datasets** - Train on your own content
-
-## Macro System (Advanced)
-
-Create multiple prompts from templates using macros. This allows you to generate variations of a sentence by defining lists of values for different variables.
-
-**Syntax Rule:**
-
-Define your variables on a single line starting with `!`. Each complete variable definition, including its name and values, **must be separated by a colon (`:`)**.
-
-**Format:**
-
-```
-! {Variable1}="valueA","valueB" : {Variable2}="valueC","valueD"
-This is a template using {Variable1} and {Variable2}.
-```
-
-**Example:**
-
-The following macro will generate three distinct prompts by cycling through the values for each variable.
-
-**Macro Definition:**
-
-```
-! {Subject}="cat","woman","man" : {Location}="forest","lake","city" : {Possessive}="its","her","his"
-In the video, a {Subject} is presented. The {Subject} is in a {Location} and looks at {Possessive} watch.
-```
-
-**Generated Output:**
-
-```
-In the video, a cat is presented. The cat is in a forest and looks at its watch.
-In the video, a woman is presented. The woman is in a lake and looks at her watch.
-In the video, a man is presented. The man is in a city and looks at his watch.
-```
-
-
-## Troubleshooting
-
-### Lora Not Working
-0. If it is a lora accelerator, Guidance should be set to 1
-1. Check if lora is compatible with your model size (1.3B vs 14B)
-2. Verify lora format is supported
-3. Try different multiplier values
-4. Check the lora was trained for your model type (t2v vs i2v)
-
-### Performance Issues
-1. Reduce number of active loras
-2. Lower multiplier values
-3. Use `--check-loras` to filter incompatible files
-4. Clear lora cache if issues persist
-
-### Memory Errors
-1. Use fewer loras simultaneously
-2. Reduce model size (use 1.3B instead of 14B)
-3. Lower video resolution or frame count
-4. Enable quantization if not already active
-
-## Command Line Options
-
-```bash
-# Lora-related command line options
---lora-dir path # Path to Wan t2v loras (default loras/wan)
---lora-dir-wan-5b path # Path to Wan 5B loras (default loras/wan_5B)
---lora-dir-wan-1-3b path # Path to Wan 1.3B loras (default loras/wan_1.3B)
---lora-dir-i2v path # Path to Wan i2v loras (default loras/wan_i2v)
---lora-dir-wan-i2v path # Alias for Wan i2v loras
---lora-dir-hunyuan path # Path to Hunyuan t2v loras (default loras/hunyuan)
---lora-dir-hunyuan-i2v path # Path to Hunyuan i2v loras (default loras/hunyuan_i2v)
---lora-dir-ltxv path # Path to LTX Video loras (default loras/ltxv)
---lora-dir-flux path # Path to Flux loras (default loras/flux)
---lora-dir-flux2 path # Path to Flux2 loras (default loras/flux2)
---lora-dir-qwen path # Path to Qwen loras (default loras/qwen)
---lora-dir-z-image path # Path to Z-Image loras (default loras/z_image)
---lora-dir-tts path # Path to TTS presets (default loras/tts)
---lora-preset preset # Load preset on startup
---check-loras # Filter incompatible loras
-```
+# Loras Guide
+
+Loras (Low-Rank Adaptations) allow you to customize video generation models by adding specific styles, characters, or effects to your videos.
+
+## Directory Structure
+
+Loras are organized in different folders based on the model they're designed for:
+
+All loras now live under the single `loras/` root:
+
+### Wan Models
+- `loras/wan/` - Wan t2v (14B / general) loras
+- `loras/wan_5B/` - Wan 5B loras
+- `loras/wan_1.3B/` - Wan 1.3B loras
+- `loras/wan_i2v/` - Wan i2v loras
+
+### Other Models
+- `loras/hunyuan/` - Hunyuan Video t2v loras
+- `loras/hunyuan/1.5/` - Loras specifically for Hunyuan 1.5 models
+- `loras/hunyuan_i2v/` - Hunyuan Video i2v loras
+- `loras/ltxv/` - LTX Video loras
+- `loras/flux/` and `loras/flux2/` - Flux loras
+- `loras/qwen/` - Qwen loras
+- `loras/z_image/` - Z-Image loras
+- `loras/tts/` - Chatterbox / TTS presets
+
+## Custom Lora Directory
+
+You can specify custom lora directories when launching the app:
+
+```bash
+# Use shared lora directory for Wan t2v and i2v
+python wgp.py --lora-dir /path/to/loras/wan --lora-dir-i2v /path/to/loras/wan_i2v
+
+# Specify different directories for different models
+python wgp.py --lora-dir-hunyuan /path/to/loras/hunyuan --lora-dir-ltxv /path/to/loras/ltxv
+```
+
+## Using Loras
+
+### Basic Usage
+
+1. Place your lora files in the appropriate directory
+2. Launch WanGP
+3. In the Advanced Tab, select the "Loras" section
+4. Check the loras you want to activate
+5. Set multipliers for each lora (default is 1.0 if multiplier is not mentioned)
+
+If you store loras in the loras folder once WanGP has been launched, click the *Refresh* button at the top so that it can become selectable.
+
+### Autodownload of Loras
+WanGP will try to remember where a Lora was obtained and will store the corresponding Download URL in the Generation settings that are embedded in the Generated Video. This is useful to share this information or to easily recover lost loras after a reinstall.
+
+This works very well if the Loras are stored in repositories such *Hugging Face* but won't work for the moment for Loras that requires a Login (like *CivitAi*) to be downloaded.
+
+WanGP will update its internal URL Lora Cache whenener one of this events will occur:
+- when applying or importing a *Accelerator Profile*, *Settings* or *Lset* file that contains Loras with full URLs (not just local paths)
+- when extracting the settings of a Video that was generated with Loras and that contained the full Loras URLs
+- when downloading manually a Lora using the *Download Lora* button at the bottom
+
+So the more you use WanGP the more the URL cache File will get updated. The file is *loras_url_cache.json* and is located in the root folder of WanGP.
+
+You can delete this file with any risk if needed or share it with friends to save them time locating the Loras. You will need to restart WanGP if you modify manually this file or delete it.
+
+### Lora Multipliers
+
+Multipliers control the strength of each lora's effect:
+
+#### Simple Multipliers
+```
+1.2 0.8
+```
+- First lora: 1.2 strength
+- Second lora: 0.8 strength
+
+#### Time-based and Phase-based Multipliers
+For dynamic effects over generation steps, use comma-separated values:
+```
+0.9,0.8,0.7
+1.2,1.1,1.0
+```
+- For 30 steps: steps 0-9 use first value, 10-19 use second, 20-29 use third
+- First lora: 0.9 → 0.8 → 0.7
+- Second lora: 1.2 → 1.1 → 1.0
+
+With models like Wan 2.2 that uses internally two diffusion models (*High noise* / *Low Noise*) you can specify which Loras you want to be applied for a specific phase by separating each phase with a ";".
+
+For instance, if you want to disable a lora for phase *High Noise* and enables it only for phase *Low Noise*:
+```
+0;1
+```
+
+Also with Wan 2.2, if you have two loras and you want the first one to be applied only during the High noise and the second one during the Low noise phase:
+```
+1;0 0;1
+```
+
+As usual, you can use any float for a multiplier and have a multiplier varries throughout one phase for one Lora:
+```
+0.9,0.8;1.2,1.1,1
+```
+In this example multiplier 0.9 and 0.8 will be used during the *High Noise* phase and 1.2, 1.1 and 1 during the *Low Noise* phase.
+
+Here is another example for two loras:
+```
+0.9,0.8;1.2,1.1,1
+0.5;0,0.7
+```
+
+If one of several of your Lora multipliers are phased based (that is with a ";") and there are also Loras Multipliers that are only time based (don't have a ";" but have a ",") the time only multiplier will ignore the phases. For instance, let's assume we have a 6 steps denoising process in the following example:
+
+```
+1;0
+0;1
+0.8,0.7,0.5
+```
+Here the first lora will be as expected only used with the High Noise model and the second lora only used with the Low noise model. However for the third Lora: for steps 1-2 the multiplier will be (regadless of the phase) 0.8 then for steps 3-4 the multiplier will be 0.7 and finally for steps 5-6 the multiplier will be 0.5
+
+You can use phased Lora multipliers even if have a single model (that is without any High / Low models) as Lora multiplier phases are aligned with Guidance phases. Let's assume you have defined 3 guidance phases (for instance guidance=3, then guidance=1.5 and at last guidance=1 ):
+```
+0;1;0
+0;0;1
+```
+In that case no lora will be applied during the first phase when guidance is 3. Then the fist lora will be only used when guidance is 1.5 and the second lora only when guidance is 1.
+
+Best of all you can combine 3 guidance phases with High / Low models. Let's take this practical example with *Lightning 4/8 steps loras accelerators for Wan 2.2* where we want to increase the motion by adding some guidance at the very beginning (in that case a first phase that lasts only 1 step should be sufficient):
+```
+Guidances: 3.5, 1 and 1
+Model transition: Phase 2-3
+Loras Multipliers: 0;1;0 0;0;1
+```
+Here during the first phase with guidance 3.5, the High model will be used but there won't be any lora at all. Then during phase 2 only the High lora will be used (which requires to set the guidance to 1). At last in phase 3 WanGP will switch to the Low model and then only the Low lora will be used.
+
+*Note that the syntax for multipliers can also be used in a Finetune model definition file (except that each multiplier definition is a string in a json list)*
+## Lora Presets (.Lset file)
+
+Lora Presets contains all the information needed to use a Lora or a combination of Loras:
+- The full download URLs of the Loras
+- Default Loras Multipliers
+- Sample Prompt to use the Loras with their corresponding *Trigger Words* (usually as comments)
+Optionaly they may contain advanced prompts with macros to generate automatically Prompt using keywords.
+
+A Lora Preset is a text file of only of few kilobytes and can be easily shared between users. Don't hesitate to use this format if you have created a Lora.
+
+### Creating Presets
+1. Configure your loras and multipliers
+2. Write a prompt with comments lines starting with # that contains instructions
+3. Save as a preset with `.lset` extension by clicking the *Save* button at the top, select *Save Only Loras & Full Prompt* and finally click *Go Ahead Save it!*
+
+### Example Lora Preset Prompt
+```
+# Use the keyword "ohnvx" to trigger the lora
+A ohnvx character is driving a car through the city
+```
+
+Using a macro (check the doc below), the user will just have to enter two words and the Prompt will be generated for him:
+```
+! {Person}="man" : {Object}="car"
+This {Person} is cleaning his {Object}.
+```
+
+
+### Managing Loras Presets (.lset Files)
+- Edit, save, or delete presets directly from the web interface
+- Presets include comments with usage instructions
+- Share `.lset` files with other users (make sure the full Loras URLs are in it)
+
+A *.lset* file may contain only local paths to the Loras if WanGP doesn't know where you got it. You can edit the .lset file with a text editor and replace the local path with its URL. If you store your Lora in Hugging Face, you can easily obtain its URL by selecting the file and clicking *Copy Download Link*.
+
+To share a *.Lset* file you will need (for the moment) to get it directly in the Lora folder where it is stored.
+
+## Supported Formats
+
+WanGP supports multiple most lora formats:
+- **Safetensors** (.safetensors)
+- **Replicate** format
+- ...
+
+
+## Loras Accelerators
+Most Loras are used to apply a specific style or to alter the content of the output of the generated video.
+However some Loras have been designed to tranform a model into a distilled model which requires fewer steps to generate a video.
+Loras accelerators usually require to the set the Guidance to 1. Don't forget to do it as not only the quality of the generate video will be bad but it will two times slower.
+
+You will find most *Loras Accelerators* below:
+- Wan 2.1
+https://huggingface.co/DeepBeepMeep/Wan2.1/tree/main/loras_accelerators
+- Wan 2.2
+https://huggingface.co/DeepBeepMeep/Wan2.2/tree/main/loras_accelerators
+- Qwen:
+https://huggingface.co/DeepBeepMeep/Qwen_image/tree/main/loras_accelerators
+
+
+### Setup Instructions
+There are three ways to setup Loras accelerators:
+1) **Finetune with Embedded Loras Accelerators**
+Some models Finetunes such as *Vace FusioniX* or *Vace Coctail* have the Loras Accelerators already set up in their own definition and you won't have to do anything as they will be downloaded with the Finetune.
+
+2) **Accelerators Profiles**
+Predefined *Accelerator Profiles* can be selected using the *Settings* Dropdown box at the top. The choices of Accelerators will depend on the models. No accelerator will be offered if the finetune / model is already accelerated. Just click *Apply* and the Accelerators Loras will be setup in the Loras tab at the bottom. Any missing Lora will be downloaded automatically the first time you try to generate a Video. Be aware that when applying an *Accelerator Profile*, inputs such as *Activated Loras*, *Number of Inference Steps*, ... will be updated. However if you have already existing Loras set up (that are non Loras Accelerators) they will be preserved so that you can easily switch between Accelerators Profiles.
+
+You will see the "|" character at the end of the Multipliers text input associated to Loras Accelerators. It plays the same role than the Space character to separate Multipliers except it tells WanGP where the Loras Accelerators multipliers end so that it can merge Loras Accelerators with Non Loras Accelerators.
+
+3) **Manual Install**
+- Download the Lora
+- Place it in the Lora Directory of the correspondig model
+- Configure the Loras Multipliers, CFG as described in the later sections
+
+## FusioniX (or FusionX) Lora for Wan 2.1 / Wan 2.2
+If you need just one Lora accelerator use this one. It is a combination of multiple Loras acelerators (including Causvid below) and style loras. It will not only accelerate the video generation but it will also improve the quality. There are two versions of this lora whether you use it for t2v or i2v
+
+### Usage
+1. Select a Wan t2v model (e.g., Wan 2.1 text2video 13B or Vace 13B)
+2. Enable Advanced Mode
+3. In Advanced Generation Tab:
+ - Set Guidance Scale = 1
+ - Set Shift Scale = 2
+4. In Advanced Lora Tab:
+ - Select CausVid Lora
+ - Set multiplier to 1
+5. Set generation steps from 8-10
+6. Generate!
+
+## Self-Forcing lightx2v Lora (Video Generation Accelerator) for Wan 2.1 / Wan 2.2
+Selg forcing Lora has been created by Kijai from the Self-Forcing lightx2v distilled Wan model and can generate videos with only 2 steps and offers also a 2x speed improvement since it doesnt require classifier free guidance. It works on both t2v and i2v models
+You will find it under the name of *Wan21_T2V_14B_lightx2v_cfg_step_distill_lora_rank32.safetensors*
+
+### Usage
+1. Select a Wan t2v or i2v model (e.g., Wan 2.1 text2video 13B or Vace 13B)
+2. Enable Advanced Mode
+3. In Advanced Generation Tab:
+ - Set Guidance Scale = 1
+ - Set Shift Scale = 5
+4. In Advanced Lora Tab:
+ - Select the Lora above
+ - Set multiplier to 1
+5. Set generation steps to 2-8
+6. Generate!
+
+
+## CausVid Lora (Video Generation Accelerator) for Wan 2.1 / Wan 2.2
+CausVid is a distilled Wan model that generates videos in 4-12 steps with 2x speed improvement.
+
+### Usage
+1. Select a Wan t2v model (e.g., Wan 2.1 text2video 13B or Vace 13B)
+2. Enable Advanced Mode
+3. In Advanced Generation Tab:
+ - Set Guidance Scale = 1
+ - Set Shift Scale = 7
+4. In Advanced Lora Tab:
+ - Select CausVid Lora
+ - Set multiplier to 0.3
+5. Set generation steps to 12
+6. Generate!
+
+### CausVid Step/Multiplier Relationship
+- **12 steps**: 0.3 multiplier (recommended)
+- **8 steps**: 0.5-0.7 multiplier
+- **4 steps**: 0.8-1.0 multiplier
+
+*Note: Lower steps = lower quality (especially motion)*
+
+
+## AccVid Lora (Video Generation Accelerator) for Wan 2.1 / Wan 2.2
+
+AccVid is a distilled Wan model that generates videos with a 2x speed improvement since classifier free guidance is no longer needed (that is cfg = 1).
+
+### Usage
+1. Select a Wan t2v model (e.g., Wan 2.1 text2video 13B or Vace 13B) or Wan i2v model
+2. Enable Advanced Mode
+3. In Advanced Generation Tab:
+ - Set Guidance Scale = 1
+ - Set Shift Scale = 5
+4. The number steps remain unchanged compared to what you would use with the original model but it will be two times faster since classifier free guidance is not needed
+
+## Lightx2v 4 steps Lora (Video Generation Accelerator) for Wan 2.2
+This lora is in fact composed of two loras, one for the High model and one for the Low Wan 2.2 model.
+
+You need to select these two loras and set the following Loras multipliers:
+
+```
+1;0 0;1 (the High lora should be only enabled when only the High model is loaded, same for the Low lora)
+```
+
+Don't forget to set guidance to 1 !
+## Qwen Image Lightning 4 steps / Lightning 8 steps
+Very powerful lora that you can use to reduce the number of steps from 30 to only 4 !
+Just install the lora in *lora_qwen* folder, select the lora and set Guidance to 1 and the number of steps to 4 or 8
+
+
+
+https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan21_T2V_14B_lightx2v_cfg_step_distill_lora_rank32.safetensors
+
+## Performance Tips
+
+### Fast Loading/Unloading
+- Loras can be added/removed without restarting the app
+- Use the "Refresh" button to detect new loras
+- Enable `--check-loras` to filter incompatible loras (slower startup)
+
+### Memory Management
+- Loras are loaded on-demand to save VRAM
+- Multiple loras can be used simultaneously
+- Time-based multipliers don't use extra memory
+- The order of Loras doesn't matter (as long as the loras multipliers are in the right order of course !)
+
+## Finding Loras
+
+### Sources
+- **[Civitai](https://civitai.com/)** - Large community collection
+- **HuggingFace** - Official and community loras
+- **Discord Server** - Community recommendations
+
+### Creating Loras
+- **Kohya** - Popular training tool
+- **OneTrainer** - Alternative training solution
+- **Custom datasets** - Train on your own content
+
+## Macro System (Advanced)
+
+Create multiple prompts from templates using macros. This allows you to generate variations of a sentence by defining lists of values for different variables.
+
+**Syntax Rule:**
+
+Define your variables on a single line starting with `!`. Each complete variable definition, including its name and values, **must be separated by a colon (`:`)**.
+
+**Format:**
+
+```
+! {Variable1}="valueA","valueB" : {Variable2}="valueC","valueD"
+This is a template using {Variable1} and {Variable2}.
+```
+
+**Example:**
+
+The following macro will generate three distinct prompts by cycling through the values for each variable.
+
+**Macro Definition:**
+
+```
+! {Subject}="cat","woman","man" : {Location}="forest","lake","city" : {Possessive}="its","her","his"
+In the video, a {Subject} is presented. The {Subject} is in a {Location} and looks at {Possessive} watch.
+```
+
+**Generated Output:**
+
+```
+In the video, a cat is presented. The cat is in a forest and looks at its watch.
+In the video, a woman is presented. The woman is in a lake and looks at her watch.
+In the video, a man is presented. The man is in a city and looks at his watch.
+```
+
+
+## Troubleshooting
+
+### Lora Not Working
+0. If it is a lora accelerator, Guidance should be set to 1
+1. Check if lora is compatible with your model size (1.3B vs 14B)
+2. Verify lora format is supported
+3. Try different multiplier values
+4. Check the lora was trained for your model type (t2v vs i2v)
+
+### Performance Issues
+1. Reduce number of active loras
+2. Lower multiplier values
+3. Use `--check-loras` to filter incompatible files
+4. Clear lora cache if issues persist
+
+### Memory Errors
+1. Use fewer loras simultaneously
+2. Reduce model size (use 1.3B instead of 14B)
+3. Lower video resolution or frame count
+4. Enable quantization if not already active
+
+## Command Line Options
+
+```bash
+# Lora-related command line options
+--lora-dir path # Path to Wan t2v loras (default loras/wan)
+--lora-dir-wan-5b path # Path to Wan 5B loras (default loras/wan_5B)
+--lora-dir-wan-1-3b path # Path to Wan 1.3B loras (default loras/wan_1.3B)
+--lora-dir-i2v path # Path to Wan i2v loras (default loras/wan_i2v)
+--lora-dir-wan-i2v path # Alias for Wan i2v loras
+--lora-dir-hunyuan path # Path to Hunyuan t2v loras (default loras/hunyuan)
+--lora-dir-hunyuan-i2v path # Path to Hunyuan i2v loras (default loras/hunyuan_i2v)
+--lora-dir-ltxv path # Path to LTX Video loras (default loras/ltxv)
+--lora-dir-flux path # Path to Flux loras (default loras/flux)
+--lora-dir-flux2 path # Path to Flux2 loras (default loras/flux2)
+--lora-dir-qwen path # Path to Qwen loras (default loras/qwen)
+--lora-dir-z-image path # Path to Z-Image loras (default loras/z_image)
+--lora-dir-tts path # Path to TTS presets (default loras/tts)
+--lora-preset preset # Load preset on startup
+--check-loras # Filter incompatible loras
+```
diff --git a/docs/MODELS.md b/docs/MODELS.md
index 720cb7398..f5240426c 100644
--- a/docs/MODELS.md
+++ b/docs/MODELS.md
@@ -1,267 +1,267 @@
-# Models Overview
-
-WanGP supports multiple video generation models, each optimized for different use cases and hardware configurations.
-
-Most models can combined with Loras Accelerators (check the Lora guide) to accelerate the generation of a video x2 or x3 with little quality loss
-
-
-## Wan 2.1 Text2Video Models
-Please note that that the term *Text2Video* refers to the underlying Wan architecture but as it has been greatly improved overtime many derived Text2Video models can now generate videos using images.
-
-#### Wan 2.1 Text2Video 1.3B
-- **Size**: 1.3 billion parameters
-- **VRAM**: 6GB minimum
-- **Speed**: Fast generation
-- **Quality**: Good quality for the size
-- **Best for**: Quick iterations, lower-end hardware
-- **Command**: `python wgp.py --t2v-1-3B`
-
-#### Wan 2.1 Text2Video 14B
-- **Size**: 14 billion parameters
-- **VRAM**: 12GB+ recommended
-- **Speed**: Slower but higher quality
-- **Quality**: Excellent detail and coherence
-- **Best for**: Final production videos
-- **Command**: `python wgp.py --t2v-14B`
-
-#### Wan Vace 1.3B
-- **Type**: ControlNet for advanced video control
-- **VRAM**: 6GB minimum
-- **Features**: Motion transfer, object injection, inpainting
-- **Best for**: Advanced video manipulation
-- **Command**: `python wgp.py --vace-1.3B`
-
-#### Wan Vace 14B
-- **Type**: Large ControlNet model
-- **VRAM**: 12GB+ recommended
-- **Features**: All Vace features with higher quality
-- **Best for**: Professional video editing workflows
-
-#### MoviiGen (Experimental)
-- **Resolution**: Claims 1080p capability
-- **VRAM**: 20GB+ required
-- **Speed**: Very slow generation
-- **Features**: Should generate cinema like video, specialized for 2.1 / 1 ratios
-- **Status**: Experimental, feedback welcome
-
-
-
-## Wan 2.1 Image-to-Video Models
-
-#### Wan 2.1 Image2Video 14B
-- **Size**: 14 billion parameters
-- **VRAM**: 12GB+ recommended
-- **Speed**: Slower but higher quality
-- **Quality**: Excellent detail and coherence
-- **Best for**: Most Loras available work with this model
-- **Command**: `python wgp.py --i2v-14B`
-
-#### FLF2V
-- **Type**: Start/end frame specialist
-- **Resolution**: Optimized for 720p
-- **Official**: Wan team supported
-- **Use case**: Image-to-video with specific endpoints
-
-
-
-
-## Wan 2.1 Specialized Models
-
-#### Multitalk
-- **Type**: Multi Talking head animation
-- **Input**: Voice track + image
-- **Works on**: People
-- **Use case**: Lip-sync and voice-driven animation for up to two people
-
-#### FantasySpeaking
-- **Type**: Talking head animation
-- **Input**: Voice track + image
-- **Works on**: People and objects
-- **Use case**: Lip-sync and voice-driven animation
-
-#### Phantom
-- **Type**: Person/object transfer
-- **Resolution**: Works well at 720p
-- **Requirements**: 30+ steps for good results
-- **Best for**: Transferring subjects between videos
-
-#### Recam Master
-- **Type**: Viewpoint change
-- **Requirements**: 81+ frame input videos, 15+ denoising steps
-- **Use case**: View same scene from different angles
-
-#### Sky Reels v2 Diffusion
-- **Type**: Diffusion Forcing model
-- **Specialty**: "Infinite length" videos
-- **Features**: High quality continuous generation
-
-
-
-
-## Wan Fun InP Models
-
-#### Wan Fun InP 1.3B
-- **Size**: 1.3 billion parameters
-- **VRAM**: 6GB minimum
-- **Quality**: Good for the size, accessible to lower hardware
-- **Best for**: Entry-level image animation
-- **Command**: `python wgp.py --i2v-1-3B`
-
-#### Wan Fun InP 14B
-- **Size**: 14 billion parameters
-- **VRAM**: 12GB+ recommended
-- **Quality**: Better end image support
-- **Limitation**: Existing loras don't work as well
-
-
-
-
-## Hunyuan Video Models
-
-#### Hunyuan Video Text2Video
-- **Quality**: Among the best open source t2v models
-- **VRAM**: 12GB+ recommended
-- **Speed**: Slower generation but excellent results
-- **Features**: Superior text adherence and video quality, up to 10s of video
-- **Best for**: High-quality text-to-video generation
-
-#### Hunyuan Video Custom
-- **Specialty**: Identity preservation
-- **Use case**: Injecting specific people into videos
-- **Quality**: Excellent for character consistency
-- **Best for**: Character-focused video generation
-
-#### Hunyuan Video Avater
-- **Specialty**: Generate up to 15s of high quality speech / song driven Video .
-- **Use case**: Injecting specific people into videos
-- **Quality**: Excellent for character consistency
-- **Best for**: Character-focused video generation, Video synchronized with voice
-
-
-
-
-## LTX Video Models
-
-#### LTX Video 13B
-- **Specialty**: Long video generation
-- **Resolution**: Fast 720p generation
-- **VRAM**: Optimized by WanGP (4x reduction in requirements)
-- **Best for**: Longer duration videos
-
-#### LTX Video 13B Distilled
-- **Speed**: Generate in less than one minute
-- **Quality**: Very high quality despite speed
-- **Best for**: Rapid prototyping and quick results
-
-
-
-## Model Selection Guide
-
-### By Hardware (VRAM)
-
-#### 6-8GB VRAM
-- Wan 2.1 T2V 1.3B
-- Wan Fun InP 1.3B
-- Wan Vace 1.3B
-
-#### 10-12GB VRAM
-- Wan 2.1 T2V 14B
-- Wan Fun InP 14B
-- Hunyuan Video (with optimizations)
-- LTX Video 13B
-
-#### 16GB+ VRAM
-- All models supported
-- Longer videos possible
-- Higher resolutions
-- Multiple simultaneous Loras
-
-#### 20GB+ VRAM
-- MoviiGen (experimental 1080p)
-- Very long videos
-- Maximum quality settings
-
-### By Use Case
-
-#### Quick Prototyping
-1. **LTX Video 13B Distilled** - Fastest, high quality
-2. **Wan 2.1 T2V 1.3B** - Fast, good quality
-3. **CausVid Lora** - 4-12 steps, very fast
-
-#### Best Quality
-1. **Hunyuan Video** - Overall best t2v quality
-2. **Wan 2.1 T2V 14B** - Excellent Wan quality
-3. **Wan Vace 14B** - Best for controlled generation
-
-#### Advanced Control
-1. **Wan Vace 14B/1.3B** - Motion transfer, object injection
-2. **Phantom** - Person/object transfer
-3. **FantasySpeaking** - Voice-driven animation
-
-#### Long Videos
-1. **LTX Video 13B** - Specialized for length
-2. **Sky Reels v2** - Infinite length videos
-3. **Wan Vace + Sliding Windows** - Up to 1 minute
-
-#### Lower Hardware
-1. **Wan Fun InP 1.3B** - Image-to-video
-2. **Wan 2.1 T2V 1.3B** - Text-to-video
-3. **Wan Vace 1.3B** - Advanced control
-
-
-
-## Performance Comparison
-
-### Speed (Relative)
-1. **CausVid Lora** (4-12 steps) - Fastest
-2. **LTX Video Distilled** - Very fast
-3. **Wan 1.3B models** - Fast
-4. **Wan 14B models** - Medium
-5. **Hunyuan Video** - Slower
-6. **MoviiGen** - Slowest
-
-### Quality (Subjective)
-1. **Hunyuan Video** - Highest overall
-2. **Wan 14B models** - Excellent
-3. **LTX Video models** - Very good
-4. **Wan 1.3B models** - Good
-5. **CausVid** - Good (varies with steps)
-
-### VRAM Efficiency
-1. **Wan 1.3B models** - Most efficient
-2. **LTX Video** (with WanGP optimizations)
-3. **Wan 14B models**
-4. **Hunyuan Video**
-5. **MoviiGen** - Least efficient
-
-
-
-## Model Switching
-
-WanGP allows switching between models without restarting:
-
-1. Use the dropdown menu in the web interface
-2. Models are loaded on-demand
-3. Previous model is unloaded to save VRAM
-4. Settings are preserved when possible
-
-
-
-## Tips for Model Selection
-
-### First Time Users
-Start with **Wan 2.1 T2V 1.3B** to learn the interface and test your hardware.
-
-### Production Work
-Use **Hunyuan Video** or **Wan 14B** models for final output quality.
-
-### Experimentation
-**CausVid Lora** or **LTX Distilled** for rapid iteration and testing.
-
-### Specialized Tasks
-- **VACE** for advanced control
-- **FantasySpeaking** for talking heads
-- **LTX Video** for long sequences
-
-### Hardware Optimization
+# Models Overview
+
+WanGP supports multiple video generation models, each optimized for different use cases and hardware configurations.
+
+Most models can combined with Loras Accelerators (check the Lora guide) to accelerate the generation of a video x2 or x3 with little quality loss
+
+
+## Wan 2.1 Text2Video Models
+Please note that that the term *Text2Video* refers to the underlying Wan architecture but as it has been greatly improved overtime many derived Text2Video models can now generate videos using images.
+
+#### Wan 2.1 Text2Video 1.3B
+- **Size**: 1.3 billion parameters
+- **VRAM**: 6GB minimum
+- **Speed**: Fast generation
+- **Quality**: Good quality for the size
+- **Best for**: Quick iterations, lower-end hardware
+- **Command**: `python wgp.py --t2v-1-3B`
+
+#### Wan 2.1 Text2Video 14B
+- **Size**: 14 billion parameters
+- **VRAM**: 12GB+ recommended
+- **Speed**: Slower but higher quality
+- **Quality**: Excellent detail and coherence
+- **Best for**: Final production videos
+- **Command**: `python wgp.py --t2v-14B`
+
+#### Wan Vace 1.3B
+- **Type**: ControlNet for advanced video control
+- **VRAM**: 6GB minimum
+- **Features**: Motion transfer, object injection, inpainting
+- **Best for**: Advanced video manipulation
+- **Command**: `python wgp.py --vace-1.3B`
+
+#### Wan Vace 14B
+- **Type**: Large ControlNet model
+- **VRAM**: 12GB+ recommended
+- **Features**: All Vace features with higher quality
+- **Best for**: Professional video editing workflows
+
+#### MoviiGen (Experimental)
+- **Resolution**: Claims 1080p capability
+- **VRAM**: 20GB+ required
+- **Speed**: Very slow generation
+- **Features**: Should generate cinema like video, specialized for 2.1 / 1 ratios
+- **Status**: Experimental, feedback welcome
+
+
+
+## Wan 2.1 Image-to-Video Models
+
+#### Wan 2.1 Image2Video 14B
+- **Size**: 14 billion parameters
+- **VRAM**: 12GB+ recommended
+- **Speed**: Slower but higher quality
+- **Quality**: Excellent detail and coherence
+- **Best for**: Most Loras available work with this model
+- **Command**: `python wgp.py --i2v-14B`
+
+#### FLF2V
+- **Type**: Start/end frame specialist
+- **Resolution**: Optimized for 720p
+- **Official**: Wan team supported
+- **Use case**: Image-to-video with specific endpoints
+
+
+
+
+## Wan 2.1 Specialized Models
+
+#### Multitalk
+- **Type**: Multi Talking head animation
+- **Input**: Voice track + image
+- **Works on**: People
+- **Use case**: Lip-sync and voice-driven animation for up to two people
+
+#### FantasySpeaking
+- **Type**: Talking head animation
+- **Input**: Voice track + image
+- **Works on**: People and objects
+- **Use case**: Lip-sync and voice-driven animation
+
+#### Phantom
+- **Type**: Person/object transfer
+- **Resolution**: Works well at 720p
+- **Requirements**: 30+ steps for good results
+- **Best for**: Transferring subjects between videos
+
+#### Recam Master
+- **Type**: Viewpoint change
+- **Requirements**: 81+ frame input videos, 15+ denoising steps
+- **Use case**: View same scene from different angles
+
+#### Sky Reels v2 Diffusion
+- **Type**: Diffusion Forcing model
+- **Specialty**: "Infinite length" videos
+- **Features**: High quality continuous generation
+
+
+
+
+## Wan Fun InP Models
+
+#### Wan Fun InP 1.3B
+- **Size**: 1.3 billion parameters
+- **VRAM**: 6GB minimum
+- **Quality**: Good for the size, accessible to lower hardware
+- **Best for**: Entry-level image animation
+- **Command**: `python wgp.py --i2v-1-3B`
+
+#### Wan Fun InP 14B
+- **Size**: 14 billion parameters
+- **VRAM**: 12GB+ recommended
+- **Quality**: Better end image support
+- **Limitation**: Existing loras don't work as well
+
+
+
+
+## Hunyuan Video Models
+
+#### Hunyuan Video Text2Video
+- **Quality**: Among the best open source t2v models
+- **VRAM**: 12GB+ recommended
+- **Speed**: Slower generation but excellent results
+- **Features**: Superior text adherence and video quality, up to 10s of video
+- **Best for**: High-quality text-to-video generation
+
+#### Hunyuan Video Custom
+- **Specialty**: Identity preservation
+- **Use case**: Injecting specific people into videos
+- **Quality**: Excellent for character consistency
+- **Best for**: Character-focused video generation
+
+#### Hunyuan Video Avater
+- **Specialty**: Generate up to 15s of high quality speech / song driven Video .
+- **Use case**: Injecting specific people into videos
+- **Quality**: Excellent for character consistency
+- **Best for**: Character-focused video generation, Video synchronized with voice
+
+
+
+
+## LTX Video Models
+
+#### LTX Video 13B
+- **Specialty**: Long video generation
+- **Resolution**: Fast 720p generation
+- **VRAM**: Optimized by WanGP (4x reduction in requirements)
+- **Best for**: Longer duration videos
+
+#### LTX Video 13B Distilled
+- **Speed**: Generate in less than one minute
+- **Quality**: Very high quality despite speed
+- **Best for**: Rapid prototyping and quick results
+
+
+
+## Model Selection Guide
+
+### By Hardware (VRAM)
+
+#### 6-8GB VRAM
+- Wan 2.1 T2V 1.3B
+- Wan Fun InP 1.3B
+- Wan Vace 1.3B
+
+#### 10-12GB VRAM
+- Wan 2.1 T2V 14B
+- Wan Fun InP 14B
+- Hunyuan Video (with optimizations)
+- LTX Video 13B
+
+#### 16GB+ VRAM
+- All models supported
+- Longer videos possible
+- Higher resolutions
+- Multiple simultaneous Loras
+
+#### 20GB+ VRAM
+- MoviiGen (experimental 1080p)
+- Very long videos
+- Maximum quality settings
+
+### By Use Case
+
+#### Quick Prototyping
+1. **LTX Video 13B Distilled** - Fastest, high quality
+2. **Wan 2.1 T2V 1.3B** - Fast, good quality
+3. **CausVid Lora** - 4-12 steps, very fast
+
+#### Best Quality
+1. **Hunyuan Video** - Overall best t2v quality
+2. **Wan 2.1 T2V 14B** - Excellent Wan quality
+3. **Wan Vace 14B** - Best for controlled generation
+
+#### Advanced Control
+1. **Wan Vace 14B/1.3B** - Motion transfer, object injection
+2. **Phantom** - Person/object transfer
+3. **FantasySpeaking** - Voice-driven animation
+
+#### Long Videos
+1. **LTX Video 13B** - Specialized for length
+2. **Sky Reels v2** - Infinite length videos
+3. **Wan Vace + Sliding Windows** - Up to 1 minute
+
+#### Lower Hardware
+1. **Wan Fun InP 1.3B** - Image-to-video
+2. **Wan 2.1 T2V 1.3B** - Text-to-video
+3. **Wan Vace 1.3B** - Advanced control
+
+
+
+## Performance Comparison
+
+### Speed (Relative)
+1. **CausVid Lora** (4-12 steps) - Fastest
+2. **LTX Video Distilled** - Very fast
+3. **Wan 1.3B models** - Fast
+4. **Wan 14B models** - Medium
+5. **Hunyuan Video** - Slower
+6. **MoviiGen** - Slowest
+
+### Quality (Subjective)
+1. **Hunyuan Video** - Highest overall
+2. **Wan 14B models** - Excellent
+3. **LTX Video models** - Very good
+4. **Wan 1.3B models** - Good
+5. **CausVid** - Good (varies with steps)
+
+### VRAM Efficiency
+1. **Wan 1.3B models** - Most efficient
+2. **LTX Video** (with WanGP optimizations)
+3. **Wan 14B models**
+4. **Hunyuan Video**
+5. **MoviiGen** - Least efficient
+
+
+
+## Model Switching
+
+WanGP allows switching between models without restarting:
+
+1. Use the dropdown menu in the web interface
+2. Models are loaded on-demand
+3. Previous model is unloaded to save VRAM
+4. Settings are preserved when possible
+
+
+
+## Tips for Model Selection
+
+### First Time Users
+Start with **Wan 2.1 T2V 1.3B** to learn the interface and test your hardware.
+
+### Production Work
+Use **Hunyuan Video** or **Wan 14B** models for final output quality.
+
+### Experimentation
+**CausVid Lora** or **LTX Distilled** for rapid iteration and testing.
+
+### Specialized Tasks
+- **VACE** for advanced control
+- **FantasySpeaking** for talking heads
+- **LTX Video** for long sequences
+
+### Hardware Optimization
Always start with the largest model your VRAM can handle, then optimize settings for speed vs quality based on your needs.
\ No newline at end of file
diff --git a/docs/OVERVIEW.md b/docs/OVERVIEW.md
index 4e35adda5..1bed4393a 100644
--- a/docs/OVERVIEW.md
+++ b/docs/OVERVIEW.md
@@ -1,15 +1,15 @@
-**WanGP** support many diferent models. Some of them are just better. You will find below a selection.
-
-Hit any link below to load that model in the Video Generator instantly.
-
-| Role | Model | Why pick it |
-| --- | --- | --- |
-| Video editing, face injection, spatial & temporal outpainting | [Wan 2.1 VACE](modeltype:vace_14B) | Load a control video, mask the regions you want to affect using Matanyone, and let the model replace faces, patch damaged areas, or extend the scene outside the original frame. If you are looking for an accelerated version of Vace usable out of the box, just try [Vace Fusionix](modeltype:vace_14B_fusionix). |
-| Identity-preserving face replacement | [Lynx](modeltype:lynx), [Vace Lynx](modeltype:vace_lynx_14B) | Optimized to keep facial identity even when the hair style, clothes, or lighting change. Feed reference portraits, adjust the Lynx weight sliders, and blend with a VACE pass when you need both background cleanup and face swaps. |
-| Motion transfer & performer replacement | [Wan 2.2 Animate](modeltype:animate) | Built for body/facial motion transfers: capture a pose/control video, extract masks with Mat Anyone, and it will replace or animate the target performer. Includes relighting, maskless mode (faster but less precise), and WanGP-exclusive outpainting so new characters stay anchored in the scene. |
-| Multi-speaker lip-sync & dialogue | [MultiTalk](modeltype:multitalk), [InfiniteTalk](modeltype:infinitetalk) | Drop one or two voice tracks, assign speakers, and the model handles lip-sync, gestures, and camera moves. InfiniteTalk mode chains sliding windows so very long monologues/conversations remain coherent. |
-| High-fidelity image editing & inpainting | [Qwen Image Edit](modeltype:qwen_image_edit_plus_20B) | Generates or edits high-resolution stills with multi-subject control and long text captions. Works best at 720p, supports brush-based inpainting/outpainting, and has Lightning LoRAs (4-step/8-step) for faster iterations—ideal for prepping key frames before video runs. |
-| Storyboarding with first / last frames | [Wan 2.2 i2v](modeltype:i2v_2_2) + [Qwen Image Edit](modeltype:qwen_image_edit_plus_20B) | Supply “first frame” and “last frame” stills for every beat using Qwen, then have Wan generate the motion bridge between them (similar to Nano Banana + Kling loops). Recycle the previous last frame as the next first frame to build entire scenes. As an alternative to i2v use, [InfiniteTalk](modeltype:infinitetalk) (without a speaker) as it offers fluid scene transitions. |
-| Fast stylized skits | [Ovi 1.1](modeltype:ovi_1_1_10s) | Very fun and fast at generating videos with talking characters. Two presets (5 s / 10 s) that run on 6–8 GB VRAM and respond well to FastWan accelerators (~10× faster). |
-| Cinematic, long text-to-video | [LTX Video 0.98](modeltype:ltxv_distilled) | Generates 720p clips up to 1 minute. Supports IC-LoRAs (pose, depth, canny, detailer) so you can guide motion or add an internal upscaling pass without leaving WanGP. |
-| Voice cloning / dubbing | [Chatterbox](modeltype:chatterbox) | Give it a short clean voice sample and it reproduces that voice (many languages) in 10–15 s clips. Save the WAV, drop it into MultiTalk/InfiniteTalk, and your avatars now speak with the cloned voice. |
+**WanGP** support many diferent models. Some of them are just better. You will find below a selection.
+
+Hit any link below to load that model in the Video Generator instantly.
+
+| Role | Model | Why pick it |
+| --- | --- | --- |
+| Video editing, face injection, spatial & temporal outpainting | [Wan 2.1 VACE](modeltype:vace_14B) | Load a control video, mask the regions you want to affect using Matanyone, and let the model replace faces, patch damaged areas, or extend the scene outside the original frame. If you are looking for an accelerated version of Vace usable out of the box, just try [Vace Fusionix](modeltype:vace_14B_fusionix). |
+| Identity-preserving face replacement | [Lynx](modeltype:lynx), [Vace Lynx](modeltype:vace_lynx_14B) | Optimized to keep facial identity even when the hair style, clothes, or lighting change. Feed reference portraits, adjust the Lynx weight sliders, and blend with a VACE pass when you need both background cleanup and face swaps. |
+| Motion transfer & performer replacement | [Wan 2.2 Animate](modeltype:animate) | Built for body/facial motion transfers: capture a pose/control video, extract masks with Mat Anyone, and it will replace or animate the target performer. Includes relighting, maskless mode (faster but less precise), and WanGP-exclusive outpainting so new characters stay anchored in the scene. |
+| Multi-speaker lip-sync & dialogue | [MultiTalk](modeltype:multitalk), [InfiniteTalk](modeltype:infinitetalk) | Drop one or two voice tracks, assign speakers, and the model handles lip-sync, gestures, and camera moves. InfiniteTalk mode chains sliding windows so very long monologues/conversations remain coherent. |
+| High-fidelity image editing & inpainting | [Qwen Image Edit](modeltype:qwen_image_edit_plus_20B) | Generates or edits high-resolution stills with multi-subject control and long text captions. Works best at 720p, supports brush-based inpainting/outpainting, and has Lightning LoRAs (4-step/8-step) for faster iterations—ideal for prepping key frames before video runs. |
+| Storyboarding with first / last frames | [Wan 2.2 i2v](modeltype:i2v_2_2) + [Qwen Image Edit](modeltype:qwen_image_edit_plus_20B) | Supply “first frame” and “last frame” stills for every beat using Qwen, then have Wan generate the motion bridge between them (similar to Nano Banana + Kling loops). Recycle the previous last frame as the next first frame to build entire scenes. As an alternative to i2v use, [InfiniteTalk](modeltype:infinitetalk) (without a speaker) as it offers fluid scene transitions. |
+| Fast stylized skits | [Ovi 1.1](modeltype:ovi_1_1_10s) | Very fun and fast at generating videos with talking characters. Two presets (5 s / 10 s) that run on 6–8 GB VRAM and respond well to FastWan accelerators (~10× faster). |
+| Cinematic, long text-to-video | [LTX Video 0.98](modeltype:ltxv_distilled) | Generates 720p clips up to 1 minute. Supports IC-LoRAs (pose, depth, canny, detailer) so you can guide motion or add an internal upscaling pass without leaving WanGP. |
+| Voice cloning / dubbing | [Chatterbox](modeltype:chatterbox) | Give it a short clean voice sample and it reproduces that voice (many languages) in 10–15 s clips. Save the WAV, drop it into MultiTalk/InfiniteTalk, and your avatars now speak with the cloned voice. |
diff --git a/docs/PLUGINS.md b/docs/PLUGINS.md
index f2840f8ee..ca6683516 100644
--- a/docs/PLUGINS.md
+++ b/docs/PLUGINS.md
@@ -1,397 +1,397 @@
-# Wan2GP Plugin System
-
-This system allows you to extend and customize the Wan2GP user interface and functionality without modifying the core application code. This document will guide you through the process of creating and installing your own plugins.
-
-## Table of Contents
-1. [Plugin Structure](#plugin-structure)
-2. [Getting Started: Creating a Plugin](#getting-started-creating-a-plugin)
-3. [Plugin Distribution and Installation](#plugin-distribution-and-installation)
-4. [Plugin API Reference](#plugin-api-reference)
- * [The `WAN2GPPlugin` Class](#the-wan2gpplugin-class)
- * [Core Methods](#core-methods)
-5. [Examples](#examples)
- * [Example 1: Creating a New Tab](#example-1-creating-a-new-tab)
- * [Example 2: Injecting UI Elements](#example-2-injecting-ui-elements)
- * [Example 3: Advanced UI Injection and Interaction](#example-3-advanced-ui-injection-and-interaction)
- * [Example 4: Accessing Global Functions and Variables](#example-4-accessing-global-functions-and-variables)
- * [Example 5: Using Helper Modules (Relative Imports)](#example-5-using-helper-modules-relative-imports)
-6. [Finding Component IDs](#finding-component-ids)
-
-## Plugin Structure
-
-Plugins are standard Python packages (folders) located within the main `plugins/` directory. This structure allows for multiple files, dependencies, and proper packaging.
-
-Don't hesitate to have a look at the Sample PlugIn "wan2gp_sample" as it illustrates:
--How to get Settings from the Main Form and then Modify them
--How to suspend the Video Gen (and release VRAM) to execute your own GPU intensive process.
--How to switch back automatically to the Main Tab
-
-A valid plugin folder must contain at a minimum:
-* `__init__.py`: An empty file that tells Python to treat the directory as a package.
-* `plugin.py`: The main file containing your class that inherits from `WAN2GPPlugin`.
-
-
-A complete plugin folder typically looks like this:
-
-```
-plugins/
-└── my-awesome-plugin/
- ├── __init__.py # (Required, can be empty) Makes this a Python package.
- ├── plugin.py # (Required) Main plugin logic and class definition.
- ├── requirements.txt # (Optional) Lists pip dependencies for your plugin.
- └── ... # Other helper .py files, assets, etc.
-```
-
-## Getting Started: Creating a Plugin
-
-1. **Create a Plugin Folder**: Inside the main `plugins/` directory, create a new folder for your plugin (e.g., `my-awesome-plugin`).
-
-2. **Create Core Files**:
- * Inside `my-awesome-plugin/`, create an empty file named `__init__.py`.
- * Create another file named `plugin.py`. This will be the entry point for your plugin.
-
-3. **Define a Plugin Class**: In `plugin.py`, create a class that inherits from `WAN2GPPlugin` and set its metadata attributes.
-
- ```python
- from shared.utils.plugins import WAN2GPPlugin
-
- class MyPlugin(WAN2GPPlugin):
- def __init__(self):
- super().__init__()
- self.name = "My Awesome Plugin"
- self.version = "1.0.0"
- self.description = "This plugin adds awesome new features."
- ```
-
-4. **Add Dependencies (Optional)**: If your plugin requires external Python libraries (e.g., `numpy`), list them in a `requirements.txt` file inside your plugin folder. These will be installed automatically when a user installs your plugin via the UI.
-
-5. **Enable and Test**:
- * Start Wan2GP.
- * Go to the **Plugins** tab.
- * You should see your new plugin (`my-awesome-plugin`) in the list.
- * Check the box to enable it and click "Save Settings".
- * **Restart the Wan2GP application.** Your plugin will now be active.
-
-## Plugin Distribution and Installation
-
-#### Packaging for Distribution
-To share your plugin, simply upload your entire plugin folder (e.g., `my-awesome-plugin/`) to a public GitHub repository.
-
-#### Installing from the UI
-Users can install your plugin directly from the Wan2GP interface:
-1. Go to the **Plugins** tab.
-2. Under "Install New Plugin," paste the full URL of your plugin's GitHub repository.
-3. Click "Download and Install Plugin."
-4. The system will clone the repository and install any dependencies from `requirements.txt`.
-5. The new plugin will appear in the "Available Plugins" list. The user must then enable it and restart the application to activate it.
-
-The plugin manager also supports updating plugins (if installed from git) and uninstalling them.
-
-## Plugin API Reference
-
-### The `WAN2GPPlugin` Class
-Every plugin must define its main class in `plugin.py` inheriting from `WAN2GPPlugin`.
-
-```python
-# in plugins/my-awesome-plugin/plugin.py
-from shared.utils.plugins import WAN2GPPlugin
-import gradio as gr
-
-class MyAwesomePlugin(WAN2GPPlugin):
- def __init__(self):
- super().__init__()
- # Metadata for the Plugin Manager UI
- self.name = "My Awesome Plugin"
- self.version = "1.0.0"
- self.description = "A short description of what my plugin does."
-
- def setup_ui(self):
- # UI setup calls go here
- pass
-
- def post_ui_setup(self, components: dict):
- # Event wiring and UI injection calls go here
- pass
-```
-
-### Core Methods
-These are the methods you can override or call to build your plugin.
-
-#### `setup_ui(self)`
-This method is called when your plugin is first loaded. It's the place to declare new tabs or request access to components and globals before the main UI is built.
-
-* **`self.add_tab(tab_id, label, component_constructor, position)`**: Adds a new top-level tab to the UI.
-* **`self.request_component(component_id)`**: Requests access to an existing Gradio component by its `elem_id`. The component will be available as an attribute (e.g., `self.loras_multipliers`) in `post_ui_setup`.
-* **`self.request_global(global_name)`**: Requests access to a global variable or function from the main `wgp.py` application. The global will be available as an attribute (e.g., `self.server_config`).
-
-#### `post_ui_setup(self, components)`
-This method runs after the entire main UI has been built. Use it to wire up events for your custom UI and to inject new components into the existing layout.
-
-* `components` (dict): A dictionary of the components you requested via `request_component`.
-* **`self.insert_after(target_component_id, new_component_constructor)`**: A powerful method to dynamically inject new UI elements into the page.
-
-#### `on_tab_select(self, state)` and `on_tab_deselect(self, state)`
-If you used `add_tab`, these methods will be called automatically when your tab is selected or deselected, respectively. This is useful for loading data or managing resources.
-
-#### `set_global(self, variable_name, new_value)`
-Allows your plugin to safely modify a global variable in the main `wgp.py` application.
-
-#### `register_data_hook(self, hook_name, callback)`
-Allows you to intercept and modify data at key points. For example, the `before_metadata_save` hook lets you add custom data to the metadata before it's saved to a file.
-
-## Examples
-
-### Example 1: Creating a New Tab
-
-**File Structure:**
-```
-plugins/
-└── greeter_plugin/
- ├── __init__.py
- └── plugin.py
-```
-
-**Code:**
-```python
-# in plugins/greeter_plugin/plugin.py
-import gradio as gr
-from shared.utils.plugins import WAN2GPPlugin
-
-class GreeterPlugin(WAN2GPPlugin):
- def __init__(self):
- super().__init__()
- self.name = "Greeter Plugin"
- self.version = "1.0.0"
- self.description = "Adds a simple 'Greeter' tab."
-
- def setup_ui(self):
- self.add_tab(
- tab_id="greeter_tab",
- label="Greeter",
- component_constructor=self.create_greeter_ui,
- position=2 # Place it as the 3rd tab (0-indexed)
- )
-
- def create_greeter_ui(self):
- with gr.Blocks() as demo:
- gr.Markdown("## A Simple Greeter")
- with gr.Row():
- name_input = gr.Textbox(label="Enter your name")
- output_text = gr.Textbox(label="Output")
- greet_btn = gr.Button("Greet")
-
- greet_btn.click(
- fn=lambda name: f"Hello, {name}!",
- inputs=[name_input],
- outputs=output_text
- )
- return demo
-```
-
-### Example 2: Injecting UI Elements
-
-This example adds a simple HTML element right after the "Loras Multipliers" textbox.
-
-**File Structure:**
-```
-plugins/
-└── injector_plugin/
- ├── __init__.py
- └── plugin.py
-```
-
-**Code:**
-```python
-# in plugins/injector_plugin/plugin.py
-import gradio as gr
-from shared.utils.plugins import WAN2GPPlugin
-
-class InjectorPlugin(WAN2GPPlugin):
- def __init__(self):
- super().__init__()
- self.name = "UI Injector"
- self.version = "1.0.0"
- self.description = "Injects a message into the main UI."
-
- def post_ui_setup(self, components: dict):
- def create_inserted_component():
- return gr.HTML(value="
--- Injected by a plugin! ---
")
-
- self.insert_after(
- target_component_id="loras_multipliers",
- new_component_constructor=create_inserted_component
- )
-```
-
-### Example 3: Advanced UI Injection and Interaction
-
-This plugin injects a button that interacts with other components on the page.
-
-**File Structure:**
-```
-plugins/
-└── advanced_ui_plugin/
- ├── __init__.py
- └── plugin.py
-```
-
-**Code:**
-```python
-# in plugins/advanced_ui_plugin/plugin.py
-import gradio as gr
-from shared.utils.plugins import WAN2GPPlugin
-
-class AdvancedUIPlugin(WAN2GPPlugin):
- def __init__(self):
- super().__init__()
- self.name = "LoRA Helper"
- self.description = "Adds a button to copy selected LoRAs."
-
- def setup_ui(self):
- # Request access to the components we want to read from and write to.
- self.request_component("loras_multipliers")
- self.request_component("loras_choices")
-
- def post_ui_setup(self, components: dict):
- # This function will create our new UI and wire its events.
- def create_and_wire_advanced_ui():
- with gr.Accordion("LoRA Helper Panel (Plugin)", open=False):
- copy_btn = gr.Button("Copy selected LoRA names to Multipliers")
-
- # Define the function for the button's click event.
- def copy_lora_names(selected_loras):
- return " ".join(selected_loras)
-
- # Wire the event. We can access the components as attributes of `self`.
- copy_btn.click(
- fn=copy_lora_names,
- inputs=[self.loras_choices],
- outputs=[self.loras_multipliers]
- )
- return panel # Return the top-level component to be inserted.
-
- # Tell the manager to insert our UI after the 'loras_multipliers' textbox.
- self.insert_after(
- target_component_id="loras_multipliers",
- new_component_constructor=create_and_wire_advanced_ui
- )
-```
-
-### Example 4: Accessing Global Functions and Variables
-
-**File Structure:**
-```
-plugins/
-└── global_access_plugin/
- ├── __init__.py
- └── plugin.py
-```
-
-**Code:**
-```python
-# in plugins/global_access_plugin/plugin.py
-import gradio as gr
-from shared.utils.plugins import WAN2GPPlugin
-
-class GlobalAccessPlugin(WAN2GPPlugin):
- def __init__(self):
- super().__init__()
- self.name = "Global Access Plugin"
- self.description = "Demonstrates reading and writing global state."
-
- def setup_ui(self):
- # Request read access to globals
- self.request_global("server_config")
- self.request_global("get_video_info")
-
- # Add a tab to host our UI
- self.add_tab("global_access_tab", "Global Access", self.create_ui)
-
- def create_ui(self):
- with gr.Blocks() as demo:
- gr.Markdown("### Read Globals")
- video_input = gr.Video(label="Upload a video to analyze")
- info_output = gr.JSON(label="Video Info")
-
- def analyze_video(video_path):
- if not video_path: return "Upload a video."
- # Access globals as attributes of `self`
- save_path = self.server_config.get("save_path", "outputs")
- fps, w, h, frames = self.get_video_info(video_path)
- return {"save_path": save_path, "fps": fps, "dimensions": f"{w}x{h}"}
-
- analyze_btn = gr.Button("Analyze Video")
- analyze_btn.click(fn=analyze_video, inputs=[video_input], outputs=[info_output])
-
- gr.Markdown("--- \n ### Write Globals")
- theme_changer = gr.Dropdown(choices=["default", "gradio"], label="Change UI Theme (Requires Restart)")
- save_theme_btn = gr.Button("Save Theme Change")
-
- def save_theme(theme_choice):
- # Use the safe `set_global` method
- self.set_global("UI_theme", theme_choice)
- gr.Info(f"Theme set to '{theme_choice}'. Restart required.")
-
- save_theme_btn.click(fn=save_theme, inputs=[theme_changer])
-
- return demo
-```
-
-### Example 5: Using Helper Modules (Relative Imports)
-This example shows how to organize your code into multiple files within your plugin package.
-
-**File Structure:**
-```
-plugins/
-└── helper_plugin/
- ├── __init__.py
- ├── plugin.py
- └── helpers.py
-```
-
-**Code:**
-```python
-# in plugins/helper_plugin/helpers.py
-def format_greeting(name: str) -> str:
- """A helper function in a separate file."""
- if not name:
- return "Hello, mystery person!"
- return f"A very special hello to {name.upper()}!"
-
-# in plugins/helper_plugin/plugin.py
-import gradio as gr
-from shared.utils.plugins import WAN2GPPlugin
-from .helpers import format_greeting # <-- Relative import works!
-
-class HelperPlugin(WAN2GPPlugin):
- def __init__(self):
- super().__init__()
- self.name = "Helper Module Example"
- self.description = "Shows how to use relative imports."
-
- def setup_ui(self):
- self.add_tab("helper_tab", "Helper Example", self.create_ui)
-
- def create_ui(self):
- with gr.Blocks() as demo:
- name_input = gr.Textbox(label="Name")
- output = gr.Textbox(label="Formatted Greeting")
- btn = gr.Button("Greet with Helper")
-
- btn.click(fn=format_greeting, inputs=[name_input], outputs=[output])
- return demo
-```
-
-## Finding Component IDs
-
-To interact with an existing component using `request_component` or `insert_after`, you need its `elem_id`. You can find these IDs by:
-
-1. **Inspecting the Source Code**: Look through `wgp.py` for Gradio components defined with an `elem_id`.
-2. **Browser Developer Tools**: Run Wan2GP, open your browser's developer tools (F12), and use the "Inspect Element" tool to find the `id` of the HTML element you want to target.
-
-Some common `elem_id`s include:
-* `loras_multipliers`
-* `loras_choices`
-* `main_tabs`
-* `gallery`
+# Wan2GP Plugin System
+
+This system allows you to extend and customize the Wan2GP user interface and functionality without modifying the core application code. This document will guide you through the process of creating and installing your own plugins.
+
+## Table of Contents
+1. [Plugin Structure](#plugin-structure)
+2. [Getting Started: Creating a Plugin](#getting-started-creating-a-plugin)
+3. [Plugin Distribution and Installation](#plugin-distribution-and-installation)
+4. [Plugin API Reference](#plugin-api-reference)
+ * [The `WAN2GPPlugin` Class](#the-wan2gpplugin-class)
+ * [Core Methods](#core-methods)
+5. [Examples](#examples)
+ * [Example 1: Creating a New Tab](#example-1-creating-a-new-tab)
+ * [Example 2: Injecting UI Elements](#example-2-injecting-ui-elements)
+ * [Example 3: Advanced UI Injection and Interaction](#example-3-advanced-ui-injection-and-interaction)
+ * [Example 4: Accessing Global Functions and Variables](#example-4-accessing-global-functions-and-variables)
+ * [Example 5: Using Helper Modules (Relative Imports)](#example-5-using-helper-modules-relative-imports)
+6. [Finding Component IDs](#finding-component-ids)
+
+## Plugin Structure
+
+Plugins are standard Python packages (folders) located within the main `plugins/` directory. This structure allows for multiple files, dependencies, and proper packaging.
+
+Don't hesitate to have a look at the Sample PlugIn "wan2gp_sample" as it illustrates:
+-How to get Settings from the Main Form and then Modify them
+-How to suspend the Video Gen (and release VRAM) to execute your own GPU intensive process.
+-How to switch back automatically to the Main Tab
+
+A valid plugin folder must contain at a minimum:
+* `__init__.py`: An empty file that tells Python to treat the directory as a package.
+* `plugin.py`: The main file containing your class that inherits from `WAN2GPPlugin`.
+
+
+A complete plugin folder typically looks like this:
+
+```
+plugins/
+└── my-awesome-plugin/
+ ├── __init__.py # (Required, can be empty) Makes this a Python package.
+ ├── plugin.py # (Required) Main plugin logic and class definition.
+ ├── requirements.txt # (Optional) Lists pip dependencies for your plugin.
+ └── ... # Other helper .py files, assets, etc.
+```
+
+## Getting Started: Creating a Plugin
+
+1. **Create a Plugin Folder**: Inside the main `plugins/` directory, create a new folder for your plugin (e.g., `my-awesome-plugin`).
+
+2. **Create Core Files**:
+ * Inside `my-awesome-plugin/`, create an empty file named `__init__.py`.
+ * Create another file named `plugin.py`. This will be the entry point for your plugin.
+
+3. **Define a Plugin Class**: In `plugin.py`, create a class that inherits from `WAN2GPPlugin` and set its metadata attributes.
+
+ ```python
+ from shared.utils.plugins import WAN2GPPlugin
+
+ class MyPlugin(WAN2GPPlugin):
+ def __init__(self):
+ super().__init__()
+ self.name = "My Awesome Plugin"
+ self.version = "1.0.0"
+ self.description = "This plugin adds awesome new features."
+ ```
+
+4. **Add Dependencies (Optional)**: If your plugin requires external Python libraries (e.g., `numpy`), list them in a `requirements.txt` file inside your plugin folder. These will be installed automatically when a user installs your plugin via the UI.
+
+5. **Enable and Test**:
+ * Start Wan2GP.
+ * Go to the **Plugins** tab.
+ * You should see your new plugin (`my-awesome-plugin`) in the list.
+ * Check the box to enable it and click "Save Settings".
+ * **Restart the Wan2GP application.** Your plugin will now be active.
+
+## Plugin Distribution and Installation
+
+#### Packaging for Distribution
+To share your plugin, simply upload your entire plugin folder (e.g., `my-awesome-plugin/`) to a public GitHub repository.
+
+#### Installing from the UI
+Users can install your plugin directly from the Wan2GP interface:
+1. Go to the **Plugins** tab.
+2. Under "Install New Plugin," paste the full URL of your plugin's GitHub repository.
+3. Click "Download and Install Plugin."
+4. The system will clone the repository and install any dependencies from `requirements.txt`.
+5. The new plugin will appear in the "Available Plugins" list. The user must then enable it and restart the application to activate it.
+
+The plugin manager also supports updating plugins (if installed from git) and uninstalling them.
+
+## Plugin API Reference
+
+### The `WAN2GPPlugin` Class
+Every plugin must define its main class in `plugin.py` inheriting from `WAN2GPPlugin`.
+
+```python
+# in plugins/my-awesome-plugin/plugin.py
+from shared.utils.plugins import WAN2GPPlugin
+import gradio as gr
+
+class MyAwesomePlugin(WAN2GPPlugin):
+ def __init__(self):
+ super().__init__()
+ # Metadata for the Plugin Manager UI
+ self.name = "My Awesome Plugin"
+ self.version = "1.0.0"
+ self.description = "A short description of what my plugin does."
+
+ def setup_ui(self):
+ # UI setup calls go here
+ pass
+
+ def post_ui_setup(self, components: dict):
+ # Event wiring and UI injection calls go here
+ pass
+```
+
+### Core Methods
+These are the methods you can override or call to build your plugin.
+
+#### `setup_ui(self)`
+This method is called when your plugin is first loaded. It's the place to declare new tabs or request access to components and globals before the main UI is built.
+
+* **`self.add_tab(tab_id, label, component_constructor, position)`**: Adds a new top-level tab to the UI.
+* **`self.request_component(component_id)`**: Requests access to an existing Gradio component by its `elem_id`. The component will be available as an attribute (e.g., `self.loras_multipliers`) in `post_ui_setup`.
+* **`self.request_global(global_name)`**: Requests access to a global variable or function from the main `wgp.py` application. The global will be available as an attribute (e.g., `self.server_config`).
+
+#### `post_ui_setup(self, components)`
+This method runs after the entire main UI has been built. Use it to wire up events for your custom UI and to inject new components into the existing layout.
+
+* `components` (dict): A dictionary of the components you requested via `request_component`.
+* **`self.insert_after(target_component_id, new_component_constructor)`**: A powerful method to dynamically inject new UI elements into the page.
+
+#### `on_tab_select(self, state)` and `on_tab_deselect(self, state)`
+If you used `add_tab`, these methods will be called automatically when your tab is selected or deselected, respectively. This is useful for loading data or managing resources.
+
+#### `set_global(self, variable_name, new_value)`
+Allows your plugin to safely modify a global variable in the main `wgp.py` application.
+
+#### `register_data_hook(self, hook_name, callback)`
+Allows you to intercept and modify data at key points. For example, the `before_metadata_save` hook lets you add custom data to the metadata before it's saved to a file.
+
+## Examples
+
+### Example 1: Creating a New Tab
+
+**File Structure:**
+```
+plugins/
+└── greeter_plugin/
+ ├── __init__.py
+ └── plugin.py
+```
+
+**Code:**
+```python
+# in plugins/greeter_plugin/plugin.py
+import gradio as gr
+from shared.utils.plugins import WAN2GPPlugin
+
+class GreeterPlugin(WAN2GPPlugin):
+ def __init__(self):
+ super().__init__()
+ self.name = "Greeter Plugin"
+ self.version = "1.0.0"
+ self.description = "Adds a simple 'Greeter' tab."
+
+ def setup_ui(self):
+ self.add_tab(
+ tab_id="greeter_tab",
+ label="Greeter",
+ component_constructor=self.create_greeter_ui,
+ position=2 # Place it as the 3rd tab (0-indexed)
+ )
+
+ def create_greeter_ui(self):
+ with gr.Blocks() as demo:
+ gr.Markdown("## A Simple Greeter")
+ with gr.Row():
+ name_input = gr.Textbox(label="Enter your name")
+ output_text = gr.Textbox(label="Output")
+ greet_btn = gr.Button("Greet")
+
+ greet_btn.click(
+ fn=lambda name: f"Hello, {name}!",
+ inputs=[name_input],
+ outputs=output_text
+ )
+ return demo
+```
+
+### Example 2: Injecting UI Elements
+
+This example adds a simple HTML element right after the "Loras Multipliers" textbox.
+
+**File Structure:**
+```
+plugins/
+└── injector_plugin/
+ ├── __init__.py
+ └── plugin.py
+```
+
+**Code:**
+```python
+# in plugins/injector_plugin/plugin.py
+import gradio as gr
+from shared.utils.plugins import WAN2GPPlugin
+
+class InjectorPlugin(WAN2GPPlugin):
+ def __init__(self):
+ super().__init__()
+ self.name = "UI Injector"
+ self.version = "1.0.0"
+ self.description = "Injects a message into the main UI."
+
+ def post_ui_setup(self, components: dict):
+ def create_inserted_component():
+ return gr.HTML(value="
--- Injected by a plugin! ---
")
+
+ self.insert_after(
+ target_component_id="loras_multipliers",
+ new_component_constructor=create_inserted_component
+ )
+```
+
+### Example 3: Advanced UI Injection and Interaction
+
+This plugin injects a button that interacts with other components on the page.
+
+**File Structure:**
+```
+plugins/
+└── advanced_ui_plugin/
+ ├── __init__.py
+ └── plugin.py
+```
+
+**Code:**
+```python
+# in plugins/advanced_ui_plugin/plugin.py
+import gradio as gr
+from shared.utils.plugins import WAN2GPPlugin
+
+class AdvancedUIPlugin(WAN2GPPlugin):
+ def __init__(self):
+ super().__init__()
+ self.name = "LoRA Helper"
+ self.description = "Adds a button to copy selected LoRAs."
+
+ def setup_ui(self):
+ # Request access to the components we want to read from and write to.
+ self.request_component("loras_multipliers")
+ self.request_component("loras_choices")
+
+ def post_ui_setup(self, components: dict):
+ # This function will create our new UI and wire its events.
+ def create_and_wire_advanced_ui():
+ with gr.Accordion("LoRA Helper Panel (Plugin)", open=False):
+ copy_btn = gr.Button("Copy selected LoRA names to Multipliers")
+
+ # Define the function for the button's click event.
+ def copy_lora_names(selected_loras):
+ return " ".join(selected_loras)
+
+ # Wire the event. We can access the components as attributes of `self`.
+ copy_btn.click(
+ fn=copy_lora_names,
+ inputs=[self.loras_choices],
+ outputs=[self.loras_multipliers]
+ )
+ return panel # Return the top-level component to be inserted.
+
+ # Tell the manager to insert our UI after the 'loras_multipliers' textbox.
+ self.insert_after(
+ target_component_id="loras_multipliers",
+ new_component_constructor=create_and_wire_advanced_ui
+ )
+```
+
+### Example 4: Accessing Global Functions and Variables
+
+**File Structure:**
+```
+plugins/
+└── global_access_plugin/
+ ├── __init__.py
+ └── plugin.py
+```
+
+**Code:**
+```python
+# in plugins/global_access_plugin/plugin.py
+import gradio as gr
+from shared.utils.plugins import WAN2GPPlugin
+
+class GlobalAccessPlugin(WAN2GPPlugin):
+ def __init__(self):
+ super().__init__()
+ self.name = "Global Access Plugin"
+ self.description = "Demonstrates reading and writing global state."
+
+ def setup_ui(self):
+ # Request read access to globals
+ self.request_global("server_config")
+ self.request_global("get_video_info")
+
+ # Add a tab to host our UI
+ self.add_tab("global_access_tab", "Global Access", self.create_ui)
+
+ def create_ui(self):
+ with gr.Blocks() as demo:
+ gr.Markdown("### Read Globals")
+ video_input = gr.Video(label="Upload a video to analyze")
+ info_output = gr.JSON(label="Video Info")
+
+ def analyze_video(video_path):
+ if not video_path: return "Upload a video."
+ # Access globals as attributes of `self`
+ save_path = self.server_config.get("save_path", "outputs")
+ fps, w, h, frames = self.get_video_info(video_path)
+ return {"save_path": save_path, "fps": fps, "dimensions": f"{w}x{h}"}
+
+ analyze_btn = gr.Button("Analyze Video")
+ analyze_btn.click(fn=analyze_video, inputs=[video_input], outputs=[info_output])
+
+ gr.Markdown("--- \n ### Write Globals")
+ theme_changer = gr.Dropdown(choices=["default", "gradio"], label="Change UI Theme (Requires Restart)")
+ save_theme_btn = gr.Button("Save Theme Change")
+
+ def save_theme(theme_choice):
+ # Use the safe `set_global` method
+ self.set_global("UI_theme", theme_choice)
+ gr.Info(f"Theme set to '{theme_choice}'. Restart required.")
+
+ save_theme_btn.click(fn=save_theme, inputs=[theme_changer])
+
+ return demo
+```
+
+### Example 5: Using Helper Modules (Relative Imports)
+This example shows how to organize your code into multiple files within your plugin package.
+
+**File Structure:**
+```
+plugins/
+└── helper_plugin/
+ ├── __init__.py
+ ├── plugin.py
+ └── helpers.py
+```
+
+**Code:**
+```python
+# in plugins/helper_plugin/helpers.py
+def format_greeting(name: str) -> str:
+ """A helper function in a separate file."""
+ if not name:
+ return "Hello, mystery person!"
+ return f"A very special hello to {name.upper()}!"
+
+# in plugins/helper_plugin/plugin.py
+import gradio as gr
+from shared.utils.plugins import WAN2GPPlugin
+from .helpers import format_greeting # <-- Relative import works!
+
+class HelperPlugin(WAN2GPPlugin):
+ def __init__(self):
+ super().__init__()
+ self.name = "Helper Module Example"
+ self.description = "Shows how to use relative imports."
+
+ def setup_ui(self):
+ self.add_tab("helper_tab", "Helper Example", self.create_ui)
+
+ def create_ui(self):
+ with gr.Blocks() as demo:
+ name_input = gr.Textbox(label="Name")
+ output = gr.Textbox(label="Formatted Greeting")
+ btn = gr.Button("Greet with Helper")
+
+ btn.click(fn=format_greeting, inputs=[name_input], outputs=[output])
+ return demo
+```
+
+## Finding Component IDs
+
+To interact with an existing component using `request_component` or `insert_after`, you need its `elem_id`. You can find these IDs by:
+
+1. **Inspecting the Source Code**: Look through `wgp.py` for Gradio components defined with an `elem_id`.
+2. **Browser Developer Tools**: Run Wan2GP, open your browser's developer tools (F12), and use the "Inspect Element" tool to find the `id` of the HTML element you want to target.
+
+Some common `elem_id`s include:
+* `loras_multipliers`
+* `loras_choices`
+* `main_tabs`
+* `gallery`
* `family_list`, `model_base_types_list`, `model_list`
\ No newline at end of file
diff --git a/docs/TROUBLESHOOTING.md b/docs/TROUBLESHOOTING.md
index 7c20fa9ad..f3cbaa870 100644
--- a/docs/TROUBLESHOOTING.md
+++ b/docs/TROUBLESHOOTING.md
@@ -1,338 +1,338 @@
-# Troubleshooting Guide
-
-This guide covers common issues and their solutions when using WanGP.
-
-## Installation Issues
-
-### PyTorch Installation Problems
-
-#### CUDA Version Mismatch
-**Problem**: PyTorch can't detect GPU or CUDA errors
-**Solution**:
-```bash
-# Check your CUDA version
-nvidia-smi
-
-# Install matching PyTorch version
-# For CUDA 12.4 (RTX 10XX-40XX)
-pip install torch==2.6.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu124
-
-# For CUDA 12.8 (RTX 50XX)
-pip install torch==2.7.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
-```
-
-#### Python Version Issues
-**Problem**: Package compatibility errors
-**Solution**: Ensure you're using Python 3.10.9
-```bash
-python --version # Should show 3.10.9
-conda create -n wan2gp python=3.10.9
-```
-
-### Dependency Installation Failures
-
-#### Triton Installation (Windows)
-**Problem**: `pip install triton-windows` fails
-**Solution**:
-1. Update pip: `pip install --upgrade pip`
-2. Try pre-compiled wheel
-3. Fallback to SDPA attention: `python wgp.py --attention sdpa`
-
-#### SageAttention Compilation Issues
-**Problem**: SageAttention installation fails
-**Solution**:
-1. Install Visual Studio Build Tools (Windows)
-2. Use pre-compiled wheels when available
-3. Fallback to basic attention modes
-
-## Memory Issues
-
-### CUDA Out of Memory
-
-#### During Model Loading
-**Problem**: "CUDA out of memory" when loading model
-**Solutions**:
-```bash
-# Use smaller model
-python wgp.py --t2v-1-3B
-
-# Enable quantization (usually default)
-python wgp.py --quantize-transformer True
-
-# Use memory-efficient profile
-python wgp.py --profile 4
-
-# Reduce preloaded model size
-python wgp.py --preload 0
-```
-
-#### During Video Generation
-**Problem**: Memory error during generation
-**Solutions**:
-1. Reduce frame count (shorter videos)
-2. Lower resolution in advanced settings
-3. Use lower batch size
-4. Clear GPU cache between generations
-
-### System RAM Issues
-
-#### High RAM Usage
-**Problem**: System runs out of RAM
-**Solutions**:
-```bash
-# Limit reserved memory
-python wgp.py --perc-reserved-mem-max 0.3
-
-# Use minimal RAM profile
-python wgp.py --profile 5
-
-# Enable swap file (OS level)
-```
-
-## Performance Issues
-
-### Slow Generation Speed
-
-#### General Optimization
-```bash
-# Enable compilation (requires Triton)
-python wgp.py --compile
-
-# Use faster attention
-python wgp.py --attention sage2
-
-# Enable TeaCache
-python wgp.py --teacache 2.0
-
-# Use high-performance profile
-python wgp.py --profile 3
-```
-
-#### GPU-Specific Optimizations
-
-**RTX 10XX/20XX Series**:
-```bash
-python wgp.py --attention sdpa --profile 4 --teacache 1.5
-```
-
-**RTX 30XX/40XX Series**:
-```bash
-python wgp.py --compile --attention sage --profile 3 --teacache 2.0
-```
-
-**RTX 50XX Series**:
-```bash
-python wgp.py --attention sage --profile 4 --fp16
-```
-
-### Attention Mechanism Issues
-
-#### Sage Attention Not Working
-**Problem**: Sage attention fails to compile or work
-**Diagnostic Steps**:
-1. Check Triton installation:
- ```python
- import triton
- print(triton.__version__)
- ```
-2. Clear Triton cache:
- ```bash
- # Windows
- rmdir /s %USERPROFILE%\.triton
- # Linux
- rm -rf ~/.triton
- ```
-3. Fallback solution:
- ```bash
- python wgp.py --attention sdpa
- ```
-
-#### Flash Attention Issues
-**Problem**: Flash attention compilation fails
-**Solution**:
-- Windows: Often requires manual CUDA kernel compilation
-- Linux: Usually works with `pip install flash-attn`
-- Fallback: Use Sage or SDPA attention
-
-## Model-Specific Issues
-
-### Lora Problems
-
-#### Loras Not Loading
-**Problem**: Loras don't appear in the interface
-**Solutions**:
-1. Check file format (should be .safetensors, .pt, or .pth)
-2. Verify correct directory:
- ```
- loras/ # For t2v models
- loras_i2v/ # For i2v models
- loras_hunyuan/ # For Hunyuan models
- ```
-3. Click "Refresh" button in interface
-4. Use `--check-loras` to filter incompatible files
-
-#### Lora Compatibility Issues
-**Problem**: Lora causes errors or poor results
-**Solutions**:
-1. Check model size compatibility (1.3B vs 14B)
-2. Verify lora was trained for your model type
-3. Try different multiplier values
-4. Use `--check-loras` flag to auto-filter
-
-### VACE-Specific Issues
-
-#### Poor VACE Results
-**Problem**: VACE generates poor quality or unexpected results
-**Solutions**:
-1. Enable Skip Layer Guidance
-2. Use detailed prompts describing all elements
-3. Ensure proper mask creation with Matanyone
-4. Check reference image quality
-5. Use at least 15 steps, preferably 30+
-
-#### Matanyone Tool Issues
-**Problem**: Mask creation difficulties
-**Solutions**:
-1. Use negative point prompts to refine selection
-2. Create multiple sub-masks and combine them
-3. Try different background removal options
-4. Ensure sufficient contrast in source video
-
-## Network and Server Issues
-
-### Gradio Interface Problems
-
-#### Port Already in Use
-**Problem**: "Port 7860 is already in use"
-**Solution**:
-```bash
-# Use different port
-python wgp.py --server-port 7861
-
-# Or kill existing process
-# Windows
-netstat -ano | findstr :7860
-taskkill /PID /F
-
-# Linux
-lsof -i :7860
-kill
-```
-
-#### Interface Not Loading
-**Problem**: Browser shows "connection refused"
-**Solutions**:
-1. Check if server started successfully
-2. Try `http://127.0.0.1:7860` instead of `localhost:7860`
-3. Disable firewall temporarily
-4. Use `--listen` flag for network access
-
-### Remote Access Issues
-
-#### Sharing Not Working
-**Problem**: `--share` flag doesn't create public URL
-**Solutions**:
-1. Check internet connection
-2. Try different network
-3. Use `--listen` with port forwarding
-4. Check firewall settings
-
-## Quality Issues
-
-### Poor Video Quality
-
-#### General Quality Improvements
-1. Increase number of steps (25-30+)
-2. Use larger models (14B instead of 1.3B)
-3. Enable Skip Layer Guidance
-4. Improve prompt descriptions
-5. Use higher resolution settings
-
-#### Specific Quality Issues
-
-**Blurry Videos**:
-- Increase steps
-- Check source image quality (i2v)
-- Reduce TeaCache multiplier
-- Use higher guidance scale
-
-**Inconsistent Motion**:
-- Use longer overlap in sliding windows
-- Reduce window size
-- Improve prompt consistency
-- Check control video quality (VACE)
-
-**Color Issues**:
-- Check model compatibility
-- Adjust guidance scale
-- Verify input image color space
-- Try different VAE settings
-
-## Advanced Debugging
-
-### Enable Verbose Output
-```bash
-# Maximum verbosity
-python wgp.py --verbose 2
-
-# Check lora compatibility
-python wgp.py --check-loras --verbose 2
-```
-
-### Memory Debugging
-```bash
-# Monitor GPU memory
-nvidia-smi -l 1
-
-# Reduce memory usage
-python wgp.py --profile 4 --perc-reserved-mem-max 0.2
-```
-
-### Performance Profiling
-```bash
-# Test different configurations
-python wgp.py --attention sdpa --profile 4 # Baseline
-python wgp.py --attention sage --profile 3 # Performance
-python wgp.py --compile --teacache 2.0 # Maximum speed
-```
-
-## Getting Help
-
-### Before Asking for Help
-1. Check this troubleshooting guide
-2. Read the relevant documentation:
- - [Installation Guide](INSTALLATION.md)
- - [Getting Started](GETTING_STARTED.md)
- - [Command Line Reference](CLI.md)
-3. Try basic fallback configuration:
- ```bash
- python wgp.py --attention sdpa --profile 4
- ```
-
-### Community Support
-- **Discord Server**: https://discord.gg/g7efUW9jGV
-- Provide relevant information:
- - GPU model and VRAM amount
- - Python and PyTorch versions
- - Complete error messages
- - Command used to launch WanGP
- - Operating system
-
-### Reporting Bugs
-When reporting issues:
-1. Include system specifications
-2. Provide complete error logs
-3. List the exact steps to reproduce
-4. Mention any modifications to default settings
-5. Include command line arguments used
-
-## Emergency Fallback
-
-If nothing works, try this minimal configuration:
-```bash
-# Absolute minimum setup
-python wgp.py --t2v-1-3B --attention sdpa --profile 4 --teacache 0 --fp16
-
-# If that fails, check basic PyTorch installation
-python -c "import torch; print(torch.cuda.is_available())"
+# Troubleshooting Guide
+
+This guide covers common issues and their solutions when using WanGP.
+
+## Installation Issues
+
+### PyTorch Installation Problems
+
+#### CUDA Version Mismatch
+**Problem**: PyTorch can't detect GPU or CUDA errors
+**Solution**:
+```bash
+# Check your CUDA version
+nvidia-smi
+
+# Install matching PyTorch version
+# For CUDA 12.4 (RTX 10XX-40XX)
+pip install torch==2.6.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu124
+
+# For CUDA 12.8 (RTX 50XX)
+pip install torch==2.7.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/test/cu128
+```
+
+#### Python Version Issues
+**Problem**: Package compatibility errors
+**Solution**: Ensure you're using Python 3.10.9
+```bash
+python --version # Should show 3.10.9
+conda create -n wan2gp python=3.10.9
+```
+
+### Dependency Installation Failures
+
+#### Triton Installation (Windows)
+**Problem**: `pip install triton-windows` fails
+**Solution**:
+1. Update pip: `pip install --upgrade pip`
+2. Try pre-compiled wheel
+3. Fallback to SDPA attention: `python wgp.py --attention sdpa`
+
+#### SageAttention Compilation Issues
+**Problem**: SageAttention installation fails
+**Solution**:
+1. Install Visual Studio Build Tools (Windows)
+2. Use pre-compiled wheels when available
+3. Fallback to basic attention modes
+
+## Memory Issues
+
+### CUDA Out of Memory
+
+#### During Model Loading
+**Problem**: "CUDA out of memory" when loading model
+**Solutions**:
+```bash
+# Use smaller model
+python wgp.py --t2v-1-3B
+
+# Enable quantization (usually default)
+python wgp.py --quantize-transformer True
+
+# Use memory-efficient profile
+python wgp.py --profile 4
+
+# Reduce preloaded model size
+python wgp.py --preload 0
+```
+
+#### During Video Generation
+**Problem**: Memory error during generation
+**Solutions**:
+1. Reduce frame count (shorter videos)
+2. Lower resolution in advanced settings
+3. Use lower batch size
+4. Clear GPU cache between generations
+
+### System RAM Issues
+
+#### High RAM Usage
+**Problem**: System runs out of RAM
+**Solutions**:
+```bash
+# Limit reserved memory
+python wgp.py --perc-reserved-mem-max 0.3
+
+# Use minimal RAM profile
+python wgp.py --profile 5
+
+# Enable swap file (OS level)
+```
+
+## Performance Issues
+
+### Slow Generation Speed
+
+#### General Optimization
+```bash
+# Enable compilation (requires Triton)
+python wgp.py --compile
+
+# Use faster attention
+python wgp.py --attention sage2
+
+# Enable TeaCache
+python wgp.py --teacache 2.0
+
+# Use high-performance profile
+python wgp.py --profile 3
+```
+
+#### GPU-Specific Optimizations
+
+**RTX 10XX/20XX Series**:
+```bash
+python wgp.py --attention sdpa --profile 4 --teacache 1.5
+```
+
+**RTX 30XX/40XX Series**:
+```bash
+python wgp.py --compile --attention sage --profile 3 --teacache 2.0
+```
+
+**RTX 50XX Series**:
+```bash
+python wgp.py --attention sage --profile 4 --fp16
+```
+
+### Attention Mechanism Issues
+
+#### Sage Attention Not Working
+**Problem**: Sage attention fails to compile or work
+**Diagnostic Steps**:
+1. Check Triton installation:
+ ```python
+ import triton
+ print(triton.__version__)
+ ```
+2. Clear Triton cache:
+ ```bash
+ # Windows
+ rmdir /s %USERPROFILE%\.triton
+ # Linux
+ rm -rf ~/.triton
+ ```
+3. Fallback solution:
+ ```bash
+ python wgp.py --attention sdpa
+ ```
+
+#### Flash Attention Issues
+**Problem**: Flash attention compilation fails
+**Solution**:
+- Windows: Often requires manual CUDA kernel compilation
+- Linux: Usually works with `pip install flash-attn`
+- Fallback: Use Sage or SDPA attention
+
+## Model-Specific Issues
+
+### Lora Problems
+
+#### Loras Not Loading
+**Problem**: Loras don't appear in the interface
+**Solutions**:
+1. Check file format (should be .safetensors, .pt, or .pth)
+2. Verify correct directory:
+ ```
+ loras/ # For t2v models
+ loras_i2v/ # For i2v models
+ loras_hunyuan/ # For Hunyuan models
+ ```
+3. Click "Refresh" button in interface
+4. Use `--check-loras` to filter incompatible files
+
+#### Lora Compatibility Issues
+**Problem**: Lora causes errors or poor results
+**Solutions**:
+1. Check model size compatibility (1.3B vs 14B)
+2. Verify lora was trained for your model type
+3. Try different multiplier values
+4. Use `--check-loras` flag to auto-filter
+
+### VACE-Specific Issues
+
+#### Poor VACE Results
+**Problem**: VACE generates poor quality or unexpected results
+**Solutions**:
+1. Enable Skip Layer Guidance
+2. Use detailed prompts describing all elements
+3. Ensure proper mask creation with Matanyone
+4. Check reference image quality
+5. Use at least 15 steps, preferably 30+
+
+#### Matanyone Tool Issues
+**Problem**: Mask creation difficulties
+**Solutions**:
+1. Use negative point prompts to refine selection
+2. Create multiple sub-masks and combine them
+3. Try different background removal options
+4. Ensure sufficient contrast in source video
+
+## Network and Server Issues
+
+### Gradio Interface Problems
+
+#### Port Already in Use
+**Problem**: "Port 7860 is already in use"
+**Solution**:
+```bash
+# Use different port
+python wgp.py --server-port 7861
+
+# Or kill existing process
+# Windows
+netstat -ano | findstr :7860
+taskkill /PID /F
+
+# Linux
+lsof -i :7860
+kill
+```
+
+#### Interface Not Loading
+**Problem**: Browser shows "connection refused"
+**Solutions**:
+1. Check if server started successfully
+2. Try `http://127.0.0.1:7860` instead of `localhost:7860`
+3. Disable firewall temporarily
+4. Use `--listen` flag for network access
+
+### Remote Access Issues
+
+#### Sharing Not Working
+**Problem**: `--share` flag doesn't create public URL
+**Solutions**:
+1. Check internet connection
+2. Try different network
+3. Use `--listen` with port forwarding
+4. Check firewall settings
+
+## Quality Issues
+
+### Poor Video Quality
+
+#### General Quality Improvements
+1. Increase number of steps (25-30+)
+2. Use larger models (14B instead of 1.3B)
+3. Enable Skip Layer Guidance
+4. Improve prompt descriptions
+5. Use higher resolution settings
+
+#### Specific Quality Issues
+
+**Blurry Videos**:
+- Increase steps
+- Check source image quality (i2v)
+- Reduce TeaCache multiplier
+- Use higher guidance scale
+
+**Inconsistent Motion**:
+- Use longer overlap in sliding windows
+- Reduce window size
+- Improve prompt consistency
+- Check control video quality (VACE)
+
+**Color Issues**:
+- Check model compatibility
+- Adjust guidance scale
+- Verify input image color space
+- Try different VAE settings
+
+## Advanced Debugging
+
+### Enable Verbose Output
+```bash
+# Maximum verbosity
+python wgp.py --verbose 2
+
+# Check lora compatibility
+python wgp.py --check-loras --verbose 2
+```
+
+### Memory Debugging
+```bash
+# Monitor GPU memory
+nvidia-smi -l 1
+
+# Reduce memory usage
+python wgp.py --profile 4 --perc-reserved-mem-max 0.2
+```
+
+### Performance Profiling
+```bash
+# Test different configurations
+python wgp.py --attention sdpa --profile 4 # Baseline
+python wgp.py --attention sage --profile 3 # Performance
+python wgp.py --compile --teacache 2.0 # Maximum speed
+```
+
+## Getting Help
+
+### Before Asking for Help
+1. Check this troubleshooting guide
+2. Read the relevant documentation:
+ - [Installation Guide](INSTALLATION.md)
+ - [Getting Started](GETTING_STARTED.md)
+ - [Command Line Reference](CLI.md)
+3. Try basic fallback configuration:
+ ```bash
+ python wgp.py --attention sdpa --profile 4
+ ```
+
+### Community Support
+- **Discord Server**: https://discord.gg/g7efUW9jGV
+- Provide relevant information:
+ - GPU model and VRAM amount
+ - Python and PyTorch versions
+ - Complete error messages
+ - Command used to launch WanGP
+ - Operating system
+
+### Reporting Bugs
+When reporting issues:
+1. Include system specifications
+2. Provide complete error logs
+3. List the exact steps to reproduce
+4. Mention any modifications to default settings
+5. Include command line arguments used
+
+## Emergency Fallback
+
+If nothing works, try this minimal configuration:
+```bash
+# Absolute minimum setup
+python wgp.py --t2v-1-3B --attention sdpa --profile 4 --teacache 0 --fp16
+
+# If that fails, check basic PyTorch installation
+python -c "import torch; print(torch.cuda.is_available())"
```
\ No newline at end of file
diff --git a/docs/VACE.md b/docs/VACE.md
index c0e1a6926..cf0dbbf7a 100644
--- a/docs/VACE.md
+++ b/docs/VACE.md
@@ -1,214 +1,214 @@
-# VACE ControlNet Guide
-
-VACE is a powerful ControlNet that enables Video-to-Video and Reference-to-Video generation. It allows you to inject your own images into output videos, animate characters, perform inpainting/outpainting, and continue existing videos.
-
-## Overview
-
-VACE is probably one of the most powerful Wan models available. With it, you can:
-- Inject people or objects into scenes
-- Animate characters
-- Perform video inpainting and outpainting
-- Continue existing videos
-- Transfer motion from one video to another
-- Change the style of scenes while preserving the structure of the scenes
-
-
-## Getting Started
-
-### Model Selection
-1. Select either "Vace 1.3B" or "Vace 13B" from the dropdown menu
-2. Note: VACE works best with videos up to 7 seconds with the Riflex option enabled
-
-You can also use any derived Vace models such as Vace Fusionix or combine Vace with Loras accelerator such as Causvid.
-
-### Input Types
-
-#### 1. Control Video
-The Control Video is the source material that contains the instructions about what you want. So Vace expects in the Control Video some visual hints about the type of processing expected: for instance replacing an area by something else, converting an Open Pose wireframe into a human motion, colorizing an Area, transferring the depth of an image area, ...
-
-For example, anywhere your control video contains the color 127 (grey), it will be considered as an area to be inpainting and replaced by the content of your text prompt and / or a reference image (see below). Likewise if the frames of a Control Video contains an Open Pose wireframe (basically some straight lines tied together that describes the pose of a person), Vace will automatically turn this Open Pose into a real human based on the text prompt and any reference Images (see below).
-
-You can either build yourself the Control Video with the annotators tools provided by the Vace team (see the Vace ressources at the bottom) or you can let WanGP (recommended option) generates on the fly a Vace formatted Control Video based on information you provide.
-
-WanGP wil need the following information to generate a Vace Control Video:
-- A *Control Video* : this video shouldn't have been altered by an annotator tool and can be taken straight from youtube or your camera
-- *Control Video Process* : This is the type of process you want to apply on the control video. For instance *Transfer Human Motion* will generate the Open Pose information from your video so that you can transfer this same motion to a generated character. If you want to do only *Spatial Outpainting* or *Temporal Inpainting / Outpainting* you may want to choose the *Keep Unchanged* process.
-- *Area Processed* : you can target the processing to a specific area. For instance even if there are multiple people in the Control Video you may want to replace only one them. If you decide to target an area you will need to provide a *Video Mask* as well. These types of videos can be easily created using the Matanyone tool embedded with WanGP (see the doc of Matanyone below). WanGP can apply different types of process, one the mask and another one on the outside the mask.
-
-Another nice thing is that you can combine all effects above with Outpainting since WanGP will create automatically an outpainting area in the Control Video if you ask for this.
-
-By default WanGP will ask Vace to generate new frames in the "same spirit" of the control video if the latter is shorter than the number frames that you have requested.
-
-Be aware that the Control Video and Video Mask will be before anything happens resampled to the number of frames per second of Vace (usually 16) and resized to the output size you have requested.
-#### 2. Reference Images
-With Reference Images you can inject people or objects of your choice in the Video.
-You can also force Images to appear at a specific frame nos in the Video.
-
-If the Reference Image is a person or an object, it is recommended to turn on the background remover that will replace the background by the white color.
-This is not needed for a background image or an injected frame at a specific position.
-
-It is recommended to describe injected objects/people explicitly in your text prompt so that Vace can connect the Reference Images to the new generated video and this will increase the chance that you will find your injected people or objects.
-
-
-### Understanding Vace Control Video and Mask format
-As stated above WanGP will adapt the Control Video and the Video Mask to meet your instructions. You can preview the first frames of the new Control Video and of the Video Mask in the Generation Preview box (just click a thumbnail) to check that your request has been properly interpreted. You can as well ask WanGP to save in the main folder of WanGP the full generated Control Video and Video Mask by launching the app with the *--save-masks* command.
-
-Look at the background colors of both the Control Video and the Video Mask:
-The Mask Video is the most important because depending on the color of its pixels, the Control Video will be interpreted differently. If an area in the Mask is black, the corresponding Control Video area will be kept as is. On the contrary if an area of the Mask is plain white, a Vace process will be applied on this area. If there isn't any Mask Video the Vace process will apply on the whole video frames. The nature of the process itself will depend on what there is in the Control Video for this area.
-- if the area is grey (127) in the Control Video, this area will be replaced by new content based on the text prompt or image references
-- if an area represents a person in the wireframe Open Pose format, it will be replaced by a person animated with motion described by the Open Pose.The appearance of the person will depend on the text prompt or image references
-- if an area contains multiples shades of grey, these will be assumed to represent different levels of image depth and Vace will try to generate new content located at the same depth
-
-There are more Vace representations. For all the different mapping please refer the official Vace documentation.
-
-### Other Processing
-Most of the processing below and the ones related to Control Video can be combined together.
-- **Temporal Outpainting**\
-Temporal Outpainting requires an existing *Source Video* or *Control Video* and it amounts to adding missing frames. It is implicit if you use a Source Video that you want to continue (new frames will be added at the end of this Video) or if you provide a Control Video that contains fewer frames than the number that you have requested to generate.
-
-- **Temporal Inpainting**\
-With temporal inpainting you are asking Vace to generate missing frames that should exist between existing frames. There are two ways to do that:
- - *Injected Reference Images* : Each Image is injected a position of your choice and Vace will fill the gaps between these frames
- - *Frames to keep in Control Video* : If using a Control Video, you can ask WanGP to hide some of these frames to let Vace generate "alternate frames" for these parts of the Control Video.
-
-- **Spatial Outpainting**\
-This feature creates new content to the top, bottom, left or right of existing frames of a Control Video. You can set the amount of content for each direction by specifying a percentage of extra content in relation to the existing frame. Please note that the resulting video will target the resolution you specified. So if this Resolution corresponds to that of your Control Video you may lose details. Therefore it may be relevant to pick a higher resolution with Spatial Outpainting.\
-There are two ways to do Spatial Outpainting:
- - *Injected Reference Frames* : new content will be added around Injected Frames
- - *Control Video* : new content will be added on all the frames of the whole Control Video
-
-
-### Example 1 : Replace a Person in one video by another one by keeping the Background
-1) In Vace, select *Control Video Process*=**Transfer human pose**, *Area processed*=**Masked area**
-2) In *Matanyone Video Mask Creator*, load your source video and create a mask where you targetted a specific person
-3) Click *Export to Control Video Input and Video Mask Input* to transfer both the original video that now becomes the *Control Video* and the black & white mask that now defines the *Video Mask Area*
-4) Back in Vace, in *Reference Image* select **Inject Landscapes / People / Objects** and upload one or several pictures of the new person
-5) Generate
-
-This works also with several people at the same time (you just need to mask several people in *Matanyone*), you can also play with the slider *Expand / Shrink Mask* if the new person is larger than the original one and of course, you can also use the text *Prompt* if you dont want to use an image for the swap.
-
-
-### Example 2 : Change the Background behind some characters
-1) In Vace, select *Control Video Process*=**Inpainting**, *Area processed*=**Non Masked area**
-2) In *Matanyone Video Mask Creator*, load your source video and create a mask where you targetted the people you want to keep
-3) Click *Export to Control Video Input and Video Mask Input* to transfer both the original video that now becomes the *Control Video* and the black & white mask that now defines the *Video Mask Area*
-4) Generate
-
-If instead *Control Video Process*=**Depth**, then the background although it will be still different it will have a similar geometry than in the control video
-
-### Example 3 : Outpaint a Video to the Left and Inject a Character in this new area
-1) In Vace, select *Control Video Process*=**Keep Unchanged**
-2) *Control Video Outpainting in Percentage* enter the value 40 to the *Left* entry
-3) In *Reference Image* select **Inject Landscapes / People / Objects** and upload one or several pictures of a person
-4) Enter the *Prompt* such as "a person is coming from the left" (you will need of course a more accurate description)
-5) Generate
-
-
-
-### Creating Face / Object Replacement Masks
-Matanyone is a tool that will generate the Video Mask that needs to be combined with the Control Video. It is very useful as you just need to indicate in the first frame the area you want to mask and it will compute masked areas for the following frames by taking into account the motion.
-1. Load your video in Matanyone
-2. Click on the face or object in the first frame
-3. Validate the mask by clicking **Set Mask**
-4. Generate a copy of the control video (for easy transfers) and a new mask video by clicking "Generate Video Matting"
-5. Export to VACE with *Export to Control Video Input and Video Mask Input*
-
-### Advanced Matanyone Tips
-- **Negative Point Prompts**: Remove parts from current selection if the mask goes beyond the desired area
-- **Sub Masks**: Create multiple independent masks, then combine them. This may be useful if you are struggling to select exactly what you want.
-
-
-
-## Window Sliding for Long Videos
-Generate videos up to 1 minute by merging multiple windows:
-The longer the video the greater the quality degradation. However the effect will be less visible if your generated video reuses mostly non altered control video.
-
-When this feature is enabled it is important to keep in mind that every positional argument of Vace (frames positions of *Injected Reference Frames*, *Frames to keep in Control Video*) are related to the first frame of the first Window. This is convenient as changing the size of a sliding window won't have any impact and this allows you define in advance the inject frames for all the windows.
-
-Likewise, if you use *Continue Video File* by providing a *Source Video*, this Source Video will be considered as the first window and the positional arguments will be calculated in relation to the first frame of this Source Video. Also the *overlap window size* parameter will correspond to the number of frames used of the Source Video that is temporally outpainted to produce new content.
-
-### How It Works
-- Each window uses the corresponding time segment of the Control Video
-- Example: 0-4s control video → first window, 4-8s → second window, etc.
-- Automatic overlap management ensures smooth transitions
-
-
-### Formula
-This formula gives the number of Generated Frames for a specific number of Sliding Windows :
-```
-Generated Frames = [Nb Windows - 1] × [Window Size - Overlap - Discard] + Window Size
-```
-
-### Multi-Line Prompts (Experimental)
-If you enable *Text Prompts separated by a Carriage Return will be used for a new Sliding Window*, you can define in advance a different prompt for each window.:
-- Each prompt is separated by a Carriage Return
-- Each line of prompt will be used for a different window
-- If more windows than prompt lines, last line repeats
-
-## Recommended Settings
-
-### Quality Settings
-- **Skip Layer Guidance**: Turn ON with default configuration for better results (useless with FusioniX of Causvid are there is no cfg)
-- **Long Prompts**: Use detailed descriptions, especially for background elements not in reference images
-- **Steps**: Use at least 15 steps for good quality, 30+ for best results if you use the original Vace model. But only 8-10 steps are sufficient with Vace Funsionix or if you use Loras such as Causvid or Self-Forcing.
-
-### Sliding Window Settings
-For very long videos, configure sliding windows properly:
-
-- **Window Size**: Set appropriate duration for your content
-- **Overlap Frames**: Long enough for motion continuity, short enough to avoid blur propagation
-- **Discard Last Frames**: Remove at least 4 frames from each window (VACE 1.3B tends to blur final frames)
-- **Add Overlapped Noise**: May or may not reduce quality degradation over time
-
-### Background Removal
-WanGP includes automatic background removal options:
-- Use for reference images containing people/objects
-- **Don't use** this for landscape/setting reference images (the first reference image)
-- If you are not happy with the automatic background removal tool you can use the Image version of Matanyone for a precise background removal
-
-## External Resources
-
-### Official VACE Resources
-- **GitHub**: https://github.com/ali-vilab/VACE/tree/main/vace/gradios
-- **User Guide**: https://github.com/ali-vilab/VACE/blob/main/UserGuide.md
-- **Preprocessors**: Gradio tools for preparing materials
-
-### Recommended External Tools
-- **Annotation Tools**: For creating precise masks
-- **Video Editors**: For preparing control videos
-- **Background Removal**: For cleaning reference images
-
-## Troubleshooting
-
-### Poor Quality Results
-1. Use longer, more detailed prompts
-2. Enable Skip Layer Guidance
-3. Increase number of steps (30+)
-4. Check reference image quality
-5. Ensure proper mask creation
-
-### Inconsistent Windows
-1. Increase overlap frames
-2. Use consistent prompting across windows
-3. Add noise to overlapped frames
-4. Reduce discard frames if losing too much content
-
-### Memory Issues
-1. Use VACE 1.3B instead of 13B
-2. Reduce video length or resolution
-3. Decrease window size
-4. Enable quantization
-
-### Blurry Results
-1. Reduce overlap frames
-2. Increase discard last frames
-3. Use higher resolution reference images
-4. Check control video quality
-
-## Tips for Best Results
-1. **Detailed Prompts**: Describe everything in the scene, especially elements not in reference images
-2. **Quality Reference Images**: Use high-resolution, well-lit reference images
-3. **Proper Masking**: Take time to create precise masks with Matanyone
-4. **Iterative Approach**: Start with short videos, then extend successful results
-5. **Background Preparation**: Remove complex backgrounds from object/person reference images
+# VACE ControlNet Guide
+
+VACE is a powerful ControlNet that enables Video-to-Video and Reference-to-Video generation. It allows you to inject your own images into output videos, animate characters, perform inpainting/outpainting, and continue existing videos.
+
+## Overview
+
+VACE is probably one of the most powerful Wan models available. With it, you can:
+- Inject people or objects into scenes
+- Animate characters
+- Perform video inpainting and outpainting
+- Continue existing videos
+- Transfer motion from one video to another
+- Change the style of scenes while preserving the structure of the scenes
+
+
+## Getting Started
+
+### Model Selection
+1. Select either "Vace 1.3B" or "Vace 13B" from the dropdown menu
+2. Note: VACE works best with videos up to 7 seconds with the Riflex option enabled
+
+You can also use any derived Vace models such as Vace Fusionix or combine Vace with Loras accelerator such as Causvid.
+
+### Input Types
+
+#### 1. Control Video
+The Control Video is the source material that contains the instructions about what you want. So Vace expects in the Control Video some visual hints about the type of processing expected: for instance replacing an area by something else, converting an Open Pose wireframe into a human motion, colorizing an Area, transferring the depth of an image area, ...
+
+For example, anywhere your control video contains the color 127 (grey), it will be considered as an area to be inpainting and replaced by the content of your text prompt and / or a reference image (see below). Likewise if the frames of a Control Video contains an Open Pose wireframe (basically some straight lines tied together that describes the pose of a person), Vace will automatically turn this Open Pose into a real human based on the text prompt and any reference Images (see below).
+
+You can either build yourself the Control Video with the annotators tools provided by the Vace team (see the Vace ressources at the bottom) or you can let WanGP (recommended option) generates on the fly a Vace formatted Control Video based on information you provide.
+
+WanGP wil need the following information to generate a Vace Control Video:
+- A *Control Video* : this video shouldn't have been altered by an annotator tool and can be taken straight from youtube or your camera
+- *Control Video Process* : This is the type of process you want to apply on the control video. For instance *Transfer Human Motion* will generate the Open Pose information from your video so that you can transfer this same motion to a generated character. If you want to do only *Spatial Outpainting* or *Temporal Inpainting / Outpainting* you may want to choose the *Keep Unchanged* process.
+- *Area Processed* : you can target the processing to a specific area. For instance even if there are multiple people in the Control Video you may want to replace only one them. If you decide to target an area you will need to provide a *Video Mask* as well. These types of videos can be easily created using the Matanyone tool embedded with WanGP (see the doc of Matanyone below). WanGP can apply different types of process, one the mask and another one on the outside the mask.
+
+Another nice thing is that you can combine all effects above with Outpainting since WanGP will create automatically an outpainting area in the Control Video if you ask for this.
+
+By default WanGP will ask Vace to generate new frames in the "same spirit" of the control video if the latter is shorter than the number frames that you have requested.
+
+Be aware that the Control Video and Video Mask will be before anything happens resampled to the number of frames per second of Vace (usually 16) and resized to the output size you have requested.
+#### 2. Reference Images
+With Reference Images you can inject people or objects of your choice in the Video.
+You can also force Images to appear at a specific frame nos in the Video.
+
+If the Reference Image is a person or an object, it is recommended to turn on the background remover that will replace the background by the white color.
+This is not needed for a background image or an injected frame at a specific position.
+
+It is recommended to describe injected objects/people explicitly in your text prompt so that Vace can connect the Reference Images to the new generated video and this will increase the chance that you will find your injected people or objects.
+
+
+### Understanding Vace Control Video and Mask format
+As stated above WanGP will adapt the Control Video and the Video Mask to meet your instructions. You can preview the first frames of the new Control Video and of the Video Mask in the Generation Preview box (just click a thumbnail) to check that your request has been properly interpreted. You can as well ask WanGP to save in the main folder of WanGP the full generated Control Video and Video Mask by launching the app with the *--save-masks* command.
+
+Look at the background colors of both the Control Video and the Video Mask:
+The Mask Video is the most important because depending on the color of its pixels, the Control Video will be interpreted differently. If an area in the Mask is black, the corresponding Control Video area will be kept as is. On the contrary if an area of the Mask is plain white, a Vace process will be applied on this area. If there isn't any Mask Video the Vace process will apply on the whole video frames. The nature of the process itself will depend on what there is in the Control Video for this area.
+- if the area is grey (127) in the Control Video, this area will be replaced by new content based on the text prompt or image references
+- if an area represents a person in the wireframe Open Pose format, it will be replaced by a person animated with motion described by the Open Pose.The appearance of the person will depend on the text prompt or image references
+- if an area contains multiples shades of grey, these will be assumed to represent different levels of image depth and Vace will try to generate new content located at the same depth
+
+There are more Vace representations. For all the different mapping please refer the official Vace documentation.
+
+### Other Processing
+Most of the processing below and the ones related to Control Video can be combined together.
+- **Temporal Outpainting**\
+Temporal Outpainting requires an existing *Source Video* or *Control Video* and it amounts to adding missing frames. It is implicit if you use a Source Video that you want to continue (new frames will be added at the end of this Video) or if you provide a Control Video that contains fewer frames than the number that you have requested to generate.
+
+- **Temporal Inpainting**\
+With temporal inpainting you are asking Vace to generate missing frames that should exist between existing frames. There are two ways to do that:
+ - *Injected Reference Images* : Each Image is injected a position of your choice and Vace will fill the gaps between these frames
+ - *Frames to keep in Control Video* : If using a Control Video, you can ask WanGP to hide some of these frames to let Vace generate "alternate frames" for these parts of the Control Video.
+
+- **Spatial Outpainting**\
+This feature creates new content to the top, bottom, left or right of existing frames of a Control Video. You can set the amount of content for each direction by specifying a percentage of extra content in relation to the existing frame. Please note that the resulting video will target the resolution you specified. So if this Resolution corresponds to that of your Control Video you may lose details. Therefore it may be relevant to pick a higher resolution with Spatial Outpainting.\
+There are two ways to do Spatial Outpainting:
+ - *Injected Reference Frames* : new content will be added around Injected Frames
+ - *Control Video* : new content will be added on all the frames of the whole Control Video
+
+
+### Example 1 : Replace a Person in one video by another one by keeping the Background
+1) In Vace, select *Control Video Process*=**Transfer human pose**, *Area processed*=**Masked area**
+2) In *Matanyone Video Mask Creator*, load your source video and create a mask where you targetted a specific person
+3) Click *Export to Control Video Input and Video Mask Input* to transfer both the original video that now becomes the *Control Video* and the black & white mask that now defines the *Video Mask Area*
+4) Back in Vace, in *Reference Image* select **Inject Landscapes / People / Objects** and upload one or several pictures of the new person
+5) Generate
+
+This works also with several people at the same time (you just need to mask several people in *Matanyone*), you can also play with the slider *Expand / Shrink Mask* if the new person is larger than the original one and of course, you can also use the text *Prompt* if you dont want to use an image for the swap.
+
+
+### Example 2 : Change the Background behind some characters
+1) In Vace, select *Control Video Process*=**Inpainting**, *Area processed*=**Non Masked area**
+2) In *Matanyone Video Mask Creator*, load your source video and create a mask where you targetted the people you want to keep
+3) Click *Export to Control Video Input and Video Mask Input* to transfer both the original video that now becomes the *Control Video* and the black & white mask that now defines the *Video Mask Area*
+4) Generate
+
+If instead *Control Video Process*=**Depth**, then the background although it will be still different it will have a similar geometry than in the control video
+
+### Example 3 : Outpaint a Video to the Left and Inject a Character in this new area
+1) In Vace, select *Control Video Process*=**Keep Unchanged**
+2) *Control Video Outpainting in Percentage* enter the value 40 to the *Left* entry
+3) In *Reference Image* select **Inject Landscapes / People / Objects** and upload one or several pictures of a person
+4) Enter the *Prompt* such as "a person is coming from the left" (you will need of course a more accurate description)
+5) Generate
+
+
+
+### Creating Face / Object Replacement Masks
+Matanyone is a tool that will generate the Video Mask that needs to be combined with the Control Video. It is very useful as you just need to indicate in the first frame the area you want to mask and it will compute masked areas for the following frames by taking into account the motion.
+1. Load your video in Matanyone
+2. Click on the face or object in the first frame
+3. Validate the mask by clicking **Set Mask**
+4. Generate a copy of the control video (for easy transfers) and a new mask video by clicking "Generate Video Matting"
+5. Export to VACE with *Export to Control Video Input and Video Mask Input*
+
+### Advanced Matanyone Tips
+- **Negative Point Prompts**: Remove parts from current selection if the mask goes beyond the desired area
+- **Sub Masks**: Create multiple independent masks, then combine them. This may be useful if you are struggling to select exactly what you want.
+
+
+
+## Window Sliding for Long Videos
+Generate videos up to 1 minute by merging multiple windows:
+The longer the video the greater the quality degradation. However the effect will be less visible if your generated video reuses mostly non altered control video.
+
+When this feature is enabled it is important to keep in mind that every positional argument of Vace (frames positions of *Injected Reference Frames*, *Frames to keep in Control Video*) are related to the first frame of the first Window. This is convenient as changing the size of a sliding window won't have any impact and this allows you define in advance the inject frames for all the windows.
+
+Likewise, if you use *Continue Video File* by providing a *Source Video*, this Source Video will be considered as the first window and the positional arguments will be calculated in relation to the first frame of this Source Video. Also the *overlap window size* parameter will correspond to the number of frames used of the Source Video that is temporally outpainted to produce new content.
+
+### How It Works
+- Each window uses the corresponding time segment of the Control Video
+- Example: 0-4s control video → first window, 4-8s → second window, etc.
+- Automatic overlap management ensures smooth transitions
+
+
+### Formula
+This formula gives the number of Generated Frames for a specific number of Sliding Windows :
+```
+Generated Frames = [Nb Windows - 1] × [Window Size - Overlap - Discard] + Window Size
+```
+
+### Multi-Line Prompts (Experimental)
+If you enable *Text Prompts separated by a Carriage Return will be used for a new Sliding Window*, you can define in advance a different prompt for each window.:
+- Each prompt is separated by a Carriage Return
+- Each line of prompt will be used for a different window
+- If more windows than prompt lines, last line repeats
+
+## Recommended Settings
+
+### Quality Settings
+- **Skip Layer Guidance**: Turn ON with default configuration for better results (useless with FusioniX of Causvid are there is no cfg)
+- **Long Prompts**: Use detailed descriptions, especially for background elements not in reference images
+- **Steps**: Use at least 15 steps for good quality, 30+ for best results if you use the original Vace model. But only 8-10 steps are sufficient with Vace Funsionix or if you use Loras such as Causvid or Self-Forcing.
+
+### Sliding Window Settings
+For very long videos, configure sliding windows properly:
+
+- **Window Size**: Set appropriate duration for your content
+- **Overlap Frames**: Long enough for motion continuity, short enough to avoid blur propagation
+- **Discard Last Frames**: Remove at least 4 frames from each window (VACE 1.3B tends to blur final frames)
+- **Add Overlapped Noise**: May or may not reduce quality degradation over time
+
+### Background Removal
+WanGP includes automatic background removal options:
+- Use for reference images containing people/objects
+- **Don't use** this for landscape/setting reference images (the first reference image)
+- If you are not happy with the automatic background removal tool you can use the Image version of Matanyone for a precise background removal
+
+## External Resources
+
+### Official VACE Resources
+- **GitHub**: https://github.com/ali-vilab/VACE/tree/main/vace/gradios
+- **User Guide**: https://github.com/ali-vilab/VACE/blob/main/UserGuide.md
+- **Preprocessors**: Gradio tools for preparing materials
+
+### Recommended External Tools
+- **Annotation Tools**: For creating precise masks
+- **Video Editors**: For preparing control videos
+- **Background Removal**: For cleaning reference images
+
+## Troubleshooting
+
+### Poor Quality Results
+1. Use longer, more detailed prompts
+2. Enable Skip Layer Guidance
+3. Increase number of steps (30+)
+4. Check reference image quality
+5. Ensure proper mask creation
+
+### Inconsistent Windows
+1. Increase overlap frames
+2. Use consistent prompting across windows
+3. Add noise to overlapped frames
+4. Reduce discard frames if losing too much content
+
+### Memory Issues
+1. Use VACE 1.3B instead of 13B
+2. Reduce video length or resolution
+3. Decrease window size
+4. Enable quantization
+
+### Blurry Results
+1. Reduce overlap frames
+2. Increase discard last frames
+3. Use higher resolution reference images
+4. Check control video quality
+
+## Tips for Best Results
+1. **Detailed Prompts**: Describe everything in the scene, especially elements not in reference images
+2. **Quality Reference Images**: Use high-resolution, well-lit reference images
+3. **Proper Masking**: Take time to create precise masks with Matanyone
+4. **Iterative Approach**: Start with short videos, then extend successful results
+5. **Background Preparation**: Remove complex backgrounds from object/person reference images
6. **Consistent Lighting**: Match lighting between reference images and intended scene
\ No newline at end of file
diff --git a/entrypoint.sh b/entrypoint.sh
index 9af052d07..68efd29e0 100755
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -1,118 +1,118 @@
-#!/usr/bin/env bash
-export HOME=/home/user
-export PYTHONUNBUFFERED=1
-export HF_HOME=/home/user/.cache/huggingface
-
-export OMP_NUM_THREADS=$(nproc)
-export MKL_NUM_THREADS=$(nproc)
-export OPENBLAS_NUM_THREADS=$(nproc)
-export NUMEXPR_NUM_THREADS=$(nproc)
-
-export TORCH_ALLOW_TF32_CUBLAS=1
-export TORCH_ALLOW_TF32_CUDNN=1
-
-# Disable audio warnings in Docker
-export SDL_AUDIODRIVER=dummy
-export PULSE_RUNTIME_PATH=/tmp/pulse-runtime
-
-# ═══════════════════════════ CUDA DEBUG CHECKS ═══════════════════════════
-
-echo "🔍 CUDA Environment Debug Information:"
-echo "═══════════════════════════════════════════════════════════════════════"
-
-# Check CUDA driver on host (if accessible)
-if command -v nvidia-smi >/dev/null 2>&1; then
- echo "✅ nvidia-smi available"
- echo "📊 GPU Information:"
- nvidia-smi --query-gpu=name,driver_version,memory.total,memory.free --format=csv,noheader,nounits 2>/dev/null || echo "❌ nvidia-smi failed to query GPU"
- echo "🏃 Running Processes:"
- nvidia-smi --query-compute-apps=pid,name,used_memory --format=csv,noheader,nounits 2>/dev/null || echo "ℹ️ No running CUDA processes"
-else
- echo "❌ nvidia-smi not available in container"
-fi
-
-# Check CUDA runtime libraries
-echo ""
-echo "🔧 CUDA Runtime Check:"
-if ls /usr/local/cuda*/lib*/libcudart.so* >/dev/null 2>&1; then
- echo "✅ CUDA runtime libraries found:"
- ls /usr/local/cuda*/lib*/libcudart.so* 2>/dev/null
-else
- echo "❌ CUDA runtime libraries not found"
-fi
-
-# Check CUDA devices
-echo ""
-echo "🖥️ CUDA Device Files:"
-if ls /dev/nvidia* >/dev/null 2>&1; then
- echo "✅ NVIDIA device files found:"
- ls -la /dev/nvidia* 2>/dev/null
-else
- echo "❌ No NVIDIA device files found - Docker may not have GPU access"
-fi
-
-# Check CUDA environment variables
-echo ""
-echo "🌍 CUDA Environment Variables:"
-echo " CUDA_HOME: ${CUDA_HOME:-not set}"
-echo " CUDA_ROOT: ${CUDA_ROOT:-not set}"
-echo " CUDA_PATH: ${CUDA_PATH:-not set}"
-echo " LD_LIBRARY_PATH: ${LD_LIBRARY_PATH:-not set}"
-echo " TORCH_CUDA_ARCH_LIST: ${TORCH_CUDA_ARCH_LIST:-not set}"
-echo " CUDA_VISIBLE_DEVICES: ${CUDA_VISIBLE_DEVICES:-not set}"
-
-# Check PyTorch CUDA availability
-echo ""
-echo "🐍 PyTorch CUDA Check:"
-python3 -c "
-import sys
-try:
- import torch
- print('✅ PyTorch imported successfully')
- print(f' Version: {torch.__version__}')
- print(f' CUDA available: {torch.cuda.is_available()}')
- if torch.cuda.is_available():
- print(f' CUDA version: {torch.version.cuda}')
- print(f' cuDNN version: {torch.backends.cudnn.version()}')
- print(f' Device count: {torch.cuda.device_count()}')
- for i in range(torch.cuda.device_count()):
- props = torch.cuda.get_device_properties(i)
- print(f' Device {i}: {props.name} (SM {props.major}.{props.minor}, {props.total_memory//1024//1024}MB)')
- else:
- print('❌ CUDA not available to PyTorch')
- print(' This could mean:')
- print(' - CUDA runtime not properly installed')
- print(' - GPU not accessible to container')
- print(' - Driver/runtime version mismatch')
-except ImportError as e:
- print(f'❌ Failed to import PyTorch: {e}')
-except Exception as e:
- print(f'❌ PyTorch CUDA check failed: {e}')
-" 2>&1
-
-# Check for common CUDA issues
-echo ""
-echo "🩺 Common Issue Diagnostics:"
-
-# Check if running with proper Docker flags
-if [ ! -e /dev/nvidia0 ] && [ ! -e /dev/nvidiactl ]; then
- echo "❌ No NVIDIA device nodes - container likely missing --gpus all or --runtime=nvidia"
-fi
-
-# Check CUDA library paths
-if [ -z "$LD_LIBRARY_PATH" ] || ! echo "$LD_LIBRARY_PATH" | grep -q cuda; then
- echo "⚠️ LD_LIBRARY_PATH may not include CUDA libraries"
-fi
-
-# Check permissions on device files
-if ls /dev/nvidia* >/dev/null 2>&1; then
- if ! ls -la /dev/nvidia* | grep -q "rw-rw-rw-\|rw-r--r--"; then
- echo "⚠️ NVIDIA device files may have restrictive permissions"
- fi
-fi
-
-echo "═══════════════════════════════════════════════════════════════════════"
-echo "🚀 Starting application..."
-echo ""
-
-exec su -p user -c "python3 wgp.py --listen $*"
+#!/usr/bin/env bash
+export HOME=/home/user
+export PYTHONUNBUFFERED=1
+export HF_HOME=/home/user/.cache/huggingface
+
+export OMP_NUM_THREADS=$(nproc)
+export MKL_NUM_THREADS=$(nproc)
+export OPENBLAS_NUM_THREADS=$(nproc)
+export NUMEXPR_NUM_THREADS=$(nproc)
+
+export TORCH_ALLOW_TF32_CUBLAS=1
+export TORCH_ALLOW_TF32_CUDNN=1
+
+# Disable audio warnings in Docker
+export SDL_AUDIODRIVER=dummy
+export PULSE_RUNTIME_PATH=/tmp/pulse-runtime
+
+# ═══════════════════════════ CUDA DEBUG CHECKS ═══════════════════════════
+
+echo "🔍 CUDA Environment Debug Information:"
+echo "═══════════════════════════════════════════════════════════════════════"
+
+# Check CUDA driver on host (if accessible)
+if command -v nvidia-smi >/dev/null 2>&1; then
+ echo "✅ nvidia-smi available"
+ echo "📊 GPU Information:"
+ nvidia-smi --query-gpu=name,driver_version,memory.total,memory.free --format=csv,noheader,nounits 2>/dev/null || echo "❌ nvidia-smi failed to query GPU"
+ echo "🏃 Running Processes:"
+ nvidia-smi --query-compute-apps=pid,name,used_memory --format=csv,noheader,nounits 2>/dev/null || echo "ℹ️ No running CUDA processes"
+else
+ echo "❌ nvidia-smi not available in container"
+fi
+
+# Check CUDA runtime libraries
+echo ""
+echo "🔧 CUDA Runtime Check:"
+if ls /usr/local/cuda*/lib*/libcudart.so* >/dev/null 2>&1; then
+ echo "✅ CUDA runtime libraries found:"
+ ls /usr/local/cuda*/lib*/libcudart.so* 2>/dev/null
+else
+ echo "❌ CUDA runtime libraries not found"
+fi
+
+# Check CUDA devices
+echo ""
+echo "🖥️ CUDA Device Files:"
+if ls /dev/nvidia* >/dev/null 2>&1; then
+ echo "✅ NVIDIA device files found:"
+ ls -la /dev/nvidia* 2>/dev/null
+else
+ echo "❌ No NVIDIA device files found - Docker may not have GPU access"
+fi
+
+# Check CUDA environment variables
+echo ""
+echo "🌍 CUDA Environment Variables:"
+echo " CUDA_HOME: ${CUDA_HOME:-not set}"
+echo " CUDA_ROOT: ${CUDA_ROOT:-not set}"
+echo " CUDA_PATH: ${CUDA_PATH:-not set}"
+echo " LD_LIBRARY_PATH: ${LD_LIBRARY_PATH:-not set}"
+echo " TORCH_CUDA_ARCH_LIST: ${TORCH_CUDA_ARCH_LIST:-not set}"
+echo " CUDA_VISIBLE_DEVICES: ${CUDA_VISIBLE_DEVICES:-not set}"
+
+# Check PyTorch CUDA availability
+echo ""
+echo "🐍 PyTorch CUDA Check:"
+python3 -c "
+import sys
+try:
+ import torch
+ print('✅ PyTorch imported successfully')
+ print(f' Version: {torch.__version__}')
+ print(f' CUDA available: {torch.cuda.is_available()}')
+ if torch.cuda.is_available():
+ print(f' CUDA version: {torch.version.cuda}')
+ print(f' cuDNN version: {torch.backends.cudnn.version()}')
+ print(f' Device count: {torch.cuda.device_count()}')
+ for i in range(torch.cuda.device_count()):
+ props = torch.cuda.get_device_properties(i)
+ print(f' Device {i}: {props.name} (SM {props.major}.{props.minor}, {props.total_memory//1024//1024}MB)')
+ else:
+ print('❌ CUDA not available to PyTorch')
+ print(' This could mean:')
+ print(' - CUDA runtime not properly installed')
+ print(' - GPU not accessible to container')
+ print(' - Driver/runtime version mismatch')
+except ImportError as e:
+ print(f'❌ Failed to import PyTorch: {e}')
+except Exception as e:
+ print(f'❌ PyTorch CUDA check failed: {e}')
+" 2>&1
+
+# Check for common CUDA issues
+echo ""
+echo "🩺 Common Issue Diagnostics:"
+
+# Check if running with proper Docker flags
+if [ ! -e /dev/nvidia0 ] && [ ! -e /dev/nvidiactl ]; then
+ echo "❌ No NVIDIA device nodes - container likely missing --gpus all or --runtime=nvidia"
+fi
+
+# Check CUDA library paths
+if [ -z "$LD_LIBRARY_PATH" ] || ! echo "$LD_LIBRARY_PATH" | grep -q cuda; then
+ echo "⚠️ LD_LIBRARY_PATH may not include CUDA libraries"
+fi
+
+# Check permissions on device files
+if ls /dev/nvidia* >/dev/null 2>&1; then
+ if ! ls -la /dev/nvidia* | grep -q "rw-rw-rw-\|rw-r--r--"; then
+ echo "⚠️ NVIDIA device files may have restrictive permissions"
+ fi
+fi
+
+echo "═══════════════════════════════════════════════════════════════════════"
+echo "🚀 Starting application..."
+echo ""
+
+exec su -p user -c "python3 wgp.py --listen $*"
diff --git a/extract_source_images.py b/extract_source_images.py
index 1003ccd93..12383c0a6 100755
--- a/extract_source_images.py
+++ b/extract_source_images.py
@@ -1,98 +1,98 @@
-#!/usr/bin/env python3
-"""
-Extract Source Images from Video Files
-
-This utility extracts source images that were embedded in video files
-generated by Wan2GP with source image embedding enabled.
-Supports MKV (attachments) and MP4 (cover art) formats.
-"""
-
-import sys
-import os
-import argparse
-import glob
-from shared.utils.audio_video import extract_source_images
-
-
-def main():
- parser = argparse.ArgumentParser(
- description="Extract source images from video files with embedded images (MKV attachments or MP4 cover art)",
- formatter_class=argparse.RawDescriptionHelpFormatter,
- epilog=__doc__
- )
-
- parser.add_argument(
- 'video_files',
- nargs='+',
- help='Video file(s) to extract source images from (MKV or MP4)'
- )
-
- parser.add_argument(
- '-o', '--output-dir',
- help='Output directory for extracted images (default: same as video directory)'
- )
-
- parser.add_argument(
- '-v', '--verbose',
- action='store_true',
- help='Enable verbose output'
- )
-
- args = parser.parse_args()
-
- # Expand glob patterns
- video_files = []
- for pattern in args.video_files:
- if '*' in pattern or '?' in pattern:
- video_files.extend(glob.glob(pattern))
- else:
- video_files.append(pattern)
-
- if not video_files:
- print("No video files found matching the specified patterns.")
- return 1
-
- total_extracted = 0
-
- for video_file in video_files:
- if not os.path.exists(video_file):
- print(f"Warning: File not found: {video_file}")
- continue
-
- if not (video_file.lower().endswith('.mkv') or video_file.lower().endswith('.mp4')):
- print(f"Warning: Skipping unsupported file: {video_file} (only MKV and MP4 supported)")
- continue
-
- if args.verbose:
- print(f"\nProcessing: {video_file}")
-
- # Determine output directory
- if args.output_dir:
- output_dir = args.output_dir
- else:
- # Create subdirectory next to video file
- video_dir = os.path.dirname(video_file) or '.'
- video_name = os.path.splitext(os.path.basename(video_file))[0]
- output_dir = os.path.join(video_dir, f"{video_name}_sources")
-
- try:
- extracted_files = extract_source_images(video_file, output_dir)
-
- if extracted_files:
- print(f"✓ Extracted {len(extracted_files)} source image(s) from {video_file}")
- if args.verbose:
- for img_file in extracted_files:
- print(f" → {img_file}")
- total_extracted += len(extracted_files)
- else:
- print(f"ℹ No source images found in {video_file}")
-
- except Exception as e:
- print(f"✗ Error processing {video_file}: {e}")
-
- print(f"\nTotal: Extracted {total_extracted} source image(s) from {len(video_files)} video file(s)")
- return 0
-
-
-if __name__ == "__main__":
- sys.exit(main())
+#!/usr/bin/env python3
+"""
+Extract Source Images from Video Files
+
+This utility extracts source images that were embedded in video files
+generated by Wan2GP with source image embedding enabled.
+Supports MKV (attachments) and MP4 (cover art) formats.
+"""
+
+import sys
+import os
+import argparse
+import glob
+from shared.utils.audio_video import extract_source_images
+
+
+def main():
+ parser = argparse.ArgumentParser(
+ description="Extract source images from video files with embedded images (MKV attachments or MP4 cover art)",
+ formatter_class=argparse.RawDescriptionHelpFormatter,
+ epilog=__doc__
+ )
+
+ parser.add_argument(
+ 'video_files',
+ nargs='+',
+ help='Video file(s) to extract source images from (MKV or MP4)'
+ )
+
+ parser.add_argument(
+ '-o', '--output-dir',
+ help='Output directory for extracted images (default: same as video directory)'
+ )
+
+ parser.add_argument(
+ '-v', '--verbose',
+ action='store_true',
+ help='Enable verbose output'
+ )
+
+ args = parser.parse_args()
+
+ # Expand glob patterns
+ video_files = []
+ for pattern in args.video_files:
+ if '*' in pattern or '?' in pattern:
+ video_files.extend(glob.glob(pattern))
+ else:
+ video_files.append(pattern)
+
+ if not video_files:
+ print("No video files found matching the specified patterns.")
+ return 1
+
+ total_extracted = 0
+
+ for video_file in video_files:
+ if not os.path.exists(video_file):
+ print(f"Warning: File not found: {video_file}")
+ continue
+
+ if not (video_file.lower().endswith('.mkv') or video_file.lower().endswith('.mp4')):
+ print(f"Warning: Skipping unsupported file: {video_file} (only MKV and MP4 supported)")
+ continue
+
+ if args.verbose:
+ print(f"\nProcessing: {video_file}")
+
+ # Determine output directory
+ if args.output_dir:
+ output_dir = args.output_dir
+ else:
+ # Create subdirectory next to video file
+ video_dir = os.path.dirname(video_file) or '.'
+ video_name = os.path.splitext(os.path.basename(video_file))[0]
+ output_dir = os.path.join(video_dir, f"{video_name}_sources")
+
+ try:
+ extracted_files = extract_source_images(video_file, output_dir)
+
+ if extracted_files:
+ print(f"✓ Extracted {len(extracted_files)} source image(s) from {video_file}")
+ if args.verbose:
+ for img_file in extracted_files:
+ print(f" → {img_file}")
+ total_extracted += len(extracted_files)
+ else:
+ print(f"ℹ No source images found in {video_file}")
+
+ except Exception as e:
+ print(f"✗ Error processing {video_file}: {e}")
+
+ print(f"\nTotal: Extracted {total_extracted} source image(s) from {len(video_files)} video file(s)")
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/icons/bottom.svg b/icons/bottom.svg
index 1aeccc456..9bd33d16c 100644
--- a/icons/bottom.svg
+++ b/icons/bottom.svg
@@ -1,14 +1,14 @@
-