ainvfx-fluid · paint your fluid, skip the simulation, generate the result
21
16 commits
6 linked in READMEs
updated Sep 17, 2026
An IC-LoRA for LTX 2.5 (22B) by AInVFX. You paint flat colour blobs on a first frame and a last frame (and, if you want, a few frames in between); the LoRA replaces the blobs with smoke, steam or fire and animates from one keyframe to the next. Trigger word: ainvfxfluid.
Made for compositing and previz as an art-directable stock footage generator.
📺 Watch the 45-minute tutorial · 📰 Read the article — setup, control video rules, painting, prompting, and how the model was trained.
| File | ltx-2.5/ainvfx-fluid.safetensors (654 MB, ComfyUI format, rank 32) |
| Base model | Lightricks/LTX-2.5, 22B transformer, dev or distilled |
| Control | a video, same resolution and length as the output: keyframes painted in flat colours, black frames in between |
| Workflow | workflow/ainvfx-fluid_painted_smoke_plume.json, paints both frames inside ComfyUI |
| Tutorial | 45-minute deep dive on YouTube |
| Article | Paint your fluid simulations |
| License | LTX-2.x Community License (see below) |
Left: the control video. Right: the result. Six pairs, none of the source clips was in the training set. All results were generated with the LTX 2.5 22B distilled transformer (int8), 8 steps, CFG 1, seed 42, sampler euler_ancestral, LoRA strength 1.0, negative prompt blurry, low quality, distorted, watermark. The frame rate follows the control video (24, 25 or 50 fps). Every _result video is AI-generated with LTX 2.5 and this LoRA; the files carry no C2PA manifest, this line and the file names are the disclosure.
| Control (painted keyframes, black in between) | Result |
|---|---|
01 · 960 x 512 · ainvfxfluid, wild fire | |
02 · 960 x 512 · ainvfxfluid, smoke plume | |
03 · 512 x 960 (portrait) · ainvfxfluid, fire | |
04 · 960 x 512 · ainvfxfluid, fire ball exploding towards camera | |
05 · 960 x 512 · a real photo with the smoke painted on top; the result keeps the composition and colours, not the exact photo · ainvfxfluid, smoke plume rising over a city, blue sky, aerial view | |
06 · 512 x 512 · the two frames painted in ComfyUI with the workflow below · ainvfxfluid, smoke plume | |
From Nathan Shipley:
ainvfx-fluid.safetensors in ComfyUI/models/loras/. You need ComfyUI with the ComfyUI-LTXVideo node pack by Lightricks (Manager: search « LTXVideo »; the IC-LoRA loader and guide nodes come from it) and the LTX 2.5 models of its example workflows (transformer, video and audio VAE, Gemma text encoder).LTX IC-LoRA Loader Model Only, strength 1.0. The loader reads the reference downscale factor (2) from the file: nothing to set.ainvfxfluid, then what the fluid is and how it is lit. ainvfxfluid, smoke plume is enough; a fuller sentence helps for what the LoRA saw less.Every step above is shown on screen in the tutorial, including the ComfyUI-LTXVideo install, the Kornia pad import fix, and where each gated LTX 2.5 file goes.
The shipped workflow does steps 2 to 5 with two Painter nodes and opens pre-painted with a smoke plume: copy the two PNGs from workflow/inputs/ into ComfyUI/input/ once, load the workflow, queue. Then repaint: the first frame, and the changes on the last frame. Replace the Painters with a Load Video of your own 121-frame control clip if you prefer to paint elsewhere. Apart from the LTXVideo pack, every node is ComfyUI core (the Painter node needs a recent ComfyUI and Nodes 2.0 enabled).
Painting over a photo. You can paint a fluid on a real photograph and use that as first and last frame. The result keeps the composition and the colours of the photograph and puts the fluid where you painted it, but it is a video inspired by the photo, not a pixel-exact match of it (see sample 05 above). For a locked plate, generate the fluid over a black background and composite it back over the plate.
ltx-2-dev. Base weights ltx-2.5-22b-dev-transformer-bf16, loaded in fp8, gradient checkpointing, 8-bit AdamW, batch 1. LoRA rank 32, alpha 32, --lora_target_preset v2v (attention and feed-forward of every block), --reference_downscale 2 (the control is encoded at half resolution), --ltx2_first_frame_conditioning_p 0.2, the control always present.| Stage | Pairs | Geometry | Steps | Learning rate | Time |
|---|---|---|---|---|---|
| 1 · motion | 40 | 576 x 320 x 321 frames | 2000 | 1e-4 | 3 h 48 |
| 2 · shape and material | 94 (+ 3 held out) | 1024 x 576 x 121 | 1000 | 5e-5 | 2 h 26 |
| 3 · fine detail | 206 | 1920 x 1088 x 33 | 500 | 2e-5 | 1 h 32 |
This model follows the AInVFX statement of AI ethics: open weights first, documented training data, creator consent, labelled generated content, frugal compute, a human who stays in control of the shot.
854521 · 856227 · 856295 · 1943483 · 2908584 · 6176867 · 6179509 · 6618025 · 6618036 · 7897557 · 8201040 · 8201049 · 8365988 · 9666929 · 9667143 · 9667144 · 9808289 · 9939406 · 10157164 · 10157172 · 11210466 · 11509050 · 11574595 · 11574636 · 11584956 · 11646227 · 11925064 · 12556476 · 12773237 · 12871894 · 13228922 · 13301380 · 13301390 · 14234580 · 14296626 · 14296662 · 14296769 · 14302096 · 14435886 · 14595146 · 14886704 · 15084556 · 15084591 · 15182505 · 15240404 · 15305558 · 15305560 · 17429991 · 19681479 · 19681480 · 20706788 · 20706803
_result videos are AI-generated and this README is the written disclosure.The LoRA is a derivative of LTX-2.5 and is released under the LTX-2.x Community License, the same license as the base model; a full copy is in LICENSE. Notice required by that license: this derivative is subject to its Section 4 (use restrictions) and Attachment A (acceptable use policy) in their entirety. Worth knowing before you ship: a Commercial Entity (annual revenue of 10 M USD or more) needs a paid Commercial Use Agreement from Lightricks (ltxv-licensing@lightricks.com) for any use of LTX-2.x or its derivatives beyond testing and evaluation. This paragraph is a summary, not legal advice: read the file.
Trained by Adrien Toupet as the instructor's demo during cohort 1 of the AInVFX Generative AI Bootcamp for Film and TV. Cohort 2 starts 2 October 2026, cohort 3 on 6 January 2027: 60 hours of live training online, in English, project based with cloud GPU included. Come learn and build with us! ainvfx.com/bootcamp.
Questions, results, bugs: contact AInVFX or open a discussion on this repo.
Lightricks for LTX-2.5 and the IC-LoRA design · kohya-ss and AkaneTendo25 for the trainer · ComfyUI · the Pexels contributors listed above · Runpod for the GPU.
16 commits
ainvfx-fluid · paint your fluid, skip the simulation, generate the result
21
16 commits
6 linked in READMEs
updated Sep 17, 2026
An IC-LoRA for LTX 2.5 (22B) by AInVFX. You paint flat colour blobs on a first frame and a last frame (and, if you want, a few frames in between); the LoRA replaces the blobs with smoke, steam or fire and animates from one keyframe to the next. Trigger word: ainvfxfluid.
Made for compositing and previz as an art-directable stock footage generator.
📺 Watch the 45-minute tutorial · 📰 Read the article — setup, control video rules, painting, prompting, and how the model was trained.
| File | ltx-2.5/ainvfx-fluid.safetensors (654 MB, ComfyUI format, rank 32) |
| Base model | Lightricks/LTX-2.5, 22B transformer, dev or distilled |
| Control | a video, same resolution and length as the output: keyframes painted in flat colours, black frames in between |
| Workflow | workflow/ainvfx-fluid_painted_smoke_plume.json, paints both frames inside ComfyUI |
| Tutorial | 45-minute deep dive on YouTube |
| Article | Paint your fluid simulations |
| License | LTX-2.x Community License (see below) |
Left: the control video. Right: the result. Six pairs, none of the source clips was in the training set. All results were generated with the LTX 2.5 22B distilled transformer (int8), 8 steps, CFG 1, seed 42, sampler euler_ancestral, LoRA strength 1.0, negative prompt blurry, low quality, distorted, watermark. The frame rate follows the control video (24, 25 or 50 fps). Every _result video is AI-generated with LTX 2.5 and this LoRA; the files carry no C2PA manifest, this line and the file names are the disclosure.
| Control (painted keyframes, black in between) | Result |
|---|---|
01 · 960 x 512 · ainvfxfluid, wild fire | |
02 · 960 x 512 · ainvfxfluid, smoke plume | |
03 · 512 x 960 (portrait) · ainvfxfluid, fire | |
04 · 960 x 512 · ainvfxfluid, fire ball exploding towards camera | |
05 · 960 x 512 · a real photo with the smoke painted on top; the result keeps the composition and colours, not the exact photo · ainvfxfluid, smoke plume rising over a city, blue sky, aerial view | |
06 · 512 x 512 · the two frames painted in ComfyUI with the workflow below · ainvfxfluid, smoke plume | |
From Nathan Shipley:
ainvfx-fluid.safetensors in ComfyUI/models/loras/. You need ComfyUI with the ComfyUI-LTXVideo node pack by Lightricks (Manager: search « LTXVideo »; the IC-LoRA loader and guide nodes come from it) and the LTX 2.5 models of its example workflows (transformer, video and audio VAE, Gemma text encoder).LTX IC-LoRA Loader Model Only, strength 1.0. The loader reads the reference downscale factor (2) from the file: nothing to set.ainvfxfluid, then what the fluid is and how it is lit. ainvfxfluid, smoke plume is enough; a fuller sentence helps for what the LoRA saw less.Every step above is shown on screen in the tutorial, including the ComfyUI-LTXVideo install, the Kornia pad import fix, and where each gated LTX 2.5 file goes.
The shipped workflow does steps 2 to 5 with two Painter nodes and opens pre-painted with a smoke plume: copy the two PNGs from workflow/inputs/ into ComfyUI/input/ once, load the workflow, queue. Then repaint: the first frame, and the changes on the last frame. Replace the Painters with a Load Video of your own 121-frame control clip if you prefer to paint elsewhere. Apart from the LTXVideo pack, every node is ComfyUI core (the Painter node needs a recent ComfyUI and Nodes 2.0 enabled).
Painting over a photo. You can paint a fluid on a real photograph and use that as first and last frame. The result keeps the composition and the colours of the photograph and puts the fluid where you painted it, but it is a video inspired by the photo, not a pixel-exact match of it (see sample 05 above). For a locked plate, generate the fluid over a black background and composite it back over the plate.
ltx-2-dev. Base weights ltx-2.5-22b-dev-transformer-bf16, loaded in fp8, gradient checkpointing, 8-bit AdamW, batch 1. LoRA rank 32, alpha 32, --lora_target_preset v2v (attention and feed-forward of every block), --reference_downscale 2 (the control is encoded at half resolution), --ltx2_first_frame_conditioning_p 0.2, the control always present.| Stage | Pairs | Geometry | Steps | Learning rate | Time |
|---|---|---|---|---|---|
| 1 · motion | 40 | 576 x 320 x 321 frames | 2000 | 1e-4 | 3 h 48 |
| 2 · shape and material | 94 (+ 3 held out) | 1024 x 576 x 121 | 1000 | 5e-5 | 2 h 26 |
| 3 · fine detail | 206 | 1920 x 1088 x 33 | 500 | 2e-5 | 1 h 32 |
This model follows the AInVFX statement of AI ethics: open weights first, documented training data, creator consent, labelled generated content, frugal compute, a human who stays in control of the shot.
854521 · 856227 · 856295 · 1943483 · 2908584 · 6176867 · 6179509 · 6618025 · 6618036 · 7897557 · 8201040 · 8201049 · 8365988 · 9666929 · 9667143 · 9667144 · 9808289 · 9939406 · 10157164 · 10157172 · 11210466 · 11509050 · 11574595 · 11574636 · 11584956 · 11646227 · 11925064 · 12556476 · 12773237 · 12871894 · 13228922 · 13301380 · 13301390 · 14234580 · 14296626 · 14296662 · 14296769 · 14302096 · 14435886 · 14595146 · 14886704 · 15084556 · 15084591 · 15182505 · 15240404 · 15305558 · 15305560 · 17429991 · 19681479 · 19681480 · 20706788 · 20706803
_result videos are AI-generated and this README is the written disclosure.The LoRA is a derivative of LTX-2.5 and is released under the LTX-2.x Community License, the same license as the base model; a full copy is in LICENSE. Notice required by that license: this derivative is subject to its Section 4 (use restrictions) and Attachment A (acceptable use policy) in their entirety. Worth knowing before you ship: a Commercial Entity (annual revenue of 10 M USD or more) needs a paid Commercial Use Agreement from Lightricks (ltxv-licensing@lightricks.com) for any use of LTX-2.x or its derivatives beyond testing and evaluation. This paragraph is a summary, not legal advice: read the file.
Trained by Adrien Toupet as the instructor's demo during cohort 1 of the AInVFX Generative AI Bootcamp for Film and TV. Cohort 2 starts 2 October 2026, cohort 3 on 6 January 2027: 60 hours of live training online, in English, project based with cloud GPU included. Come learn and build with us! ainvfx.com/bootcamp.
Questions, results, bugs: contact AInVFX or open a discussion on this repo.
Lightricks for LTX-2.5 and the IC-LoRA design · kohya-ss and AkaneTendo25 for the trainer · ComfyUI · the Pexels contributors listed above · Runpod for the GPU.
16 commits