ginipick commited on
Commit
485c985
ยท
verified ยท
1 Parent(s): 29c4be9

Update app.py

Browse files

with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
with gr.Tab("Generate"):
with gr.Row():
input_image = gr.Image(label="Upload an image", type="filepath")
input_text = gr.Textbox(label="Enter your prompt for video generation")
output_video = gr.Video(label="Generated Video")

with gr.Row():
steps = gr.Slider(minimum=1, maximum=100, step=1, label="Steps", value=30)
cfg_scale = gr.Slider(minimum=1, maximum=15, step=0.1, label="CFG Scale", value=3.5)
eta = gr.Slider(minimum=0, maximum=1, step=0.1, label="ETA", value=1)
fs = gr.Slider(minimum=1, maximum=30, step=1, label="FPS", value=8)
seed = gr.Slider(minimum=0, maximum=1000000, step=1, label="Seed", value=123)
video_length = gr.Slider(minimum=1, maximum=10, step=1, label="Video Length (seconds)", value=2)

with gr.Row():
for prompt, image_file in examples:
with gr.Column():
gr.Image(image_file, label=prompt[:50] + "...")
gr.Button("Use this example").click(
fn=use_prompt_and_image,
inputs=[],
outputs=[input_text, input_image],
api_name=False
).then(
lambda p=prompt, i=image_file: (p, i),
inputs=[],
outputs=[input_text, input_image]
)

with gr.Tab("Gallery"):
gallery = gr.Gallery(
label="Generated Videos",
show_label=False,
elem_id="gallery",
columns=[5],
rows=[3],
object_fit="contain",
height="auto"
)
selected_video = gr.Video(label="Selected Video")
refresh_btn = gr.Button("Refresh Gallery")

def update_gallery():
return load_gallery()

def show_video(evt: gr.SelectData):
return evt.value[2] # ์„ ํƒ๋œ ์ธ๋„ค์ผ์— ํ•ด๋‹นํ•˜๋Š” ๋น„๋””์˜ค ๊ฒฝ๋กœ ๋ฐ˜ํ™˜

refresh_btn.click(fn=update_gallery, inputs=None, outputs=gallery)
demo.load(fn=update_gallery, inputs=None, outputs=gallery)
gallery.select(show_video, None, selected_video)

input_text.submit(
fn=respond,
inputs=[input_image, input_text, steps, cfg_scale, eta, fs, seed, video_length],
outputs=output_video
).then(
fn=update_gallery,
inputs=None,
outputs=gallery
)

if __name__ == "__main__":
demo.launch()

Files changed (1) hide show
  1. app.py +0 -65
app.py CHANGED
@@ -138,71 +138,6 @@ def use_prompt_and_image(prompt, image):
138
  return prompt, image
139
 
140
 
141
- with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css) as demo:
142
- with gr.Tab("Generate"):
143
- with gr.Row():
144
- input_image = gr.Image(label="Upload an image", type="filepath")
145
- input_text = gr.Textbox(label="Enter your prompt for video generation")
146
- output_video = gr.Video(label="Generated Video")
147
-
148
- with gr.Row():
149
- steps = gr.Slider(minimum=1, maximum=100, step=1, label="Steps", value=30)
150
- cfg_scale = gr.Slider(minimum=1, maximum=15, step=0.1, label="CFG Scale", value=3.5)
151
- eta = gr.Slider(minimum=0, maximum=1, step=0.1, label="ETA", value=1)
152
- fs = gr.Slider(minimum=1, maximum=30, step=1, label="FPS", value=8)
153
- seed = gr.Slider(minimum=0, maximum=1000000, step=1, label="Seed", value=123)
154
- video_length = gr.Slider(minimum=1, maximum=10, step=1, label="Video Length (seconds)", value=2)
155
-
156
- with gr.Row():
157
- for prompt, image_file in examples:
158
- with gr.Column():
159
- gr.Image(image_file, label=prompt[:50] + "...")
160
- gr.Button("Use this example").click(
161
- fn=use_prompt_and_image,
162
- inputs=[],
163
- outputs=[input_text, input_image],
164
- api_name=False
165
- ).then(
166
- lambda p=prompt, i=image_file: (p, i),
167
- inputs=[],
168
- outputs=[input_text, input_image]
169
- )
170
-
171
- with gr.Tab("Gallery"):
172
- gallery = gr.Gallery(
173
- label="Generated Videos",
174
- show_label=False,
175
- elem_id="gallery",
176
- columns=[5],
177
- rows=[3],
178
- object_fit="contain",
179
- height="auto"
180
- )
181
- selected_video = gr.Video(label="Selected Video")
182
- refresh_btn = gr.Button("Refresh Gallery")
183
-
184
- def update_gallery():
185
- return load_gallery()
186
-
187
- def show_video(evt: gr.SelectData):
188
- return evt.value[2] # ์„ ํƒ๋œ ์ธ๋„ค์ผ์— ํ•ด๋‹นํ•˜๋Š” ๋น„๋””์˜ค ๊ฒฝ๋กœ ๋ฐ˜ํ™˜
189
-
190
- refresh_btn.click(fn=update_gallery, inputs=None, outputs=gallery)
191
- demo.load(fn=update_gallery, inputs=None, outputs=gallery)
192
- gallery.select(show_video, None, selected_video)
193
-
194
- input_text.submit(
195
- fn=respond,
196
- inputs=[input_image, input_text, steps, cfg_scale, eta, fs, seed, video_length],
197
- outputs=output_video
198
- ).then(
199
- fn=update_gallery,
200
- inputs=None,
201
- outputs=gallery
202
- )
203
-
204
- if __name__ == "__main__":
205
- demo.launch()
206
 
207
 
208
 
 
138
  return prompt, image
139
 
140
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
 
142
 
143