caiovicentino1 commited on
Commit
1dbf152
·
verified ·
1 Parent(s): 7a613d0

Upload generate_ltx.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. generate_ltx.py +59 -0
generate_ltx.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Generate video with PolarQuant PQ5 LTX-2.3.
4
+
5
+ Usage:
6
+ python generate_ltx.py --prompt "A cat playing piano" --output cat.mp4
7
+ python generate_ltx.py --prompt "Ocean waves" --image ref.jpg --output ocean.mp4
8
+ """
9
+ import argparse, os, subprocess, sys
10
+
11
+ def main():
12
+ parser = argparse.ArgumentParser(description="LTX-2.3 Video Generation (PQ5)")
13
+ parser.add_argument("--prompt", type=str, required=True)
14
+ parser.add_argument("--image", type=str, help="Reference image for image-to-video")
15
+ parser.add_argument("--output", type=str, default="output.mp4")
16
+ parser.add_argument("--model-dir", type=str, default="./LTX-PQ5")
17
+ parser.add_argument("--steps", type=int, default=50)
18
+ parser.add_argument("--height", type=int, default=480)
19
+ parser.add_argument("--width", type=int, default=704)
20
+ parser.add_argument("--frames", type=int, default=97)
21
+ args = parser.parse_args()
22
+
23
+ model_dir = os.path.abspath(args.model_dir)
24
+ code_dir = os.path.join(model_dir, "ltx_code")
25
+ model_path = os.path.join(model_dir, "ltx-2.3-22b-dev.safetensors")
26
+
27
+ if not os.path.exists(model_path):
28
+ print("Error: Run `python setup.py` first.")
29
+ sys.exit(1)
30
+
31
+ print("=" * 60)
32
+ print(f" LTX-2.3 Video Generation (PQ5)")
33
+ print(f" Prompt: {args.prompt}")
34
+ print(f" Resolution: {args.width}x{args.height}, {args.frames} frames")
35
+ print("=" * 60)
36
+
37
+ # Use ltx-pipelines for inference
38
+ cmd = [
39
+ sys.executable, "-m", "ltx_pipelines.generate",
40
+ "--model_path", model_path,
41
+ "--prompt", args.prompt,
42
+ "--output_path", args.output,
43
+ "--height", str(args.height),
44
+ "--width", str(args.width),
45
+ "--num_frames", str(args.frames),
46
+ "--num_inference_steps", str(args.steps),
47
+ ]
48
+
49
+ if args.image:
50
+ cmd.extend(["--image_path", args.image])
51
+
52
+ result = subprocess.run(cmd, cwd=code_dir)
53
+ if os.path.exists(args.output):
54
+ print(f"\nDone! {args.output} ({os.path.getsize(args.output)/1e6:.1f} MB)")
55
+ else:
56
+ print(f"\nFailed. Check LTX-2 docs: {code_dir}/packages/ltx-pipelines/README.md")
57
+
58
+ if __name__ == "__main__":
59
+ main()