jbilcke-hf HF Staff commited on
Commit
13abc4d
·
1 Parent(s): 9430e15
Files changed (1) hide show
  1. app.py +11 -14
app.py CHANGED
@@ -158,7 +158,7 @@ with gr.Blocks(title="ReCamMaster") as demo:
158
 
159
  This is a demo of [ReCamMaster](https://jianhongbai.github.io/ReCamMaster/), an amazing model that allows you to reshoot any video!
160
 
161
- Due to the long generation times (~ 10 min) this space [should be duplicated](https://huggingface.co/spaces/jbilcke-hf/ReCamMaster?duplicate=true) to your own account for the best experience (please select at least a Nvidia L40S).
162
 
163
  {demo_notice}
164
  """)
@@ -167,26 +167,26 @@ with gr.Blocks(title="ReCamMaster") as demo:
167
  with gr.Column():
168
  # Video input section
169
  with gr.Group():
170
- gr.Markdown("### Step 1: Upload Video")
171
- video_input = gr.Video(label="Input Video")
172
  text_prompt = gr.Textbox(
173
- label="Text Prompt (describe your video)",
174
  placeholder="A person walking in the street",
175
  value="A dynamic scene"
176
  )
177
 
178
  # Camera selection
179
  with gr.Group():
180
- gr.Markdown("### Step 2: Select Camera Movement")
181
  camera_type = gr.Radio(
182
  choices=[(v, k) for k, v in CAMERA_TRANSFORMATIONS.items()],
183
- label="Camera Transformation",
184
  value="1"
185
  )
186
 
187
  # Video settings
188
  with gr.Group():
189
- gr.Markdown("### Step 3: Video Settings")
190
  num_frames = gr.Slider(
191
  minimum=17,
192
  maximum=81, # MAX_FRAMES,
@@ -208,10 +208,7 @@ with gr.Blocks(title="ReCamMaster") as demo:
208
  # right now the rest of the code doesn't support changing it, so..
209
  visible=False
210
  )
211
-
212
- # Advanced settings
213
- with gr.Group():
214
- gr.Markdown("### Step 4: Advanced Settings")
215
  with gr.Row():
216
  seed = gr.Slider(
217
  label="Seed",
@@ -232,7 +229,7 @@ with gr.Blocks(title="ReCamMaster") as demo:
232
  value=min(30, MAX_INFERENCE_STEPS),
233
  step=1,
234
  label="Inference Steps",
235
- info=f"More steps = higher quality but slower{' (Demo mode: limited to 25)' if IS_DEMO else ''}"
236
  )
237
  cfg_scale = gr.Slider(
238
  minimum=0.0,
@@ -244,11 +241,11 @@ with gr.Blocks(title="ReCamMaster") as demo:
244
  )
245
 
246
  # Generate button
247
- generate_btn = gr.Button("Generate Video (~10 min)", variant="primary")
248
 
249
  with gr.Column():
250
  # Output section
251
- output_video = gr.Video(label="Output Video")
252
  status_output = gr.Textbox(label="Status", interactive=False)
253
 
254
  # Event handlers
 
158
 
159
  This is a demo of [ReCamMaster](https://jianhongbai.github.io/ReCamMaster/), an amazing model that allows you to reshoot any video!
160
 
161
+ Due to the long generation times (~ 10 min for 50 steps of 81 frames) this space has be artificially limited to 25 steps, and [should be duplicated](https://huggingface.co/spaces/jbilcke-hf/ReCamMaster?duplicate=true) to your own account for the best experience (please select at least a Nvidia L40S).
162
 
163
  {demo_notice}
164
  """)
 
167
  with gr.Column():
168
  # Video input section
169
  with gr.Group():
170
+ gr.Markdown("### 1. Upload a video (about ~3 sec long)")
171
+ video_input = gr.Video(label="Video file of webcam clip")
172
  text_prompt = gr.Textbox(
173
+ label="Describe the scene",
174
  placeholder="A person walking in the street",
175
  value="A dynamic scene"
176
  )
177
 
178
  # Camera selection
179
  with gr.Group():
180
+ gr.Markdown("### 2. Decide how to reshoot the scene")
181
  camera_type = gr.Radio(
182
  choices=[(v, k) for k, v in CAMERA_TRANSFORMATIONS.items()],
183
+ label="New camera angle and movement",
184
  value="1"
185
  )
186
 
187
  # Video settings
188
  with gr.Group():
189
+ gr.Markdown("### 3. (Optional) Tweak some settings")
190
  num_frames = gr.Slider(
191
  minimum=17,
192
  maximum=81, # MAX_FRAMES,
 
208
  # right now the rest of the code doesn't support changing it, so..
209
  visible=False
210
  )
211
+
 
 
 
212
  with gr.Row():
213
  seed = gr.Slider(
214
  label="Seed",
 
229
  value=min(30, MAX_INFERENCE_STEPS),
230
  step=1,
231
  label="Inference Steps",
232
+ info=f"50 steps are recommended but slower{' (demo is limited to 25, duplicate to remove the limit)' if IS_DEMO else ''}"
233
  )
234
  cfg_scale = gr.Slider(
235
  minimum=0.0,
 
241
  )
242
 
243
  # Generate button
244
+ generate_btn = gr.Button("Generate (will take 6~10 min)", variant="primary")
245
 
246
  with gr.Column():
247
  # Output section
248
+ output_video = gr.Video(label="Modified video")
249
  status_output = gr.Textbox(label="Status", interactive=False)
250
 
251
  # Event handlers