Sabbirr12 commited on
Commit
2406cc7
·
verified ·
1 Parent(s): 5ad277f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -30
app.py CHANGED
@@ -1,42 +1,40 @@
1
  import gradio as gr
2
  from diffusers import StableDiffusionPipeline, DiffusionPipeline
3
- import torch, imageio
 
4
 
5
- # Load Image Generator
6
- img_model = "runwayml/stable-diffusion-v1-5"
7
- img_pipe = StableDiffusionPipeline.from_pretrained(img_model, torch_dtype=torch.float32)
8
- img_pipe = img_pipe.to("cpu")
9
 
10
- # Load Video Generator
11
- vid_model = "damo-vilab/text-to-video-ms-1.7b"
12
- vid_pipe = DiffusionPipeline.from_pretrained(vid_model, torch_dtype=torch.float32)
13
- vid_pipe = vid_pipe.to("cpu")
14
 
15
- # Image generation function
16
  def generate_image(prompt):
17
- image = img_pipe(prompt).images[0]
18
  return image
19
 
20
- # Video generation function
21
- def generate_video(prompt):
22
- video_frames = vid_pipe(prompt, num_frames=8).frames
23
- output_path = "output.mp4"
24
- imageio.mimsave(output_path, video_frames, fps=8)
25
- return output_path
26
 
27
- # Gradio Tabs UI
28
  with gr.Blocks() as demo:
29
- gr.Markdown("## 🎨 Free AI Image + Video Generator")
30
- with gr.Tab("🖼️ Image Generator"):
31
- text_in = gr.Textbox(label="ছবির জন্য প্রম্পট লিখুন")
32
- img_out = gr.Image(type="pil")
33
- btn1 = gr.Button("Generate Image")
34
- btn1.click(generate_image, inputs=text_in, outputs=img_out)
35
-
36
- with gr.Tab("🎬 Video Generator"):
37
- text_in2 = gr.Textbox(label="ভিডিওর জন্য প্রম্পট লিখুন")
38
- vid_out = gr.Video()
39
- btn2 = gr.Button("Generate Video")
40
- btn2.click(generate_video, inputs=text_in2, outputs=vid_out)
 
 
41
 
42
  demo.launch()
 
1
  import gradio as gr
2
  from diffusers import StableDiffusionPipeline, DiffusionPipeline
3
+ import torch
4
+ from PIL import Image
5
 
6
+ # Load Text ➤ Image model
7
+ text2img = StableDiffusionPipeline.from_pretrained(
8
+ "runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16
9
+ ).to("cuda")
10
 
11
+ # Load Image ➤ Video model
12
+ img2vid = DiffusionPipeline.from_pretrained(
13
+ "damo-vilab/image-to-video", torch_dtype=torch.float16, variant="fp16"
14
+ ).to("cuda")
15
 
 
16
  def generate_image(prompt):
17
+ image = text2img(prompt).images[0]
18
  return image
19
 
20
+ def generate_video(image):
21
+ video_frames = img2vid(image).frames
22
+ return video_frames
 
 
 
23
 
 
24
  with gr.Blocks() as demo:
25
+ gr.Markdown("## 🎨 Text Image Video Generator")
26
+
27
+ with gr.Row():
28
+ prompt = gr.Textbox(label="📝 Enter Prompt")
29
+ img_output = gr.Image(label="🖼️ Generated Image")
30
+ btn_img = gr.Button("Generate Image")
31
+
32
+ with gr.Row():
33
+ img_input = gr.Image(label="📥 Drop Image Here")
34
+ vid_output = gr.Video(label="🎬 Generated Video")
35
+ btn_vid = gr.Button("Generate Video")
36
+
37
+ btn_img.click(fn=generate_image, inputs=prompt, outputs=img_output)
38
+ btn_vid.click(fn=generate_video, inputs=img_input, outputs=vid_output)
39
 
40
  demo.launch()