burak commited on
Commit
8ad1496
1 Parent(s): e35a4fa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -35
app.py CHANGED
@@ -2,6 +2,7 @@ import os
2
  import time
3
  from typing import List, Tuple, Optional
4
  from pathlib import Path
 
5
 
6
  import google.generativeai as genai
7
  import gradio as gr
@@ -42,6 +43,7 @@ def user(text_prompt: str, chatbot: List[Tuple[str, str]]):
42
  return "", chatbot + [[text_prompt, None]]
43
 
44
 
 
45
  def bot(
46
  google_key: str,
47
  model_name: str,
@@ -71,45 +73,29 @@ def bot(
71
  top_k=top_k,
72
  top_p=top_p)
73
 
74
- if video_prompt is not None and image_prompt is not None:
75
- model = genai.GenerativeModel(model_name)
76
-
77
- image_prompt = preprocess_image(image_prompt)
78
- for video_path in video_prompt:
79
- video_file = genai.upload_file(path=video_path)
80
- while video_file.state.name == "PROCESSING":
81
- print('.', end='')
82
- time.sleep(10)
83
- video_file = genai.get_file(video_file.name)
84
-
85
- if video_file.state.name == "FAILED":
86
- raise ValueError(video_file.state.name)
87
 
88
- response = model.generate_content(
89
- contents=[video_file, image_prompt, text_prompt],
90
- stream=True,
91
- generation_config=generation_config,
92
- request_options={"timeout": 600})
93
- response.resolve()
94
- elif video_prompt is not None:
95
  model = genai.GenerativeModel(model_name)
96
 
97
- for video_path in video_prompt:
98
- video_file = genai.upload_file(path=video_path)
99
- while video_file.state.name == "PROCESSING":
100
- print('.', end='')
101
- time.sleep(10)
102
- video_file = genai.get_file(video_file.name)
103
-
104
- if video_file.state.name == "FAILED":
105
- raise ValueError(video_file.state.name)
106
 
107
- response = model.generate_content(
108
- contents=[video_file, text_prompt],
109
- stream=True,
110
- generation_config=generation_config,
111
- request_options={"timeout": 600})
112
- response.resolve()
113
  elif image_prompt is not None:
114
  image_prompt = preprocess_image(image_prompt)
115
  model = genai.GenerativeModel(model_name)
 
2
  import time
3
  from typing import List, Tuple, Optional
4
  from pathlib import Path
5
+ from moviepy.editor import VideoFileClip, concatenate_videoclips
6
 
7
  import google.generativeai as genai
8
  import gradio as gr
 
43
  return "", chatbot + [[text_prompt, None]]
44
 
45
 
46
+
47
  def bot(
48
  google_key: str,
49
  model_name: str,
 
73
  top_k=top_k,
74
  top_p=top_p)
75
 
76
+ if video_prompt is not None:
77
+ video_clips = [VideoFileClip(str(video_path)) for video_path in video_prompt]
78
+ merged_video = concatenate_videoclips(video_clips)
79
+ merged_video_path = "merged_video.mp4"
80
+ merged_video.write_videofile(merged_video_path)
 
 
 
 
 
 
 
 
81
 
 
 
 
 
 
 
 
82
  model = genai.GenerativeModel(model_name)
83
 
84
+ video_file = genai.upload_file(path=merged_video_path)
85
+ while video_file.state.name == "PROCESSING":
86
+ print('.', end='')
87
+ time.sleep(10)
88
+ video_file = genai.get_file(video_file.name)
89
+
90
+ if video_file.state.name == "FAILED":
91
+ raise ValueError(video_file.state.name)
 
92
 
93
+ response = model.generate_content(
94
+ contents=[video_file, text_prompt],
95
+ stream=True,
96
+ generation_config=generation_config,
97
+ request_options={"timeout": 600})
98
+ response.resolve()
99
  elif image_prompt is not None:
100
  image_prompt = preprocess_image(image_prompt)
101
  model = genai.GenerativeModel(model_name)