Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
import torch
|
2 |
-
from diffusers import AutoencoderKLWan, WanPipeline
|
3 |
from diffusers.utils import export_to_video
|
4 |
from diffusers.loaders.lora_conversion_utils import _convert_non_diffusers_lora_to_diffusers # Keep this if it's the base
|
5 |
import gradio as gr
|
@@ -307,6 +307,10 @@ pipe = WanPipeline.from_pretrained(
|
|
307 |
vae=vae,
|
308 |
torch_dtype=torch.bfloat16 # bfloat16 for pipeline
|
309 |
)
|
|
|
|
|
|
|
|
|
310 |
logger.info("Moving pipeline to CUDA...")
|
311 |
pipe.to("cuda")
|
312 |
|
@@ -342,7 +346,7 @@ logger.info("Manual diff_b/diff patches applied.")
|
|
342 |
|
343 |
# --- Gradio Interface Function ---
|
344 |
@spaces.GPU
|
345 |
-
def generate_video(prompt, negative_prompt, height, width, num_frames, guidance_scale, steps, fps):
|
346 |
logger.info("Starting video generation...")
|
347 |
logger.info(f" Prompt: {prompt}")
|
348 |
logger.info(f" Negative Prompt: {negative_prompt if negative_prompt else 'None'}")
|
@@ -397,7 +401,7 @@ with gr.Blocks() as demo:
|
|
397 |
height_input = gr.Slider(minimum=256, maximum=768, step=64, value=480, label="Height (multiple of 8)")
|
398 |
width_input = gr.Slider(minimum=256, maximum=1024, step=64, value=832, label="Width (multiple of 8)")
|
399 |
with gr.Row():
|
400 |
-
num_frames_input = gr.Slider(minimum=16, maximum=100, step=1, value=25, label="Number of Frames")
|
401 |
fps_input = gr.Slider(minimum=5, maximum=30, step=1, value=15, label="Output FPS")
|
402 |
steps = gr.Slider(minimum=1.0, maximum=30.0, value=4.0, label="Steps")
|
403 |
guidance_scale_input = gr.Slider(minimum=1.0, maximum=20.0, step=0.5, value=5.0, label="Guidance Scale")
|
|
|
1 |
import torch
|
2 |
+
from diffusers import AutoencoderKLWan, WanPipeline, UniPCMultistepScheduler
|
3 |
from diffusers.utils import export_to_video
|
4 |
from diffusers.loaders.lora_conversion_utils import _convert_non_diffusers_lora_to_diffusers # Keep this if it's the base
|
5 |
import gradio as gr
|
|
|
307 |
vae=vae,
|
308 |
torch_dtype=torch.bfloat16 # bfloat16 for pipeline
|
309 |
)
|
310 |
+
flow_shift = 8.0 # 5.0 for 720P, 3.0 for 480P
|
311 |
+
pipe.scheduler = UniPCMultistepScheduler.from_config(
|
312 |
+
pipe.scheduler.config, flow_shift=flow_shift
|
313 |
+
)
|
314 |
logger.info("Moving pipeline to CUDA...")
|
315 |
pipe.to("cuda")
|
316 |
|
|
|
346 |
|
347 |
# --- Gradio Interface Function ---
|
348 |
@spaces.GPU
|
349 |
+
def generate_video(prompt, negative_prompt, height, width, num_frames, guidance_scale, steps, fps, progress=gr.Progress(track_tqdm=True)):
|
350 |
logger.info("Starting video generation...")
|
351 |
logger.info(f" Prompt: {prompt}")
|
352 |
logger.info(f" Negative Prompt: {negative_prompt if negative_prompt else 'None'}")
|
|
|
401 |
height_input = gr.Slider(minimum=256, maximum=768, step=64, value=480, label="Height (multiple of 8)")
|
402 |
width_input = gr.Slider(minimum=256, maximum=1024, step=64, value=832, label="Width (multiple of 8)")
|
403 |
with gr.Row():
|
404 |
+
num_frames_input = gr.Slider(minimum=16, maximum=100, step=1, value=25, label="Number of Frames")
|
405 |
fps_input = gr.Slider(minimum=5, maximum=30, step=1, value=15, label="Output FPS")
|
406 |
steps = gr.Slider(minimum=1.0, maximum=30.0, value=4.0, label="Steps")
|
407 |
guidance_scale_input = gr.Slider(minimum=1.0, maximum=20.0, step=0.5, value=5.0, label="Guidance Scale")
|