A thousand tons of AI in a five-pound bucket.
v3.1.0 — GL-rendered Quick Export, multi-clip batch export, combine preserves clip resolution + effects, Post-Process prompt on export. Bug reports welcome via GitHub Issues.
yuvj420p instead of the broken yuv420p + color_range pc combo. libx264
silently squeezes full-range RGB into TV-range [16,235] unless the output pix_fmt is
explicitly yuvj420p; the old convention meant every exported file had blacks at
RGB 16 (grey) instead of 0. 17 call sites were swept — Quick Export, Batch, Sequential,
Timeline Export, Bake Effects, Color Correct, Loop Build, Trim, Crop, Speed, MuseTalk,
LatentSync, Video Retalking, render3d, and more. If you've ever wondered why your
exports looked washed out compared to the preview, this is why.GlobalConfig.batch_generate_settings
and sequential_process_settings.nvidia-smi -pl power cap helper to mitigate
RTX 3080 Ti / 3090 transient-spike Xid 79 "GPU fell off the bus" crashes on heavy
inference loops.lut3d filter. This guarantees the exported file is pixel-identical to
what's shown in the preview — LUTs, colour correction, effects, and all. The AI
post-process preset (denoise/sharpen/face/lanczos/RIFE) is then optionally chained
on top of the GL-rendered result._build_video_filters(), matching the timeline preview.
Previously all effects were silently dropped during combine.scale=in_range=full:out_range=full and -color_range pc to prevent the RGB-to-YUV limited-range clamp that causes darkening and yellowing on every encode| Component | Minimum | Recommended |
|---|---|---|
| GPU | NVIDIA with 8 GB VRAM (CUDA) | NVIDIA with 12 GB+ VRAM |
| RAM | 16 GB | 32 GB+ |
| Storage | 30 GB (models) | 100 GB+ (multiple model variants) |
An NVIDIA GPU with CUDA support is required for inference. The app auto-detects your VRAM tier (0–4) and selects quantized model variants accordingly.
This application's inference orchestrator was developed, tested, and optimized on a Linux PC with an NVIDIA RTX 3080 Ti (12 GB VRAM) and 32 GB DDR4 RAM. With the following settings, it successfully runs both Wan 2.2 I2V 14B and Wan 2.2 I2V 14B Lightning v2 at 480P (512x512, 832x480, 480x832, and equivalent aspect ratios):
| Setting | Value | Notes |
|---|---|---|
| Transformer quantization | int8 | ~14.5 GB model compressed to fit in 12 GB VRAM |
| Text encoder quantization | int8 | Reduces text encoder memory footprint |
| Attention mode | xformers | Memory-efficient attention — critical for 12 GB cards |
| Memory profile | 4 (aggressive) | Maximum offloading between pipeline stages |
| Boost | 2 | Enables MMGP memory management optimizations |
| VAE tiling | Auto | Tiles VAE decode to avoid VRAM spikes on larger resolutions |
| Mixed precision | Enabled | fp16 compute where possible |
With these settings, Wan 2.2 I2V 14B Lightning v2 generates a 5-second 480P video in ~4 steps. The standard Wan 2.2 I2V 14B model uses ~20–30 steps for higher quality output. Both use the same ~14.5 GB int8-quantized transformer weights.
Generated 480P videos can then be post-processed in a single pass: RIFE x2 doubles the frame rate (16 fps → 32 fps) for smoother motion, and Lanczos spatial upscale doubles the resolution to 1024x1024 (or 1664x960 / 960x1664 for landscape/portrait equivalents). Both options are available as checkboxes in the generation parameters — no external tools needed.
PATH — used for video encode/decode, trimming, compositing)FFmpeg is also required but the start script will detect if it's missing and offer to install it for you.
The start scripts handle everything automatically — venv creation, PyTorch, dependencies, factory directories, update checks, and launch:
git clone https://github.com/saintorphan/SupremeDiffusion.git
cd SupremeDiffusion
./start.sh # Linux / macOS
start.bat # Windows
On first run, the start script will:
.venv/ Python virtual environment if one doesn't existpip install -e . (PySide6, diffusers, transformers, accelerate, peft, safetensors, optimum-quanto, gguf, mmgp, xformers, Pillow, numpy, opencv-python, sentencepiece, protobuf, ftfy)On subsequent runs, it skips steps 1–5, checks GitHub for updates and pulls them automatically, then launches.
If you need a different CUDA version (e.g. 11.8 or 12.1), install PyTorch manually before running the start script — it will detect the existing installation and skip the PyTorch step.
If you prefer to set things up yourself:
git clone https://github.com/saintorphan/SupremeDiffusion.git
cd SupremeDiffusion
python3 -m venv .venv
source .venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install -e .
python run.py
Settings tab — Model paths default to factory directories inside the app folder (models/checkpoints/, models/vae/, etc.). Drop your model files into these folders, or point the paths to existing directories on your system.
Models download automatically — When you click Generate for the first time, the app checks if the required models are present. If they're missing, it prompts you to download them from Hugging Face. The correct quantization variant (int8, Q4, Q8, F16, bf16) is selected automatically based on your detected VRAM tier. You don't need to manually find or download models.
Or download in advance — Open Settings → Installed Models, click Refresh to see what's installed, then click Download Missing to grab everything at once.
Create a project — Use the project bar at the top to create a named project. All outputs, clips, frames, and state are saved per-project.
Generate — Go to the Video → Img2Vid tab, drop in a source image, write a prompt, and click Generate (or press Ctrl+G).
Don't upscale until you're done editing. RIFE frame interpolation and Lanczos spatial upscale should only be applied to your final, finished clip — not to intermediate clips you plan to extend, trim, or color correct further. Every re-encode introduces quality loss, and stacking upscale → re-encode → upscale compounds into visible degradation. Keep your working clips at native 480P resolution and only enable RIFE/upscale on your last export.
Color correct every continuation clip immediately. Wan's VAE has a baked-in warm color shift that accumulates across generations. When extending a video (Video Extender or Longshot), each new clip will be slightly warmer than the last. To combat this: after generating each continuation clip, send it to Color Correct and use the first frame of your very first clip as the reference image. Apply color correction before stitching, extending further, or doing any other processing. This keeps the entire sequence color-consistent.
Right-click everything. Video players and image galleries have right-click context menus with send-to options — send clips to other video tabs, send frames to image tabs, extract color correction references, and more. This is the fastest way to move content between modules.
Use projects to organize. Each project keeps its own generated clips, frames, settings, and timeline state. Create separate projects for separate scenes or experiments — switching is instant and preserves your full workspace.
The app auto-detects your VRAM and downloads the best model variant for your GPU. You can also pre-download from Settings → Installed Models → Download Missing. Models are grouped by feature:
| Feature | Models | Approx. Size |
|---|---|---|
| Video Generation | Wan 2.1/2.2 Transformer + Text Encoder + VAE | 15–30 GB (int8–bf16) |
| Lip Sync (MuseTalk) | UNet + VAE + Whisper | ~2 GB |
| Lip Sync (LatentSync) | UNet + Whisper Tiny + SD VAE | ~3 GB |
| VACE MultiTalk | Processor + Transformer + Audio Encoder + Wav2Vec2 | ~30 GB |
| Face Swap | InsightFace buffalo_l + inswapper_128 | ~350 MB |
| Body Double | ControlNet (OpenPose/Canny/Depth/Lineart/Normal) + IP-Adapter + CLIP ViT-H | ~8 GB |
| Magic Mask | BiRefNet foreground segmentation | ~350 MB |
| FLUX | FLUX GGUF + VAE + T5-XXL fp8 + CLIP-L | ~10–30 GB (Q4→F16 by VRAM) |
| 3D Modeling | BiRefNet + TripoSR | ~3.5 GB |
| AI Assistant / Prompt Enhance | Qwen 3.5 4B (BF16) | ~5 GB |
| Image Captioning (QwenAlyzer / LoRA) | Qwen 2.5 VL 3B Instruct (bf16) | ~6 GB |
| AI Enhance | Real-ESRGAN 4x | ~65 MB |
| LoRA Training | kohya sd-scripts (cloned, not downloaded) | ~50 MB |
| Chatterbox TTS | Chatterbox (voice cloning + emotion) | ~1 GB |
| Dia TTS | Dia (multi-speaker dialogue) | ~2 GB |
| MusicGen | Meta AudioCraft MusicGen | ~3.3 GB |
| AudioGen | Meta AudioCraft AudioGen | ~3.3 GB |
Multi-track non-linear video editor with:
in_range=full:out_range=full + -color_range pc)Dedicated color correction tab with:
7 guided multi-step Sequence Wizards for common video production workflows. Each wizard walks you through a structured pipeline with send-to routing between steps.
Full Daz3D scene import and rendering:
Project file explorer with thumbnail previews, send-to routing, and context menus for all media types.
Top-level asset library with five sub-tabs for cross-project reuse:
Ctrl+`).| Shortcut | Action |
|---|---|
Ctrl+G | Start generation (Video tab — Img2Vid / Video Extender) |
Escape | Abort current generation |
Ctrl+Z | Undo (Timeline) |
Ctrl+Y | Redo (Timeline) |
Ctrl+= / Ctrl+- | Zoom in / out (Timeline) |
Ctrl+0 | Zoom to fit (Timeline) |
Ctrl+Scroll | Zoom at cursor (Timeline) |
M | Add marker at playhead (Timeline) |
Y | Slip tool (Timeline) |
U | Slide tool (Timeline) |
Space | Play / Pause (Timeline) |
Delete | Delete selected clip (Timeline) |
Left / Right | Nudge playhead (Timeline) |
Ctrl+` | Toggle console log |
Stored at ~/.supremediffusion/config.json. Key settings:
| Setting | Values | Description |
|---|---|---|
memory_profile | 1–5 | VRAM management aggressiveness |
attention_mode | sdpa, flash_attn, sage_attn, xformers | Attention implementation |
transformer_quantization | int8, bf16 | Transformer weight precision |
vae_precision | 16, 32 | VAE float precision |
mixed_precision | 0, 1 | Enable/disable mixed precision |
vae_tiling | Auto, Disabled, 256, 128 | VAE tiling for large images |
preload_in_vram | 0–40000 (MB) | Pre-load VRAM budget |
Each project stores its state in <projects_root>/<project_name>/config.json, including all UI settings, file paths, timeline tracks, markers, and library contents. Switching projects fully restores the previous session.
Portions of the following inference pipelines and libraries were referenced when building Supreme Diffusion. I gratefully acknowledge these projects and their authors:
Supreme Diffusion is provided as-is for personal and research use. Individual upstream components carry their own licenses — please refer to each project's repository for terms. Notable restrictions:
Users are responsible for ensuring they comply with all applicable licenses and local regulations when using face swap, lip sync, and deepfake-adjacent features. Always obtain consent when using real people's likenesses and clearly label generated content.
1 commits
Python
98.6%
A thousand tons of AI in a five-pound bucket.
v3.1.0 — GL-rendered Quick Export, multi-clip batch export, combine preserves clip resolution + effects, Post-Process prompt on export. Bug reports welcome via GitHub Issues.
yuvj420p instead of the broken yuv420p + color_range pc combo. libx264
silently squeezes full-range RGB into TV-range [16,235] unless the output pix_fmt is
explicitly yuvj420p; the old convention meant every exported file had blacks at
RGB 16 (grey) instead of 0. 17 call sites were swept — Quick Export, Batch, Sequential,
Timeline Export, Bake Effects, Color Correct, Loop Build, Trim, Crop, Speed, MuseTalk,
LatentSync, Video Retalking, render3d, and more. If you've ever wondered why your
exports looked washed out compared to the preview, this is why.GlobalConfig.batch_generate_settings
and sequential_process_settings.nvidia-smi -pl power cap helper to mitigate
RTX 3080 Ti / 3090 transient-spike Xid 79 "GPU fell off the bus" crashes on heavy
inference loops.lut3d filter. This guarantees the exported file is pixel-identical to
what's shown in the preview — LUTs, colour correction, effects, and all. The AI
post-process preset (denoise/sharpen/face/lanczos/RIFE) is then optionally chained
on top of the GL-rendered result._build_video_filters(), matching the timeline preview.
Previously all effects were silently dropped during combine.scale=in_range=full:out_range=full and -color_range pc to prevent the RGB-to-YUV limited-range clamp that causes darkening and yellowing on every encode| Component | Minimum | Recommended |
|---|---|---|
| GPU | NVIDIA with 8 GB VRAM (CUDA) | NVIDIA with 12 GB+ VRAM |
| RAM | 16 GB | 32 GB+ |
| Storage | 30 GB (models) | 100 GB+ (multiple model variants) |
An NVIDIA GPU with CUDA support is required for inference. The app auto-detects your VRAM tier (0–4) and selects quantized model variants accordingly.
This application's inference orchestrator was developed, tested, and optimized on a Linux PC with an NVIDIA RTX 3080 Ti (12 GB VRAM) and 32 GB DDR4 RAM. With the following settings, it successfully runs both Wan 2.2 I2V 14B and Wan 2.2 I2V 14B Lightning v2 at 480P (512x512, 832x480, 480x832, and equivalent aspect ratios):
| Setting | Value | Notes |
|---|---|---|
| Transformer quantization | int8 | ~14.5 GB model compressed to fit in 12 GB VRAM |
| Text encoder quantization | int8 | Reduces text encoder memory footprint |
| Attention mode | xformers | Memory-efficient attention — critical for 12 GB cards |
| Memory profile | 4 (aggressive) | Maximum offloading between pipeline stages |
| Boost | 2 | Enables MMGP memory management optimizations |
| VAE tiling | Auto | Tiles VAE decode to avoid VRAM spikes on larger resolutions |
| Mixed precision | Enabled | fp16 compute where possible |
With these settings, Wan 2.2 I2V 14B Lightning v2 generates a 5-second 480P video in ~4 steps. The standard Wan 2.2 I2V 14B model uses ~20–30 steps for higher quality output. Both use the same ~14.5 GB int8-quantized transformer weights.
Generated 480P videos can then be post-processed in a single pass: RIFE x2 doubles the frame rate (16 fps → 32 fps) for smoother motion, and Lanczos spatial upscale doubles the resolution to 1024x1024 (or 1664x960 / 960x1664 for landscape/portrait equivalents). Both options are available as checkboxes in the generation parameters — no external tools needed.
PATH — used for video encode/decode, trimming, compositing)FFmpeg is also required but the start script will detect if it's missing and offer to install it for you.
The start scripts handle everything automatically — venv creation, PyTorch, dependencies, factory directories, update checks, and launch:
git clone https://github.com/saintorphan/SupremeDiffusion.git
cd SupremeDiffusion
./start.sh # Linux / macOS
start.bat # Windows
On first run, the start script will:
.venv/ Python virtual environment if one doesn't existpip install -e . (PySide6, diffusers, transformers, accelerate, peft, safetensors, optimum-quanto, gguf, mmgp, xformers, Pillow, numpy, opencv-python, sentencepiece, protobuf, ftfy)On subsequent runs, it skips steps 1–5, checks GitHub for updates and pulls them automatically, then launches.
If you need a different CUDA version (e.g. 11.8 or 12.1), install PyTorch manually before running the start script — it will detect the existing installation and skip the PyTorch step.
If you prefer to set things up yourself:
git clone https://github.com/saintorphan/SupremeDiffusion.git
cd SupremeDiffusion
python3 -m venv .venv
source .venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
pip install -e .
python run.py
Settings tab — Model paths default to factory directories inside the app folder (models/checkpoints/, models/vae/, etc.). Drop your model files into these folders, or point the paths to existing directories on your system.
Models download automatically — When you click Generate for the first time, the app checks if the required models are present. If they're missing, it prompts you to download them from Hugging Face. The correct quantization variant (int8, Q4, Q8, F16, bf16) is selected automatically based on your detected VRAM tier. You don't need to manually find or download models.
Or download in advance — Open Settings → Installed Models, click Refresh to see what's installed, then click Download Missing to grab everything at once.
Create a project — Use the project bar at the top to create a named project. All outputs, clips, frames, and state are saved per-project.
Generate — Go to the Video → Img2Vid tab, drop in a source image, write a prompt, and click Generate (or press Ctrl+G).
Don't upscale until you're done editing. RIFE frame interpolation and Lanczos spatial upscale should only be applied to your final, finished clip — not to intermediate clips you plan to extend, trim, or color correct further. Every re-encode introduces quality loss, and stacking upscale → re-encode → upscale compounds into visible degradation. Keep your working clips at native 480P resolution and only enable RIFE/upscale on your last export.
Color correct every continuation clip immediately. Wan's VAE has a baked-in warm color shift that accumulates across generations. When extending a video (Video Extender or Longshot), each new clip will be slightly warmer than the last. To combat this: after generating each continuation clip, send it to Color Correct and use the first frame of your very first clip as the reference image. Apply color correction before stitching, extending further, or doing any other processing. This keeps the entire sequence color-consistent.
Right-click everything. Video players and image galleries have right-click context menus with send-to options — send clips to other video tabs, send frames to image tabs, extract color correction references, and more. This is the fastest way to move content between modules.
Use projects to organize. Each project keeps its own generated clips, frames, settings, and timeline state. Create separate projects for separate scenes or experiments — switching is instant and preserves your full workspace.
The app auto-detects your VRAM and downloads the best model variant for your GPU. You can also pre-download from Settings → Installed Models → Download Missing. Models are grouped by feature:
| Feature | Models | Approx. Size |
|---|---|---|
| Video Generation | Wan 2.1/2.2 Transformer + Text Encoder + VAE | 15–30 GB (int8–bf16) |
| Lip Sync (MuseTalk) | UNet + VAE + Whisper | ~2 GB |
| Lip Sync (LatentSync) | UNet + Whisper Tiny + SD VAE | ~3 GB |
| VACE MultiTalk | Processor + Transformer + Audio Encoder + Wav2Vec2 | ~30 GB |
| Face Swap | InsightFace buffalo_l + inswapper_128 | ~350 MB |
| Body Double | ControlNet (OpenPose/Canny/Depth/Lineart/Normal) + IP-Adapter + CLIP ViT-H | ~8 GB |
| Magic Mask | BiRefNet foreground segmentation | ~350 MB |
| FLUX | FLUX GGUF + VAE + T5-XXL fp8 + CLIP-L | ~10–30 GB (Q4→F16 by VRAM) |
| 3D Modeling | BiRefNet + TripoSR | ~3.5 GB |
| AI Assistant / Prompt Enhance | Qwen 3.5 4B (BF16) | ~5 GB |
| Image Captioning (QwenAlyzer / LoRA) | Qwen 2.5 VL 3B Instruct (bf16) | ~6 GB |
| AI Enhance | Real-ESRGAN 4x | ~65 MB |
| LoRA Training | kohya sd-scripts (cloned, not downloaded) | ~50 MB |
| Chatterbox TTS | Chatterbox (voice cloning + emotion) | ~1 GB |
| Dia TTS | Dia (multi-speaker dialogue) | ~2 GB |
| MusicGen | Meta AudioCraft MusicGen | ~3.3 GB |
| AudioGen | Meta AudioCraft AudioGen | ~3.3 GB |
Multi-track non-linear video editor with:
in_range=full:out_range=full + -color_range pc)Dedicated color correction tab with:
7 guided multi-step Sequence Wizards for common video production workflows. Each wizard walks you through a structured pipeline with send-to routing between steps.
Full Daz3D scene import and rendering:
Project file explorer with thumbnail previews, send-to routing, and context menus for all media types.
Top-level asset library with five sub-tabs for cross-project reuse:
Ctrl+`).| Shortcut | Action |
|---|---|
Ctrl+G | Start generation (Video tab — Img2Vid / Video Extender) |
Escape | Abort current generation |
Ctrl+Z | Undo (Timeline) |
Ctrl+Y | Redo (Timeline) |
Ctrl+= / Ctrl+- | Zoom in / out (Timeline) |
Ctrl+0 | Zoom to fit (Timeline) |
Ctrl+Scroll | Zoom at cursor (Timeline) |
M | Add marker at playhead (Timeline) |
Y | Slip tool (Timeline) |
U | Slide tool (Timeline) |
Space | Play / Pause (Timeline) |
Delete | Delete selected clip (Timeline) |
Left / Right | Nudge playhead (Timeline) |
Ctrl+` | Toggle console log |
Stored at ~/.supremediffusion/config.json. Key settings:
| Setting | Values | Description |
|---|---|---|
memory_profile | 1–5 | VRAM management aggressiveness |
attention_mode | sdpa, flash_attn, sage_attn, xformers | Attention implementation |
transformer_quantization | int8, bf16 | Transformer weight precision |
vae_precision | 16, 32 | VAE float precision |
mixed_precision | 0, 1 | Enable/disable mixed precision |
vae_tiling | Auto, Disabled, 256, 128 | VAE tiling for large images |
preload_in_vram | 0–40000 (MB) | Pre-load VRAM budget |
Each project stores its state in <projects_root>/<project_name>/config.json, including all UI settings, file paths, timeline tracks, markers, and library contents. Switching projects fully restores the previous session.
Portions of the following inference pipelines and libraries were referenced when building Supreme Diffusion. I gratefully acknowledge these projects and their authors:
Supreme Diffusion is provided as-is for personal and research use. Individual upstream components carry their own licenses — please refer to each project's repository for terms. Notable restrictions:
Users are responsible for ensuring they comply with all applicable licenses and local regulations when using face swap, lip sync, and deepfake-adjacent features. Always obtain consent when using real people's likenesses and clearly label generated content.
1 commits
Python
98.6%