Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
488 commits
Select commit Hold shift + click to select a range
207f711
Merge pull request #334 from Reevoy24/notification_sound
deepbeepmeep Jun 12, 2025
3749d23
finetuned models support
deepbeepmeep Jun 12, 2025
8d68c8b
Merge branch 'main' of https://github.com/deepbeepmeep/Wan2GP
deepbeepmeep Jun 12, 2025
13eef1b
Revert "notification sound + prompt box color fix"
deepbeepmeep Jun 12, 2025
48ffc39
Merge pull request #336 from deepbeepmeep/revert-334-notification_sound
deepbeepmeep Jun 12, 2025
15da9cd
Merge branch 'main' of https://github.com/deepbeepmeep/Wan2GP
deepbeepmeep Jun 12, 2025
a390a10
color fix for all backgroundcolors
Reevoy24 Jun 12, 2025
56261f3
v6
deepbeepmeep Jun 12, 2025
41a9f5d
typo
deepbeepmeep Jun 12, 2025
5a63326
fixed autoquantize transformer
deepbeepmeep Jun 12, 2025
d85ccf2
notification sound for finished or canceled generation
Reevoy24 Jun 13, 2025
85e488f
fixed i2v 720p no longer recognized properly
deepbeepmeep Jun 13, 2025
e3a1ed8
Merge pull request #340 from Reevoy24/prompt-box-color-fix
deepbeepmeep Jun 13, 2025
73cf4e4
fixed save quantization
deepbeepmeep Jun 13, 2025
24bb01c
Merge branch 'main' of https://github.com/deepbeepmeep/Wan2GP
deepbeepmeep Jun 13, 2025
d5f9170
fixes
deepbeepmeep Jun 13, 2025
6c8779d
fixed bug while loading fp16 model
deepbeepmeep Jun 14, 2025
500f48b
Fixed multi files model autodownload
deepbeepmeep Jun 14, 2025
826cc3a
Improved download speed for finetunes on HF
deepbeepmeep Jun 14, 2025
18bf248
Catch errors from AMD's mi-open for requests > 512 in a given dimensi…
sfinktah Jun 14, 2025
4ca0666
If an error occurs because AMD is asked to VAE Decode without tiling,…
sfinktah Jun 15, 2025
febeb95
Vace powercharged
deepbeepmeep Jun 17, 2025
acc5ec9
updated version
deepbeepmeep Jun 17, 2025
b562190
Fixed skyreels gen bug
deepbeepmeep Jun 17, 2025
e8dc653
Merge pull request #370 from sfinktah/sfink-debug
deepbeepmeep Jun 17, 2025
b1b2a0f
Merge pull request #278 from ssteo/patch-1
deepbeepmeep Jun 17, 2025
188225c
changed mask wording
deepbeepmeep Jun 18, 2025
4d202db
Vace Outpainting, new Depth extractor
deepbeepmeep Jun 19, 2025
eeda30c
how to update info
deepbeepmeep Jun 19, 2025
1df89e6
fixed typo
deepbeepmeep Jun 19, 2025
c4b8c6b
fixed ref image in phantom missing
deepbeepmeep Jun 19, 2025
8b146a8
fixed Matanyone tensor location issue
deepbeepmeep Jun 19, 2025
0ae1ae5
AMD installation instructions for RDNA3.x+Windows
sfinktah Jun 20, 2025
d0a32c6
added outpainting on injected frames and shapes preprocessor
deepbeepmeep Jun 20, 2025
e418d17
fixed settings corruptions
deepbeepmeep Jun 20, 2025
ab614b0
updated Vace doc
deepbeepmeep Jun 21, 2025
743f691
fixed small issue with matanyone
deepbeepmeep Jun 21, 2025
95727e6
a few more fixes
deepbeepmeep Jun 22, 2025
a790dd8
fixed i2v
deepbeepmeep Jun 22, 2025
5ac9294
Fixed missing file box for phantom 14B
deepbeepmeep Jun 23, 2025
28fe352
Multi Vace controlnets and multithreaded preprocessing
deepbeepmeep Jun 23, 2025
d001bde
Merge branch 'main' of https://github.com/deepbeepmeep/Wan2GP
deepbeepmeep Jun 23, 2025
dbbb87d
fixed bug
deepbeepmeep Jun 23, 2025
e487a45
removed debug msgs
deepbeepmeep Jun 23, 2025
e7f1786
fixed Vace raw format error
deepbeepmeep Jun 24, 2025
7676ded
fixes
deepbeepmeep Jun 24, 2025
e0666a3
one more fix
deepbeepmeep Jun 25, 2025
b775440
Fixed identity crash
deepbeepmeep Jun 26, 2025
b14cdbd
Fixed 1024x1024
deepbeepmeep Jun 26, 2025
10db954
Fixed injected frames / flow mixed up
deepbeepmeep Jun 26, 2025
81021e7
Fixed injected frames with control video with mask
deepbeepmeep Jun 27, 2025
28fc48d
stuff and more stuff
deepbeepmeep Jul 2, 2025
65b3c3e
merged
deepbeepmeep Jul 2, 2025
cb69c17
better non mmaudio support
deepbeepmeep Jul 2, 2025
b334c05
updated release notes
deepbeepmeep Jul 2, 2025
c906e87
fixed download issue
deepbeepmeep Jul 2, 2025
4103f5b
fixed crash when lora multiplier missing
deepbeepmeep Jul 2, 2025
f5dc6d0
fixed loras ignored and other bugs
deepbeepmeep Jul 2, 2025
eb811e0
fixed bugs
deepbeepmeep Jul 3, 2025
d8a829b
Fix tea cache disabled with diffusion forcing
deepbeepmeep Jul 4, 2025
4908c3c
multitalk and more
deepbeepmeep Jul 8, 2025
621687c
Merge branch 'main' of https://github.com/deepbeepmeep/Wan2GP
deepbeepmeep Jul 8, 2025
3a8bd05
multitalk files
deepbeepmeep Jul 8, 2025
9efbd99
updated requirements.txt
deepbeepmeep Jul 8, 2025
63ad3e7
removing unwanted features (bugs)
deepbeepmeep Jul 8, 2025
b003543
typos
deepbeepmeep Jul 8, 2025
b5d2664
oops
deepbeepmeep Jul 8, 2025
34f9333
I need rest!
deepbeepmeep Jul 8, 2025
6a28bb8
more fixes
deepbeepmeep Jul 8, 2025
8d2164a
fx
deepbeepmeep Jul 9, 2025
ee170f1
dockerize and add deb-based sys runner + builder
psyb0t Jul 9, 2025
597d26b
NAG
deepbeepmeep Jul 10, 2025
dedcc57
Merge branch 'main' into feature_add-cuda-docker-runner
psyb0t Jul 11, 2025
eb92f0c
flux kontext
deepbeepmeep Jul 13, 2025
37f4180
loras flux
deepbeepmeep Jul 13, 2025
64c59c1
Flux Kontext and more
deepbeepmeep Jul 15, 2025
afbf94e
fix ?
deepbeepmeep Jul 15, 2025
bda410f
added better missing model error handling
deepbeepmeep Jul 15, 2025
1e2d74a
added better missing model error handling
deepbeepmeep Jul 15, 2025
49aaa12
restored neg prompt
deepbeepmeep Jul 15, 2025
a356c6a
fixed causvid scheduler
deepbeepmeep Jul 16, 2025
0be33ac
Fixed multitalk crash
deepbeepmeep Jul 17, 2025
d174f71
save metadata to images
pixxy Jul 17, 2025
3785636
load metadata from images
pixxy Jul 17, 2025
a1c2280
LTXV and Flux updates
deepbeepmeep Jul 21, 2025
d4e69b2
Merge branch 'main' of https://github.com/deepbeepmeep/Wan2GP
deepbeepmeep Jul 21, 2025
2275606
fix LTXV URL
deepbeepmeep Jul 21, 2025
075aaa8
fix settings crash
deepbeepmeep Jul 21, 2025
b567625
added lora unet support for flux
deepbeepmeep Jul 21, 2025
9279780
fixed flux schnell url
deepbeepmeep Jul 21, 2025
a97120b
fixed LTXV Depth extraction
deepbeepmeep Jul 21, 2025
6581d05
really fixed settings and unbroke ltxv canny edges
deepbeepmeep Jul 21, 2025
6b348b9
MatanyoneGP
deepbeepmeep Jul 22, 2025
03c6255
fixed ltxv issues
deepbeepmeep Jul 22, 2025
fe2dd65
fixed video selection bug
deepbeepmeep Jul 22, 2025
4a38bec
Merge pull request #531 from pixxy/image-metadata
deepbeepmeep Jul 22, 2025
d284330
added image metadata
deepbeepmeep Jul 22, 2025
90275df
ode to Vace
deepbeepmeep Jul 26, 2025
d3abf8d
small fixes
deepbeepmeep Jul 26, 2025
bc9e54a
flux is back from hiding
deepbeepmeep Jul 26, 2025
a1970bb
hid audio if image mode
deepbeepmeep Jul 26, 2025
6850d60
interlude
deepbeepmeep Jul 28, 2025
8d12cf0
just another version
deepbeepmeep Jul 29, 2025
4226fbe
typos
deepbeepmeep Jul 29, 2025
f603d77
fixed autodownloads
deepbeepmeep Jul 29, 2025
b4a1f3c
fixed loading info
deepbeepmeep Jul 29, 2025
f2a60ba
Vace cocktail light is now really light
deepbeepmeep Jul 29, 2025
59cedcc
various fixes for wan 2.2
deepbeepmeep Jul 29, 2025
2f4795f
typos
deepbeepmeep Jul 29, 2025
4137a86
wan 2.2 image2video support
deepbeepmeep Jul 30, 2025
e8ce5a7
update requirements.txt
deepbeepmeep Jul 30, 2025
b019966
typos
deepbeepmeep Jul 30, 2025
6fc95f1
fixed diffusion forcing
deepbeepmeep Jul 30, 2025
688f894
removed auto color correction for first window
deepbeepmeep Jul 30, 2025
b7e4fe5
removed auto color correction for first window
deepbeepmeep Jul 30, 2025
35e4ee2
denoising strength saved correctly
deepbeepmeep Jul 31, 2025
d2a9d54
WanGP remuxed
deepbeepmeep Aug 4, 2025
9c2e892
some tiny tiny tiny fixes
deepbeepmeep Aug 4, 2025
c738462
fixed lora per phase crash
deepbeepmeep Aug 4, 2025
a989d9d
fix control image test
deepbeepmeep Aug 4, 2025
7b6c6e1
added debug code for ffmpeg
deepbeepmeep Aug 4, 2025
b2c3416
fixed fmpeg crasg on linux
deepbeepmeep Aug 4, 2025
979bc20
picky picky
deepbeepmeep Aug 6, 2025
3f20921
missing qwen
deepbeepmeep Aug 6, 2025
160e1f0
updated qwen urls
deepbeepmeep Aug 6, 2025
b01a5e4
added default def fir i2v 2.2
deepbeepmeep Aug 6, 2025
570cc68
fixed Wan 2.2 VAE URL
deepbeepmeep Aug 6, 2025
0e13d6b
why a S ?
deepbeepmeep Aug 6, 2025
8dc2e1c
fixed Wan 2.2 VAE crash
deepbeepmeep Aug 6, 2025
ede2245
florence 2 compatibility
deepbeepmeep Aug 6, 2025
1740b97
disabled auto color correction for first window if no continue video
deepbeepmeep Aug 6, 2025
6864518
Update LICENSE.txt
deepbeepmeep Aug 7, 2025
6c408c0
updated import
deepbeepmeep Aug 7, 2025
71d193a
updated import
deepbeepmeep Aug 7, 2025
3983715
fixed prompt enhancer import
deepbeepmeep Aug 7, 2025
50914b7
fixed fun inp models crash
deepbeepmeep Aug 7, 2025
3c185ae
fixed multitalk crash due to transformers upgrade
deepbeepmeep Aug 7, 2025
66ddadf
added qwen vae tiling
Aug 7, 2025
6b17c9f
oops
deepbeepmeep Aug 7, 2025
e13206b
added VAE tiling for ti2v 5B
deepbeepmeep Aug 8, 2025
98e1caa
mmgp update
deepbeepmeep Aug 8, 2025
960f1f8
updated mmgp version no
deepbeepmeep Aug 8, 2025
27d4c8e
righted a wrong
deepbeepmeep Aug 8, 2025
9545f2e
add fallback for Qwen Image and older GPUs
deepbeepmeep Aug 8, 2025
b8d843e
updated releases notes
deepbeepmeep Aug 8, 2025
8039080
fixed auto switch attention
deepbeepmeep Aug 9, 2025
8e300f7
mag cache support for Wan 2.2
deepbeepmeep Aug 9, 2025
a9d13e8
magcache support for Wan2.2
deepbeepmeep Aug 9, 2025
b9921bd
updated version
deepbeepmeep Aug 9, 2025
33514a8
fixed recammaster
deepbeepmeep Aug 9, 2025
ae5de88
added fast wan 5B and fixed pytorch compilation
deepbeepmeep Aug 10, 2025
57328d6
fixed recamaster
deepbeepmeep Aug 11, 2025
e972840
fixed i2v loras path
deepbeepmeep Aug 11, 2025
332ca7a
hid multitalk 2.2 not rdy for prime time
deepbeepmeep Aug 11, 2025
58c1549
fix messed up
deepbeepmeep Aug 11, 2025
175e05f
lucky day
deepbeepmeep Aug 11, 2025
6eb994e
better suppor lightning loras
deepbeepmeep Aug 12, 2025
cc744cc
bad luck good luck
deepbeepmeep Aug 12, 2025
d480d48
qwen lighning fix
deepbeepmeep Aug 12, 2025
74f0198
Update INSTALLATION.md
deepbeepmeep Aug 12, 2025
ede3d28
Update README.md
gravis778 Aug 13, 2025
2037261
Update requirements.txt
gravis778 Aug 13, 2025
7f1351d
Update INSTALLATION.md
gravis778 Aug 13, 2025
d7713c9
Merge pull request #735 from gravis778/patch-1
deepbeepmeep Aug 13, 2025
8d46721
Merge pull request #734 from gravis778/patch-2
deepbeepmeep Aug 13, 2025
c495c41
Merge pull request #733 from gravis778/patch-3
deepbeepmeep Aug 13, 2025
f4537e0
fixed docs and requirements
deepbeepmeep Aug 14, 2025
ccea784
fixed output path bug
deepbeepmeep Aug 14, 2025
51341ac
fixed shameful bug: Wan 2.2 low loras x were incorretly replace by hi…
deepbeepmeep Aug 14, 2025
1c310f7
the killer of seven
deepbeepmeep Aug 20, 2025
e6efa43
fixed phases no
deepbeepmeep Aug 20, 2025
8888b37
fixed qwen default settings
deepbeepmeep Aug 20, 2025
95fdf33
removed the coma
deepbeepmeep Aug 21, 2025
8842db7
improved Qwen Edit id preservation
deepbeepmeep Aug 21, 2025
dbe7442
fix 3 phases guidance settings corruption
deepbeepmeep Aug 21, 2025
e2273ef
the RAM Liberator
deepbeepmeep Aug 24, 2025
178f3b2
fix prompt enhancer with image refs
deepbeepmeep Aug 24, 2025
43c8d2b
fixed continue video with i2v
deepbeepmeep Aug 24, 2025
485aa93
fix bug when parallel audio not same length
deepbeepmeep Aug 25, 2025
4dacbcb
fix incorrect internal resize bug
deepbeepmeep Aug 25, 2025
9b6448c
fix part2
deepbeepmeep Aug 25, 2025
7b3715f
added support for qwen lora safetensors format
deepbeepmeep Aug 25, 2025
ecd2193
fix autodownload modules
deepbeepmeep Aug 25, 2025
58b99f8
weekend fun
deepbeepmeep Aug 29, 2025
c704371
fix
deepbeepmeep Aug 29, 2025
26341db
here goes uso
deepbeepmeep Aug 29, 2025
492fa97
correct default guidance
deepbeepmeep Aug 29, 2025
e15afef
fixed standin modulation bug
deepbeepmeep Aug 30, 2025
3307def
add more checks + logging + upgrade peft
psyb0t Aug 30, 2025
5940aa0
Merge branch 'main' into feature_add-cuda-docker-runner
psyb0t Aug 30, 2025
808ef51
fix readme
psyb0t Aug 30, 2025
f01a486
Merge branch 'main' into feature_add-cuda-docker-runner
psyb0t Aug 30, 2025
9e0354e
standin: added warning if image is missing
deepbeepmeep Aug 30, 2025
336e941
fixed memory leak
deepbeepmeep Aug 30, 2025
6490af1
fixed standin with boost off
deepbeepmeep Aug 30, 2025
1ae91d3
fixed InfiniteTalk starting from last frame
deepbeepmeep Sep 2, 2025
898b542
pain reliever
deepbeepmeep Sep 2, 2025
6a15bca
pain reliever
deepbeepmeep Sep 2, 2025
f2db023
a release without a gaming breaking bug is not a release
deepbeepmeep Sep 2, 2025
959ab9e
no more pain
deepbeepmeep Sep 2, 2025
2ac31cc
no more pain
deepbeepmeep Sep 2, 2025
0871a3b
a few fixes
deepbeepmeep Sep 3, 2025
a60eea2
fixes and polish
deepbeepmeep Sep 3, 2025
e5abb1b
fixed pytorch compilation
deepbeepmeep Sep 3, 2025
56a51b7
add multitalk support for audio in mp4
deepbeepmeep Sep 3, 2025
13b001d
fixed forms errors
deepbeepmeep Sep 4, 2025
b37c1a2
removed infinitetalk forced video to video
deepbeepmeep Sep 5, 2025
8859e81
Take me to outer space
deepbeepmeep Sep 5, 2025
a99d906
Merge branch 'main' of https://github.com/deepbeepmeep/Wan2GP into ne…
deepbeepmeep Sep 5, 2025
99fd9ae
fixed settings update
deepbeepmeep Sep 5, 2025
836777e
fixed End Frames checkbox not always visible
deepbeepmeep Sep 5, 2025
cf65889
fixed End Frames checkbox not always visible
deepbeepmeep Sep 5, 2025
242ae50
fixed End Frames checkbox not always visible
deepbeepmeep Sep 5, 2025
0649686
fixed End Frames checkbox not always visible
deepbeepmeep Sep 5, 2025
66a07db
fixed End Frames checkbox not always visible
deepbeepmeep Sep 5, 2025
f9f63cb
intermediate commit
deepbeepmeep Sep 9, 2025
e7c08d1
fixed unwanted discontinuity with at the end of first sliding window …
deepbeepmeep Sep 9, 2025
1f26e3c
crop & paint
deepbeepmeep Sep 10, 2025
1191623
crop & paint
deepbeepmeep Sep 10, 2025
9fa2670
Flux Festival
deepbeepmeep Sep 11, 2025
7bcd724
attack of the clones
deepbeepmeep Sep 15, 2025
ae93d71
fixed simple annoying bugs
deepbeepmeep Sep 16, 2025
fc615ff
fixed simple annoying bugs
deepbeepmeep Sep 16, 2025
84010bd
commit in case there is an unrecoverable code hemorragy
deepbeepmeep Sep 22, 2025
e28c95a
Vace Contenders are in Town
deepbeepmeep Sep 23, 2025
356e10c
fixed default sound
deepbeepmeep Sep 23, 2025
625b50a
fixed lucy edit fast wan, lora missing
deepbeepmeep Sep 23, 2025
2cbcb95
fix sparse video error
deepbeepmeep Sep 24, 2025
0a58ef6
fixed sparse crash
deepbeepmeep Sep 24, 2025
0ddf4a2
Merge branch 'main' of https://github.com/deepbeepmeep/Wan2GP
deepbeepmeep Sep 24, 2025
76f86c4
add qwen edit plus support
deepbeepmeep Sep 24, 2025
305b621
add qwen edit plus support
deepbeepmeep Sep 24, 2025
b44fcc2
restored original gallery height
deepbeepmeep Sep 24, 2025
654bb04
fixed missing audio input for Hunyuan Avatar and Custom Audio
deepbeepmeep Sep 24, 2025
ee0bb89
Added Qwen Preview mode
deepbeepmeep Sep 25, 2025
5cfedca
Added Qwen Preview mode
deepbeepmeep Sep 25, 2025
14d68bb
fixed double Vace controlnets with no mask
deepbeepmeep Sep 25, 2025
ba764e8
more spoil
deepbeepmeep Sep 25, 2025
bb7e847
better packaging of matanyone
deepbeepmeep Sep 25, 2025
cedb800
Merge pull request #406 from sfinktah/sfink-amd-torch
deepbeepmeep Sep 27, 2025
b28cb44
Merge branch 'main' into feature_add-cuda-docker-runner
deepbeepmeep Sep 27, 2025
6dfd173
Update README.md
deepbeepmeep Sep 27, 2025
d16cc19
Merge pull request #500 from psyb0t/feature_add-cuda-docker-runner
deepbeepmeep Sep 27, 2025
79df3aa
Update README.md
deepbeepmeep Sep 27, 2025
5ce8fc3
various fixes
deepbeepmeep Sep 27, 2025
d62748a
missed files
deepbeepmeep Sep 27, 2025
a4d62fc
removed test line that cause sage crash
deepbeepmeep Sep 27, 2025
799c3a2
Add mkv video export support and support for embedding source images …
Gunther-Schulz Sep 28, 2025
641cdcb
Fix continuous GUI status display issue
Gunther-Schulz Sep 29, 2025
865594b
Remove unnecessary 'No attachment streams found' message
Gunther-Schulz Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 12 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@
*.pth
*.ckpt
*.safetensors
*.json
#*.json
# *.txt
*.backup
*.pkl
*.html
*.pdf
*.whl
*.exe
cache
__pycache__/
storage/
Expand All @@ -34,3 +35,13 @@ 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/

wgp_config.json

settings/
16 changes: 16 additions & 0 deletions Custom Resolutions Instructions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
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"]
]
92 changes: 92 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +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 <<EOF /tmp/patch_setup.py
import os
with open('setup.py', 'r') as f:
content = f.read()

# Get architectures from environment variable
arch_list = os.environ.get('TORCH_CUDA_ARCH_LIST')
arch_set = '{' + ', '.join([f'"{arch}"' for arch in arch_list.split(';')]) + '}'

# Replace the GPU detection section
old_section = '''compute_capabilities = set()
device_count = torch.cuda.device_count()
for i in range(device_count):
major, minor = torch.cuda.get_device_capability(i)
if major < 8:
warnings.warn(f"skipping GPU {i} with compute capability {major}.{minor}")
continue
compute_capabilities.add(f"{major}.{minor}")'''

new_section = 'compute_capabilities = ' + arch_set + '''
print(f"Manually set compute capabilities: {compute_capabilities}")'''

content = content.replace(old_section, new_section)

with open('setup.py', 'w') as f:
f.write(content)
EOF

RUN git clone https://github.com/thu-ml/SageAttention.git /tmp/sageattention && \
cd /tmp/sageattention && \
python3 /tmp/patch_setup.py && \
pip install --no-build-isolation .

RUN useradd -u 1000 -ms /bin/bash user

RUN chown -R user:user /workspace

RUN mkdir /home/user/.cache && \
chown -R user:user /home/user/.cache

COPY entrypoint.sh /workspace/entrypoint.sh

ENTRYPOINT ["/workspace/entrypoint.sh"]
225 changes: 35 additions & 190 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,201 +1,46 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
WanGP NON-COMMERCIAL EVALUATION LICENSE 1.0

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Definitions
1.1 “Software” means the source code, binaries, libraries, utilities and UI released under this license.
1.2 “Output” means images, videos or other media produced by running the Software.
1.3 “Commercial Use” means:
a) selling, sublicensing, renting, leasing, or otherwise distributing the Software, in whole or in part, for a fee or other consideration; or
b) offering the Software (or any derivative) as part of a paid product or hosted service; or
c) using the Software (or any derivative) to provide cloud-based or backend services, where end users access or pay for those services.

1. Definitions.
License Grant
Subject to Section 3:
a) You are granted a worldwide, non-exclusive, royalty-free, revocable license to use, reproduce, modify and distribute the Software for non-commercial purposes only.
b) You are granted a worldwide, non-exclusive, royalty-free, irrevocable license to use, reproduce, modify and distribute the Output for any purpose, including commercial sale, provided that any commercial distribution of the Output includes a clear notice that the Output was produced (in whole or in part) using WanGP, along with a hyperlink to the WanGP application’s About tab or repository.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
Restrictions
3.1 You MAY NOT distribute, sublicense or otherwise make available the Software (or any derivative) for Commercial Use.
3.2 You MAY sell, license or otherwise commercially exploit the Output without restriction.
3.3 If you wish to use the Software for Commercial Use, you must obtain a separate commercial license from the Licensor.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
Third-Party Components 4.1 The Software includes components licensed under various open-source licenses (e.g., Apache 2.0, MIT, BSD). 4.2 You must comply with all applicable terms of those third-party licenses, including preservation of copyright notices, inclusion of required license texts, and patent-grant provisions. 4.3 You can find the full text of each third-party license via the “About” tab in the WanGP application, which provides links to their original GitHub repositories.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
Attribution
5.1 You must give appropriate credit by including:
• a copy of this license (or a link to it), and
• a notice that your use is based on “WanGP”.
5.2 You may do so in any reasonable manner, but not in any way that suggests the Licensor endorses you or your use.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
Disclaimer of Warranty & Liability
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
Commercial Licensing The Licensor may offer commercial licenses for the Software, which grant rights to use the Software for Commercial Use. Please contact [deepbeepmeep@yahoo.com] for terms and pricing.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
Effective Date & Previous Versions
8.1 This license is effective as of the date the LICENSE file is updated in the WanGP repository.
8.2 Any copies of the Software obtained under prior license terms before this Effective Date remain governed by those prior terms; such granted rights are irrevocable.
8.3 Use of the Software after the release of any subsequent version by the Licensor is subject to the terms of the then-current license, unless a separate agreement is in place.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
Acceptable Use / Moral Clause
9.1 You MAY NOT use the Software or the Output to facilitate or produce content that is illegal, harmful, violent, harassing, defamatory, fraudulent, or otherwise violates applicable laws or fundamental human rights.
9.2 You MAY NOT deploy the Software or Output in contexts that promote hate speech, extremist ideology, human rights abuses, or other actions that could foreseeably cause significant harm to individuals or groups.
9.3 The Licensor reserves the right to terminate the rights granted under this license if a licensee materially breaches this Acceptable Use clause.

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
END OF LICENSE

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading