Paint Six Flat Colours, Get Fire: The Drawing Is the Real Prompt
A free tool turns painted blobs into smoke and fire in about a minute, and the team published the whole recipe, so the method works for whatever effect you actually need.
The prompt is four words. ainvfxfluid, smoke plume. That is the entire text instruction, and it stays that short whether the plume rises straight up, drifts left, doubles back on a gust of wind, or sits behind a building in the mid-ground.
Everything else comes from a drawing. Flat grey blobs on the first frame, flat grey blobs on the last frame, black in between. Where the smoke is, how big, what shape, how it moves across five seconds, even how it is shaded. All of that lives in the painting, not the sentence.
That flip is the interesting thing about ainvfx-fluid, a free tool for LTX 2.5 published by AInVFX on Sunday. We have spent two years learning to write better prompts. Here the prompt barely matters and the drawing does the work, which changes who can direct the thing.
The problem this actually solves
A shot is approved. Then a note arrives: add smoke in the background.
You have had three options and all three are bad. Stock footage is fast and never sits where the frame needs it, so you end up warping the plate to match the smoke instead of the other way round. A real simulation gets you exactly what you want and costs setup and render time you do not have on a note. Generating from a prompt gets you smoke somewhere in the frame, and then you ask again.
The fourth option did not exist until now: take the drawing your supervisor already scribbled on the frame and turn it into a moving element. That scribble is a spec. It says where, how big, what shape, in a way no sentence does.
The reason it works is how the tool was taught. It was shown pairs, over and over: a painted control clip on one side, the real smoke footage it should produce on the other. Feed it a new painting and it gives you the matching result.
Once you see that, the prompt's job becomes clear. It is not describing your shot. It is naming the material, and cleaning up anything the model invents on its own.
The rules for your painted clip
This is the part that decides whether it behaves, and it is strict in ways that will bite you without an error message.
Your control clip is a normal video file, the same size and length as the shot you want.
Dimensions in multiples of 64. 512x512, 960x512, 512x960, 1024x576 and 1920x1088 all work. Off that grid, quality falls off fast.
121 frames, at 24, 25 or 50 fps. That is the tested length.
Painted first frame at the very start, painted last frame at the very end, black frames in between.
Any extra keyframe has to land on frame 1, 9, 17, 25 and so on, every eighth frame. There is a real reason: the model reads video in blocks of eight frames. A keyframe sitting on that grid gets read cleanly. One placed off it gets smeared across a block instead.
A keyframe can be a single frame or held for its full eight. Both were trained, so both work.
Paint flat colours. One blob per volume. Light grey for smoke, white for steam, orange with a yellow core for fire. Black background, or a few flat zones for sky and ground.
Written out it sounds fussy. In practice you set the canvas once and the rest is painting.
Two things the paint does that surprised me
Shading transfers. Put a second, darker grey along one edge of your painted plume and the result comes back shaded on that side, instead of a flat white cloud. You are art-directing the lighting with the paintbrush, which means two minutes in GIMP buys you something no prompt reaches.
The edges leak a little, and that is correct. The result follows your shapes closely and then softens slightly past them. That is not sloppiness. Over-controlling a fluid is exactly how a simulation stops looking like a fluid.
Where the prompt earns its keep is narrower than you would guess. It does two jobs. It removes things you did not ask for, because the model sometimes invents an emitter or a foreground object, and adding over a black background cleans that up into an element you can composite. And it describes material and light, which a doodle genuinely cannot say: wildfire and smoke plume, brown soil in the foreground, trees behind the fire, blue sky at the top of frame.
Try it in about half an hour
- Install the node pack. ComfyUI Manager, search "LTXVideo", install ComfyUI-LTXVideo. On a recent ComfyUI you may hit an import error mentioning Kornia. The author documents the one-line fix because everybody hits it.
- Accept the licence gates. The LTX 2.5 model files sit behind a free click-through on Hugging Face. Put the
ainvfx-fluidfile in your ComfyUI loras folder. - Run the shipped example before painting anything. Copy the two example PNGs into your ComfyUI input folder, load the workflow, hit queue. It opens already painted, so your first run tests your install rather than your artwork. Skip this and you will spend an hour debugging the wrong thing.
- Load it with the IC-LoRA loader, at strength 1.0. A generic LoRA loader will ignore your painted clip and hand you a nice video with none of your direction in it.
- Repaint. The workflow includes two Painter nodes wired in sequence, so the second opens on your first frame and you paint the change on top. They need Nodes 2.0 switched on in ComfyUI settings. One quirk: if a Painter stops feeding the graph, toggle Nodes 2.0 off and back on.
- Generate. The shipped settings are 8 steps on the fast model. Leave them alone to start.
Expect roughly 50 seconds for a five-second element at 512x512 on a laptop 4090. That is the author's own number on his own machine, and it is the one figure here I would most want to check against my own hardware before planning a day around it.
Two ways to push quality when the shot matters. Generate larger, up to 1920x1088. And swap the fast model for the full LTX 2.5, which the tool was actually trained against. Slower, better.
For real work, treat it as a stock footage generator. Generate over black, bring the element into your compositing software, and put it over your plate. If you need the perspective solved, run it twice: once with the plate behind it to get the angle right, once over black to patch in.
The part that transfers to your effect
Here is why this write-up is worth more than the tool itself. AInVFX published the entire bill.
Fifty-two stock clips from Pexels. Bonfires, wildfires, grass fires, smoke over forests, chimney steam. Every one listed by ID, which almost nobody does.
The clever part is how they made the training pairs without painting hundreds of frames by hand. They generated the painted clips from the footage itself, reducing each keyframe to six flat colours. The palette was picked from colours actually present in the frame rather than by how much area they cover, so a flame taking up 2 percent of the shot keeps its own orange instead of being averaged into the background. Two to five keyframes per clip, some held, some single. That variety is exactly why the finished tool reads both.
Training ran in three passes at increasing resolution, each one picking up where the last left off. Total: 7 hours 47 minutes on one rented GPU. For comparison, Lightricks' own character-consistency tool took eight GPUs and roughly ten times the training steps.
So: a weekend and a two-figure rental for a capability that did not exist.
One more thing worth copying. They held three clips out of training and used those as the preview during every run, so they were always looking at material the model had never seen. And they say plainly that the loss curve was noisy and the previews were the real signal. That is the right way to judge a small tool like this and almost nobody writes it down.
The recipe moves. Swap the footage, keep the painting rules. If the effect you need is not smoke, nobody is coming to build it, and now nobody has to.
What to watch out for
Smoke, steam and fire only. Water, ink and clouds are hit and miss. Prompting recovers some of it, not all. For water specifically, Lightricks ships a separate water tool for the same base.
It will not match your plate exactly. You can paint smoke over a photograph and use that as your first and last frame, and the result keeps the composition and colours, but it is a video inspired by your plate rather than a pixel-perfect match. It was never trained to reproduce a plate. This is the failure most likely to cost you a day, because the output looks close enough that you keep trying to push it the rest of the way. Do not. Composite instead.
The grid is unforgiving and silent. Off the eight-frame keyframe spacing, or off multiples of 64, quality drops. Nothing errors. You get a worse video and no explanation.
There is a revenue cliff in the licence. A company turning over 10 million dollars a year or more needs a paid agreement with Lightricks before shipping work made with LTX 2.x or anything built on it. The blog post and the model page even cite different section numbers for it, which is its own small warning: read the licence file in the repository rather than any summary, mine included.
Every number here is single-source. The 50 seconds, the 7 hours 47, the memory figure. All the author's, on his hardware, without an independent check. They are specific and plausible and still unverified by anyone else.
On the data: the Pexels licence allows commercial use and modification without credit, and the repository redistributes no clips at all, only the trained file and six painted examples. Given how many of these ship with a dataset line reading "various sources," listing all fifty-two is the most unusual thing in the whole release.
What I would actually take from this
The tool is useful. The method is the thing worth stealing.
A painted control clip, a small set of pairs built from your own footage, and an evening of rented GPU time gets you a capability nobody else was going to build.
The bottleneck was never the model and it is no longer the compute. It is knowing what pair to train on. Somebody had to decide that flat painted blobs were the right instruction for a fluid, and that decision, not the eight hours, is what made this work.
So here is the question I would put to anyone with a shot list and a note they keep getting: what is the drawing you keep making by hand, and what would it look like as one half of a training pair?
If you can answer that, the rest of it is already written down.
And if you train one, publish your painting rules. That is the part the next person needs, and the part most people leave out.
- Canonical sources: ainvfx-fluid on Hugging Face · AInVFX write-up · 45-minute video walkthrough · ComfyUI-LTXVideo