$npx -y skills add calesthio/OpenMontage --skill ltx2AI video generation with LTX-2.3 22B — text-to-video, image-to-video clips for video production. Use when generating video clips, animating images, creating b-roll, animated backgrounds, or motion content. Triggers include video generation, animate image, b-roll, motion, video cl
| 1 | # LTX-2.3 Video Generation |
| 2 | |
| 3 | Generate ~5 second video clips from text prompts or images using the LTX-2.3 22B DiT model. |
| 4 | Runs on Modal (A100-80GB). Requires `MODAL_LTX2_ENDPOINT_URL` in `.env`. |
| 5 | |
| 6 | ## Quick Reference |
| 7 | |
| 8 | ```bash |
| 9 | # Text-to-video |
| 10 | python3 tools/ltx2.py --prompt "A sunset over the ocean, golden light on waves, cinematic" --output sunset.mp4 |
| 11 | |
| 12 | # Image-to-video (animate a still image) |
| 13 | python3 tools/ltx2.py --prompt "Gentle camera drift, soft ambient motion" --input photo.jpg --output animated.mp4 |
| 14 | |
| 15 | # Custom resolution and duration |
| 16 | python3 tools/ltx2.py --prompt "..." --width 1024 --height 576 --num-frames 161 --output wide.mp4 |
| 17 | |
| 18 | # Fast mode (fewer steps, quicker) |
| 19 | python3 tools/ltx2.py --prompt "..." --quality fast --output quick.mp4 |
| 20 | |
| 21 | # Reproducible output |
| 22 | python3 tools/ltx2.py --prompt "..." --seed 42 --output reproducible.mp4 |
| 23 | ``` |
| 24 | |
| 25 | ## Parameters |
| 26 | |
| 27 | | Parameter | Default | Description | |
| 28 | |-----------|---------|-------------| |
| 29 | | `--prompt` | (required) | Text description of the video | |
| 30 | | `--input` | - | Input image for image-to-video | |
| 31 | | `--width` | 768 | Video width (divisible by 64) | |
| 32 | | `--height` | 512 | Video height (divisible by 64) | |
| 33 | | `--num-frames` | 121 | Frame count, must satisfy `(n-1) % 8 == 0` | |
| 34 | | `--fps` | 24 | Frames per second | |
| 35 | | `--quality` | standard | `standard` (30 steps) or `fast` (15 steps) | |
| 36 | | `--steps` | 30 | Override inference steps directly | |
| 37 | | `--seed` | random | Seed for reproducibility | |
| 38 | | `--output` | auto | Output file path | |
| 39 | | `--negative-prompt` | sensible default | What to avoid | |
| 40 | |
| 41 | ## Valid Frame Counts |
| 42 | |
| 43 | `(n - 1) % 8 == 0`: 25 (~1s), 49 (~2s), 73 (~3s), 97 (~4s), **121 (~5s default)**, 161 (~6.7s), 193 (~8s max practical). |
| 44 | |
| 45 | ## Common Resolutions |
| 46 | |
| 47 | | Resolution | Ratio | Notes | |
| 48 | |------------|-------|-------| |
| 49 | | 768x512 | 3:2 | Default, good balance | |
| 50 | | 512x512 | 1:1 | Square, fastest | |
| 51 | | 1024x576 | 16:9 | Widescreen | |
| 52 | | 576x1024 | 9:16 | Portrait/vertical | |
| 53 | |
| 54 | ## Prompting Guide |
| 55 | |
| 56 | LTX-2 responds well to cinematographic descriptions. Layer these dimensions: |
| 57 | |
| 58 | - **Camera:** "Slow dolly forward", "Aerial drone shot", "Tracking shot", "Static wide angle" |
| 59 | - **Lighting:** "Golden hour", "Cinematic lighting", "Neon-lit", "Soft diffused light" |
| 60 | - **Motion:** "Timelapse of...", "Slow motion", "Gentle camera drift", "Gradually transitions" |
| 61 | - **Style:** "Shot on 35mm film", "Documentary style", "Clean minimal aesthetic" |
| 62 | - **Negative:** Always implicitly avoids "worst quality, blurry, jittery, watermark, text, logo" |
| 63 | |
| 64 | Keep prompts under 200 words. Be specific about the scene. |
| 65 | |
| 66 | ### Good Prompts |
| 67 | |
| 68 | ``` |
| 69 | # Atmospheric b-roll |
| 70 | "Aerial drone shot slowly flying over turquoise ocean waves breaking on white sand, golden hour sunlight, cinematic" |
| 71 | |
| 72 | # Product/tech scene |
| 73 | "Close-up of hands typing on a mechanical keyboard, shallow depth of field, soft desk lamp lighting, cozy atmosphere" |
| 74 | |
| 75 | # Abstract background |
| 76 | "Dark moody abstract background with flowing blue light streaks, subtle geometric grid, bokeh particles floating, cinematic tech atmosphere" |
| 77 | |
| 78 | # Animate a portrait |
| 79 | "Professional headshot, subtle natural head movement, confident warm expression, studio lighting, shallow depth of field" |
| 80 | |
| 81 | # Animate a slide/screenshot |
| 82 | "Gentle subtle particle effects floating across a presentation slide, soft ambient light shifts, very slight camera drift" |
| 83 | ``` |
| 84 | |
| 85 | ### Bad Prompts |
| 86 | |
| 87 | ``` |
| 88 | # Too vague |
| 89 | "A cool video" |
| 90 | |
| 91 | # Too many competing ideas |
| 92 | "A cat riding a skateboard while juggling fire on the moon during a thunderstorm" |
| 93 | |
| 94 | # Describing text/UI (model can't render text reliably) |
| 95 | "A website showing the text 'Welcome to our platform'" |
| 96 | ``` |
| 97 | |
| 98 | ## Video Production Use Cases |
| 99 | |
| 100 | ### B-Roll Clips |
| 101 | Generate atmospheric 5s shots for cutaways between narrated scenes: |
| 102 | ```bash |
| 103 | python3 tools/ltx2.py --prompt "Futuristic holographic interface, glowing data visualizations, clean workspace, cinematic" --output broll_tech.mp4 |
| 104 | python3 tools/ltx2.py --prompt "Aerial view of European city at golden hour, modern architecture" --output broll_europe.mp4 |
| 105 | ``` |
| 106 | |
| 107 | ### Animated Slide Backgrounds |
| 108 | Feed a slide screenshot and add subtle motion: |
| 109 | ```bash |
| 110 | python3 tools/ltx2.py --prompt "Gentle particle effects, soft ambient light shifts, very slight camera drift" --input slide.png --output animated_slide.mp4 |
| 111 | ``` |
| 112 | |
| 113 | ### Animated Portraits |
| 114 | Bring still headshots to life: |
| 115 | ```bash |
| 116 | python3 tools/ltx2.py --prompt "Subtle natural head movement, warm expression, professional lighting" --input headshot.png --output animated_portrait.mp4 |
| 117 | ``` |
| 118 | |
| 119 | ### Branded Intro/Outro |
| 120 | Generate abstract motion backgrounds for title cards: |
| 121 | ```bash |
| 122 | python3 tools/ltx2.py --prompt "Dark moody background with flowing blue and coral light streaks, bokeh particles, cinematic t |