Files changed (1) hide show
  1. app.py +6 -41
app.py CHANGED
@@ -141,47 +141,12 @@ def get_duration(prompt, negative_prompt, input_image_filepath, input_video_file
141
  return 60
142
 
143
  @spaces.GPU(duration=get_duration)
144
- def generate(prompt, negative_prompt, input_image_filepath=None, input_video_filepath=None,
145
- height_ui=512, width_ui=704, mode="text-to-video",
146
- duration_ui=2.0,
147
- ui_frames_to_use=9,
148
- seed_ui=42, randomize_seed=True, ui_guidance_scale=3.0, improve_texture_flag=True,
149
  progress=gr.Progress(track_tqdm=True)):
150
- """
151
- Generate high-quality videos using LTX Video model with support for text-to-video, image-to-video, and video-to-video modes.
152
-
153
- Args:
154
- prompt (str): Text description of the desired video content. Required for all modes.
155
- negative_prompt (str): Text describing what to avoid in the generated video. Optional, can be empty string.
156
- input_image_filepath (str or None): Path to input image file. Required for image-to-video mode, None for other modes.
157
- input_video_filepath (str or None): Path to input video file. Required for video-to-video mode, None for other modes.
158
- height_ui (int): Height of the output video in pixels, must be divisible by 32. Default: 512.
159
- width_ui (int): Width of the output video in pixels, must be divisible by 32. Default: 704.
160
- mode (str): Generation mode. Required. One of "text-to-video", "image-to-video", or "video-to-video". Default: "text-to-video".
161
- duration_ui (float): Duration of the output video in seconds. Range: 0.3 to 8.5. Default: 2.0.
162
- ui_frames_to_use (int): Number of frames to use from input video. Only used in video-to-video mode. Must be N*8+1. Default: 9.
163
- seed_ui (int): Random seed for reproducible generation. Range: 0 to 2^32-1. Default: 42.
164
- randomize_seed (bool): Whether to use a random seed instead of seed_ui. Default: True.
165
- ui_guidance_scale (float): CFG scale controlling prompt influence. Range: 1.0 to 10.0. Higher values = stronger prompt influence. Default: 3.0.
166
- improve_texture_flag (bool): Whether to use multi-scale generation for better texture quality. Slower but higher quality. Default: True.
167
- progress (gr.Progress): Progress tracker for the generation process. Optional, used for UI updates.
168
-
169
- Returns:
170
- tuple: A tuple containing (output_video_path, used_seed) where output_video_path is the path to the generated video file and used_seed is the actual seed used for generation.
171
- """
172
-
173
- # Validate mode-specific required parameters
174
- if mode == "image-to-video":
175
- if not input_image_filepath:
176
- raise gr.Error("input_image_filepath is required for image-to-video mode")
177
- elif mode == "video-to-video":
178
- if not input_video_filepath:
179
- raise gr.Error("input_video_filepath is required for video-to-video mode")
180
- elif mode == "text-to-video":
181
- # No additional file inputs required for text-to-video
182
- pass
183
- else:
184
- raise gr.Error(f"Invalid mode: {mode}. Must be one of: text-to-video, image-to-video, video-to-video")
185
 
186
  if randomize_seed:
187
  seed_ui = random.randint(0, 2**32 - 1)
@@ -375,7 +340,7 @@ css="""
375
 
376
  with gr.Blocks(css=css) as demo:
377
  gr.Markdown("# LTX Video 0.9.7 Distilled")
378
- gr.Markdown("Fast high quality video generation. [Model](https://huggingface.co/Lightricks/LTX-Video/blob/main/ltxv-13b-0.9.7-distilled.safetensors) [GitHub](https://github.com/Lightricks/LTX-Video) [Diffusers](https://huggingface.co/Lightricks/LTX-Video-0.9.7-distilled#diffusers-🧨)")
379
 
380
  with gr.Row():
381
  with gr.Column():
 
141
  return 60
142
 
143
  @spaces.GPU(duration=get_duration)
144
+ def generate(prompt, negative_prompt, input_image_filepath, input_video_filepath,
145
+ height_ui, width_ui, mode,
146
+ duration_ui,
147
+ ui_frames_to_use,
148
+ seed_ui, randomize_seed, ui_guidance_scale, improve_texture_flag,
149
  progress=gr.Progress(track_tqdm=True)):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
 
151
  if randomize_seed:
152
  seed_ui = random.randint(0, 2**32 - 1)
 
340
 
341
  with gr.Blocks(css=css) as demo:
342
  gr.Markdown("# LTX Video 0.9.7 Distilled")
343
+ gr.Markdown("Fast high quality video generation. [Model](https://huggingface.co/Lightricks/LTX-Video/blob/main/ltxv-13b-0.9.7-distilled.safetensors) [GitHub](https://github.com/Lightricks/LTX-Video) [Diffusers](#)")
344
 
345
  with gr.Row():
346
  with gr.Column():