Spaces:
Running
on
Zero
Running
on
Zero
ltx
#14
by
dangthr
- opened
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
|
145 |
-
height_ui
|
146 |
-
duration_ui
|
147 |
-
ui_frames_to_use
|
148 |
-
seed_ui
|
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](
|
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():
|