Ltx2 logo

Ltx2

OrganizationPopular
digitalsamba
ltx2

AI 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 clip, text-to-video, image-to-video.

Overview

Publisherdigitalsamba
Repositoryclaude-code-video-toolkit
Skill nameltx2
Stars
2.2K
Forks
367
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by digitalsamba on GitHub. Read the source before you install it.

Installation

Install the Ltx2 AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ltx2
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git /tmp/claude-code-video-toolkit
mkdir -p .claude/skills
cp -r /tmp/claude-code-video-toolkit/.claude/skills/ltx2 .claude/skills/ltx2
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ltx2 in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ltx2 on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ltx2 is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

LTX-2.3 Video Generation

Generate ~5 second video clips from text prompts or images using the LTX-2.3 22B DiT model. Runs on Modal (A100-80GB). Requires MODAL_LTX2_ENDPOINT_URL in .env.

Quick Reference

bash
# Text-to-video
uv run tools/ltx2.py --prompt "A sunset over the ocean, golden light on waves, cinematic" --output sunset.mp4

# Image-to-video (animate a still image)
uv run tools/ltx2.py --prompt "Gentle camera drift, soft ambient motion" --input photo.jpg --output animated.mp4

# Custom resolution and duration
uv run tools/ltx2.py --prompt "..." --width 1024 --height 576 --num-frames 161 --output wide.mp4

# Fast mode (fewer steps, quicker)
uv run tools/ltx2.py --prompt "..." --quality fast --output quick.mp4

# Reproducible output
uv run tools/ltx2.py --prompt "..." --seed 42 --output reproducible.mp4

Parameters

ParameterDefaultDescription
--prompt(required)Text description of the video
--input-Input image for image-to-video
--width768Video width (divisible by 64)
--height512Video height (divisible by 64)
--num-frames121Frame count, must satisfy (n-1) % 8 == 0
--fps24Frames per second
--qualitystandardstandard (30 steps) or fast (15 steps)
--steps30Override inference steps directly
--seedrandomSeed for reproducibility
--outputautoOutput file path
--negative-promptsensible defaultWhat to avoid
--loranoneStyle LoRA preset. Currently: crt-terminal.

Style LoRAs

Style LoRAs bias the output toward a specific visual aesthetic. They're baked into the Modal image and selected per-request; switching LoRAs forces a pipeline rebuild (~60s one-time cost per container lifetime per switch).

crt-terminal — CRT / pixel-art terminals

Base: LTX-2.3 22B, trained by @lovis93 (Apache 2.0).

bash
# Trigger word is auto-prepended — write the prompt normally
uv run tools/ltx2.py --lora crt-terminal \
  --prompt "a terminal typing out \"\\$ claude --continue\" character by character in glowing green pixel font, scanlines, phosphor glow, low choppy frame rate, hacker mood" \
  --output crt_claude.mp4

What the preset changes:

  • Prepends crtanim, to the prompt (the LoRA's trigger word)
  • Defaults to 1024×1024, 121 frames (the ratio it was trained on)
  • Relaxes the default negative prompt so on-screen text isn't filtered out

Prompt pattern: <CRT aesthetic> → <color palette> → <animation style> → <subject> → <literal text in quotes> → <mood>. Keep on-screen text to 1–3 words — the model can't render long strings reliably. The LoRA prefers static framing; ask for camera moves explicitly if you want them.

Valid Frame Counts

(n - 1) % 8 == 0: 25 (~1s), 49 (~2s), 73 (~3s), 97 (~4s), 121 (~5s default), 161 (~6.7s), 193 (~8s max practical).

Common Resolutions

ResolutionRatioNotes
768x5123:2Default, good balance
512x5121:1Square, fastest
1024x57616:9Widescreen
576x10249:16Portrait/vertical

Prompting Guide

LTX-2 responds well to cinematographic descriptions. Layer these dimensions:

  • Camera: "Slow dolly forward", "Aerial drone shot", "Tracking shot", "Static wide angle"
  • Lighting: "Golden hour", "Cinematic lighting", "Neon-lit", "Soft diffused light"
  • Motion: "Timelapse of...", "Slow motion", "Gentle camera drift", "Gradually transitions"
  • Style: "Shot on 35mm film", "Documentary style", "Clean minimal aesthetic"
  • Negative: Always implicitly avoids "worst quality, blurry, jittery, watermark, text, logo"

Keep prompts under 200 words. Be specific about the scene.

Good Prompts

# Atmospheric b-roll
"Aerial drone shot slowly flying over turquoise ocean waves breaking on white sand, golden hour sunlight, cinematic"

# Product/tech scene
"Close-up of hands typing on a mechanical keyboard, shallow depth of field, soft desk lamp lighting, cozy atmosphere"

# Abstract background
"Dark moody abstract background with flowing blue light streaks, subtle geometric grid, bokeh particles floating, cinematic tech atmosphere"

# Animate a portrait
"Professional headshot, subtle natural head movement, confident warm expression, studio lighting, shallow depth of field"

# Animate a slide/screenshot
"Gentle subtle particle effects floating across a presentation slide, soft ambient light shifts, very slight camera drift"

Bad Prompts

# Too vague
"A cool video"

# Too many competing ideas
"A cat riding a skateboard while juggling fire on the moon during a thunderstorm"

# Describing text/UI (model can't render text reliably)
"A website showing the text 'Welcome to our platform'"

Video Production Use Cases

B-Roll Clips

Generate atmospheric 5s shots for cutaways between narrated scenes:

bash
uv run tools/ltx2.py --prompt "Futuristic holographic interface, glowing data visualizations, clean workspace, cinematic" --output broll_tech.mp4
uv run tools/ltx2.py --prompt "Aerial view of European city at golden hour, modern architecture" --output broll_europe.mp4

Animated Slide Backgrounds

Feed a slide screenshot and add subtle motion:

bash
uv run tools/ltx2.py --prompt "Gentle particle effects, soft ambient light shifts, very slight camera drift" --input slide.png --output animated_slide.mp4

Animated Portraits

Bring still headshots to life:

bash
uv run tools/ltx2.py --prompt "Subtle natural head movement, warm expression, professional lighting" --input headshot.png --output animated_portrait.mp4

Stylized Character Cameo (SadTalker Alternative)

For non-realistic faces — fantasy characters, masked figures, heavy beards, helmets, illustrations — SadTalker often produces uncanny or broken lip sync because it's trained on photoreal humans. LTX-2 image-to-video is frequently a better choice when lip-sync precision isn't critical (the viewer's brain fills in the gap as long as something is moving). Prompt for motion + atmosphere, not phonemes:

bash
uv run tools/ltx2.py \
  --input character_portrait.png \
  --prompt "Ancient warrior speaks slowly with gravitas, beard shifts subtly, glowing aura pulses, embers drift past, slow head movement, cinematic close-up, mystical atmosphere" \
  --width 768 --height 768 \
  --output character_speaking.mp4

When LTX-2 wins over SadTalker:

  • Stylized / illustrated / fantasy characters
  • Heavy facial hair or accessories obscuring the mouth
  • Masked or helmeted figures
  • Short cameo lines where atmosphere matters more than precision
  • Dramatic VO rather than dialogue

When SadTalker still wins:

  • Photoreal human presenters
  • Full sentences where mouth shape needs to match phonemes
  • Tutorials / talking-head explainers where the viewer is effectively reading lips

Branded Intro/Outro

Generate abstract motion backgrounds for title cards:

bash
uv run tools/ltx2.py --prompt "Dark moody background with flowing blue and coral light streaks, bokeh particles, cinematic tech atmosphere, no text" --output intro_bg.mp4

Combining with Other Tools

LTX-2 generates raw clips. Combine with the rest of the toolkit:

WorkflowTools
Generate clip → upscaleltx2.py → upscale.py
Generate clip → add to Remotionltx2.py → use as <OffthreadVideo> in composition
Generate image → animateflux2.py → ltx2.py --input
Generate clip → extract audioltx2.py → ffmpeg -i clip.mp4 -vn audio.wav
Generate clip → add voiceoverltx2.py → mix with qwen3_tts.py output

Technical Details

  • Model: LTX-2.3 22B DiT (Lightricks), bf16
  • GPU: A100-80GB on Modal (~$4.68/hr)
  • Inference: ~2.5 min per clip (768x512, 121 frames, 30 steps)
  • Cost: ~$0.20-0.25 per 5s clip
  • Cold start: ~60-90s (loading ~55GB weights)
  • Output: H.264 MP4 with synchronized ambient audio (24fps)
  • Max duration: ~8s (193 frames) per clip

Known Limitations

  • Training data artifacts: ~30% of generations may have unwanted logos/text from training data. Re-run with different --seed.
  • Text rendering: Cannot reliably generate readable text in video. Use Remotion overlays instead.
  • Max duration: ~8s per clip. Longer content needs stitching.
  • Audio: Generated audio is ambient/environmental only. Use voiceover/music tools for speech and music.
  • License: Community License — free under $10M revenue, commercial license needed above that.

Setup

bash
# 1. Create Modal secret for HuggingFace (one-time)
uv run modal secret create huggingface-token HF_TOKEN=hf_your_token

# 2. Deploy (downloads ~55GB of weights, takes ~10 min)
uv run modal deploy docker/modal-ltx2/app.py

# 3. Save endpoint URL to .env
echo "MODAL_LTX2_ENDPOINT_URL=https://yourname--video-toolkit-ltx2-ltx2-generate.modal.run" >> .env

# 4. Test
uv run tools/ltx2.py --prompt "A candle flickering on a dark table, cinematic" --output test.mp4

Important: HuggingFace token needs read-access scope. Accept the Gemma 3 license before deploying. Unauthenticated downloads are severely rate-limited.

Frequently asked questions

What does the Ltx2 AI skill do?

AI 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 clip, text-to-video, image-to-video.

Why use Ltx2 on TypingMind?

Because you install it once and use it with any model. Ltx2 is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ltx2 in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ltx2. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ltx2?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ltx2?

As many as you like. As long as a model supports skills, you can use Ltx2 with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ltx2 AI skill free?

Yes. It is published on GitHub by digitalsamba under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇