fffiloni commited on
Commit
aaf6d71
·
verified ·
1 Parent(s): 180e34e

Update gradio_app.py

Browse files
Files changed (1) hide show
  1. gradio_app.py +64 -25
gradio_app.py CHANGED
@@ -2,6 +2,7 @@ import yaml
2
  import tempfile
3
  import gradio as gr
4
  import os
 
5
  import torch
6
  import imageio
7
  import argparse
@@ -249,8 +250,14 @@ def main(args):
249
  print(f"relight with bg generation! prompt:{relight_prompt}, light:{bg_source.value}, save in {results_path}.")
250
  return results_path
251
 
252
- def infer(n_prompt, relight_prompt, video_path, bg_source, save_path,
253
- width, height, strength, gamma, num_step, text_guide_scale, seed):
 
 
 
 
 
 
254
 
255
  config_data = {
256
  "n_prompt": n_prompt,
@@ -287,28 +294,60 @@ def infer(n_prompt, relight_prompt, video_path, bg_source, save_path,
287
  return results_path
288
 
289
  with gr.Blocks() as demo:
290
- with gr.Row():
291
- n_prompt = gr.Textbox(label="Negative Prompt")
292
- relight_prompt = gr.Textbox(label="Relight Prompt")
293
- with gr.Row():
294
- video_path = gr.Textbox(label="Video Path")
295
- bg_source = gr.Dropdown(["NONE", "LEFT", "RIGHT", "BOTTOM", "TOP"], label="Background Source")
296
- with gr.Row():
297
- save_path = gr.Textbox(label="Save Path")
298
- width = gr.Number(label="Width", value=512)
299
- height = gr.Number(label="Height", value=512)
300
- with gr.Row():
301
- strength = gr.Slider(minimum=0.0, maximum=1.0, label="Strength", value=0.5)
302
- gamma = gr.Slider(minimum=0.0, maximum=1.0, label="Gamma", value=0.5)
303
- with gr.Row():
304
- num_step = gr.Number(label="Number of Steps", value=25)
305
- text_guide_scale = gr.Number(label="Text Guide Scale", value=2)
306
- seed = gr.Number(label="Seed", value=2060)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
307
 
308
- output = gr.Video(label="Results Path")
309
- submit = gr.Button("Run")
310
- submit.click(infer, inputs=[n_prompt, relight_prompt, video_path, bg_source, save_path,
311
- width, height, strength, gamma, num_step, text_guide_scale, seed],
312
- outputs=output)
 
313
 
314
- demo.launch()
 
2
  import tempfile
3
  import gradio as gr
4
  import os
5
+ import shutil
6
  import torch
7
  import imageio
8
  import argparse
 
250
  print(f"relight with bg generation! prompt:{relight_prompt}, light:{bg_source.value}, save in {results_path}.")
251
  return results_path
252
 
253
+ def infer(n_prompt, relight_prompt, video_path, bg_source,
254
+ width, height, strength, gamma, num_step, text_guide_scale, seed, progress=gr.Progress(track_tqdm=True)):
255
+
256
+ save_path = "./output"
257
+ # Ensure output folder is empty
258
+ if os.path.exists(save_path):
259
+ shutil.rmtree(save_path)
260
+ os.makedirs(save_path, exist_ok=True)
261
 
262
  config_data = {
263
  "n_prompt": n_prompt,
 
294
  return results_path
295
 
296
  with gr.Blocks() as demo:
297
+ with gr.Column(elem_id="col-container"):
298
+ gr.Markdown("# Light-A-Video")
299
+ with gr.Row():
300
+ with gr.Column():
301
+ video_path = gr.Textbox(label="Video Path")
302
+ with gr.Row():
303
+ relight_prompt = gr.Textbox(label="Relight Prompt")
304
+ bg_source = gr.Dropdown(["NONE", "LEFT", "RIGHT", "BOTTOM", "TOP"], label="Background Source")
305
+
306
+ with gr.Accordion(label="Advanced Settings", open=False):
307
+ n_prompt = gr.Textbox(label="Negative Prompt", value="bad quality, worse quality")
308
+ with gr.Row():
309
+ width = gr.Number(label="Width", value=512)
310
+ height = gr.Number(label="Height", value=512)
311
+
312
+ with gr.Row():
313
+ strength = gr.Slider(minimum=0.0, maximum=1.0, label="Strength", value=0.5)
314
+ gamma = gr.Slider(minimum=0.0, maximum=1.0, label="Gamma", value=0.5)
315
+ with gr.Row():
316
+ num_step = gr.Number(label="Number of Steps", value=25)
317
+ text_guide_scale = gr.Number(label="Text Guide Scale", value=2)
318
+ seed = gr.Number(label="Seed", value=2060)
319
+
320
+ submit = gr.Button("Run")
321
+
322
+ gr.Examples(
323
+ examples=[
324
+ ["./input_animatediff/bear.mp4", "a bear walking on the rock, nature lighting, key light", "TOP"],
325
+ ["./input_animatediff/boat.mp4", "a boat floating on the sea, sunset", "TOP"],
326
+ ["./input_animatediff/car.mp4", "a car driving on the street, neon light", "RIGHT"],
327
+ ["./input_animatediff/cat.mp4", "a cat, red and blue neon light", "LEFT"],
328
+ ["./input_animatediff/cow.mp4", "a cow drinking water in the river, sunset", "RIGHT"],
329
+ ["./input_animatediff/flowers.mp4", "A basket of flowers, sunshine, hard light", "LEFT"],
330
+ ["./input_animatediff/fox.mp4", "a fox, sunlight filtering through trees, dappled light", "LEFT"],
331
+ ["./input_animatediff/girl.mp4", "a girl, magic lit, sci-fi RGB glowing, key lighting", "BOTTOM"],
332
+ ["./input_animatediff/girl2.mp4", "an anime girl, neon light", "RIGHT"],
333
+ ["./input_animatediff/juice.mp4", "Pour juice into a glass, magic golden lit", "RIGHT"],
334
+ ["./input_animatediff/man2.mp4", "handsome man with glasses, shadow from window, sunshine", "RIGHT"],
335
+ ["./input_animatediff/man4.mp4", "handsome man with glasses, sunlight through the blinds", "LEFT"],
336
+ ["./input_animatediff/plane.mp4", "a plane on the runway, bottom neon light", "BOTTOM"],
337
+ ["./input_animatediff/toy.mp4", "a maneki-neko toy, cozy bedroom illumination", "RIGHT"],
338
+ ["./input_animatediff/woman.mp4", "a woman with curly hair, natural lighting, warm atmosphere", "LEFT"],
339
+ ],
340
+ inputs=[video_path, relight_prompt, bg_source]
341
+ )
342
+
343
+ with gr.Column():
344
+ output = gr.Video(label="Results Path")
345
 
346
+ submit.click(
347
+ fn=infer,
348
+ inputs=[n_prompt, relight_prompt, video_path, bg_source,
349
+ width, height, strength, gamma, num_step, text_guide_scale, seed],
350
+ outputs=[output]
351
+ )
352
 
353
+ demo.queue().launch(show_api=False, show_error=True, ssr_mode=False)