1inkusFace commited on
Commit
2fdb327
·
verified ·
1 Parent(s): 6746920

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -10
app.py CHANGED
@@ -32,17 +32,17 @@ def init_predictor():
32
  )
33
 
34
  @spaces.GPU(duration=80)
35
- def generate_video(prompt, seed, image=None):
36
  print(f"image:{type(image)}")
37
  if seed == -1:
38
  random.seed(time.time())
39
  seed = int(random.randrange(4294967294))
40
  kwargs = {
41
  "prompt": prompt,
42
- "height": 320,
43
- "width": 320,
44
- "num_frames": 64,
45
- "num_inference_steps": 10,
46
  "seed": seed,
47
  "guidance_scale": 6.0,
48
  "embedded_guidance_scale": 1.0,
@@ -50,12 +50,13 @@ def generate_video(prompt, seed, image=None):
50
  "cfg_for": False,
51
  }
52
  assert image is not None, "please input image"
53
- kwargs["image"] = load_image(image=image).resize((320,320), Image.LANCZOS)
 
 
54
  #global predictor
55
  output = predictor.inference(kwargs)
56
- save_dir = f"./result"
57
- os.makedirs(save_dir, exist_ok=True)
58
- video_out_file = f"{save_dir}/{prompt[:100].replace('/','')}_{seed}.mp4"
59
  print(f"generate video, local path: {video_out_file}")
60
  export_to_video(output, video_out_file, fps=24)
61
  return video_out_file
@@ -66,11 +67,32 @@ def create_gradio_interface():
66
  image = gr.Image(label="Upload Image", type="filepath")
67
  prompt = gr.Textbox(label="Input Prompt")
68
  seed = gr.Number(label="Random Seed", value=-1)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  submit_button = gr.Button("Generate Video")
70
  output_video = gr.Video(label="Generated Video")
71
  submit_button.click(
72
  fn=generate_video,
73
- inputs=[prompt, seed, image],
74
  outputs=[output_video],
75
  )
76
  return demo
 
32
  )
33
 
34
  @spaces.GPU(duration=80)
35
+ def generate_video(prompt, seed, image=None, size, steps, frames):
36
  print(f"image:{type(image)}")
37
  if seed == -1:
38
  random.seed(time.time())
39
  seed = int(random.randrange(4294967294))
40
  kwargs = {
41
  "prompt": prompt,
42
+ "height": size,
43
+ "width": size,
44
+ "num_frames": frames,
45
+ "num_inference_steps": steps,
46
  "seed": seed,
47
  "guidance_scale": 6.0,
48
  "embedded_guidance_scale": 1.0,
 
50
  "cfg_for": False,
51
  }
52
  assert image is not None, "please input image"
53
+ img = load_image(image=image)
54
+ img.resize((size,size), Image.LANCZOS)
55
+ kwargs["image"] = img
56
  #global predictor
57
  output = predictor.inference(kwargs)
58
+ save_dir = f"./"
59
+ video_out_file = f"{seed}.mp4"
 
60
  print(f"generate video, local path: {video_out_file}")
61
  export_to_video(output, video_out_file, fps=24)
62
  return video_out_file
 
67
  image = gr.Image(label="Upload Image", type="filepath")
68
  prompt = gr.Textbox(label="Input Prompt")
69
  seed = gr.Number(label="Random Seed", value=-1)
70
+ width = gr.Slider(
71
+ label="Size",
72
+ minimum=256,
73
+ maximum=1024,
74
+ step=16,
75
+ value=448,
76
+ )
77
+ frames = gr.Slider(
78
+ label="Number of Frames",
79
+ minimum=16,
80
+ maximum=256,
81
+ step=8,
82
+ value=64,
83
+ )
84
+ steps = = gr.Slider(
85
+ label="Number of Steps",
86
+ minimum=16,
87
+ maximum=96,
88
+ step=1,
89
+ value=20,
90
+ )
91
  submit_button = gr.Button("Generate Video")
92
  output_video = gr.Video(label="Generated Video")
93
  submit_button.click(
94
  fn=generate_video,
95
+ inputs=[prompt, seed, image, size, steps, frames],
96
  outputs=[output_video],
97
  )
98
  return demo