LTX 2.5 sampler settings: euler_ancestral or res_2s, and when you need the distilled LoRA
On the official LTX 2.5 distilled checkpoint, the pick is euler_ancestral with the linear_quadratic scheduler, 8 steps, cfg 1, and no distilled LoRA. At 8 steps linear_quadratic outputs exactly Lightricks' distilled sigma schedule, and it is what my Stubelius Ultimate LTX 2.5 workflow ships as its default.
- The Stubelius Ultimate LTX 2.5 example workflow defaults to
euler_ancestral+linear_quadratic, 8 steps, cfg 1.0, on the official LTX 2.5 distilled checkpoint. - ComfyUI's
linear_quadraticscheduler at 8 steps gives the sigmas 1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0, the same nine values asDISTILLED_SIGMA_VALUESin Lightricks' pipeline code. - The LTX 2.5 distilled LoRA is only needed on a non-distilled checkpoint. The distilled checkpoint runs at 8 steps and cfg 1 without it.
res_2sis not a built-in ComfyUI sampler. It comes from the RES4LYF pack, whose README counts two model calls per step for it, so 8 steps ofres_2sare 16 model calls against 8 foreuler.- On one seed at 1280×704 and 129 frames on an RTX 5090, 8 steps of
res_2stook 28 s of sampling against 14 s foreuler_ancestral, and gave a different shot, not a sharper version of the same one. - My original grid of
euler,euler_ancestralandres_2s(four 1080p, 10-second LTX 2.5 clips, 437 seconds in total on an RTX 5090 with 32 GB) used a different seed for each setting and a non-distilled checkpoint, so it does not rank the samplers.
A distilled model has part of its sampling baked into its weights during training: the long sampling schedule, so it runs in a few steps, or the guidance, so it runs at cfg 1, or both. The official LTX 2.5 distilled checkpoint has both and runs at 8 steps and cfg 1 as it is. The dev checkpoint needs Lightricks' distilled LoRA to run that way in this workflow.
The original sampler grid
The first version of this post rested on one grid: one prompt rendered as four 1080p, 10-second clips, each slot with its own sampler setting.
| Seed | Sampler | Scheduler | Steps | Model calls |
|---|---|---|---|---|
| 42 | euler | linear_quadratic | 12 | 12 |
| 1000045 | euler_ancestral | linear_quadratic | 12 | 12 |
| 2000048 | res_2s | linear_quadratic | 8 | 16 |
| 3000051 | res_2s | linear_quadratic | 12 | 24 |
That is three samplers in four settings, not four samplers, and every setting ran on a different seed (the slot defaults, 42 plus 1000003 per slot). One seed per setting, so treat anything you see between the rows as an impression, not a result. The earlier version of this post had a notes column and sampler advice built on these four clips. Four clips on four seeds do not support either, so both are gone.
Timing has the same problem. All four clips together took 437 seconds, and I did not time them one by one, so the grid has no per-sampler timing. What can be counted is work: by RES4LYF's count the 8-step res_2s row made 16 model calls, more than either 12-step euler row.
One more caveat: the grid was not rendered on the official distilled checkpoint recommended below. It ran on a different, non-distilled LTX 2.5 checkpoint with Lightricks' distilled LoRA loaded, so it says nothing about the default setup.
Grid rendered on or before 2026-09-05 on an RTX 5090 (32 GB), 96 GB RAM, Windows 11. The ComfyUI version and the cfg of that run were not recorded. One seed per setting, a different seed each. Sigma values recomputed 2026-09-30 from the scheduler code in ComfyUI 0.37.0.
Which sampler and scheduler should you use with LTX 2.5 distilled?
Use euler_ancestral with the linear_quadratic scheduler at 8 steps and cfg 1, because at 8 steps that scheduler gives the schedule the model was distilled for. Lightricks' pipeline code defines it as nine sigma values, with a comment saying they were tuned to match the distillation process:
1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0
ComfyUI's linear_quadratic scheduler at 8 steps produces the same nine numbers (I recomputed them from the formula in comfy/samplers.py). The LTX 2.5 blueprints that ship with ComfyUI type those values into a ManualSigmas node and pair them with Euler ancestral at cfg 1 on the distilled checkpoint. The Ultimate LTX 2.5 workflow uses the same first pass:
| Setting | Default | Node |
|---|---|---|
| Checkpoint | ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensors | Models |
| Distill LoRA | none | Models |
| Steps | 8 | Setup |
| cfg | 1.0 | Setup |
| First pass scale | 1.0 | Setup |
| Sampler, every seed | euler_ancestral | Seed Samplers |
| Scheduler, every seed | linear_quadratic | Seed Samplers |
| Refine sampler | euler, used only when first pass scale is below 1 | Output |
At cfg 1 the negative prompt pass is skipped. euler_ancestral adds fresh noise between steps and euler does not. Lightricks' pipeline docs say the distilled pipeline samples with Euler ancestral on LTX 2.5 checkpoints and with plain Euler on older ones, and needs no guidance.
At 12 steps the same scheduler gives a different, 13-value schedule. Three of the four rows in my original grid ran 12 steps, so they were off the distilled schedule as well. I have no same-seed comparison of 8 against 12 steps, so I am not claiming either looks better. Eight is the setting with a reason behind it.
First pass scale is a separate question. Below 1 the seeds render quicker and softer, and the refine cannot add detail a half-size render never had. That is covered in the full-size first pass post.
Do you need the distilled LoRA on LTX 2.5?
Only on a non-distilled checkpoint. The official repo carries both kinds: the ltx-2.5-22b-distilled-transformer files, which run at 8 steps and cfg 1 as they are, and the ltx-2.5-22b-dev-transformer files, which need the LoRA to run that way in this workflow. The LoRA is loras/ltx-2.5-22b-distilled-lora-450-bf16.safetensors in the same repo. Pick it in the Models node's distill LoRA slot and keep 8 steps and cfg 1. With the distilled checkpoint, leave the slot at none.
The slot's strength defaults to 1.0. When I recorded the original grid I usually ran the LoRA at 0.6 to 0.8 and found 0.5 to 1.0 usable on the checkpoint that grid used. That range comes from that one checkpoint and is not a sweep on the dev file, so start at the default.
How do you compare samplers on the same seed?
Render one fixed seed and change one setting per run, not one slot per sampler. The Seed Samplers node gives each of up to four seeds its own sampler and scheduler. That is for variety in a seed hunt: seeds 2 to 4 add 1000003 each, so the slots differ in seed as well as sampler. My original grid was built the same way, on the older Seed Hunt node, which also had a step count per slot. That is why it is uncontrolled. For a fair comparison, change one thing at a time:
- On Setup, set seeds to 1 and keep the seed's control after generate on fixed.
- On Seed Samplers, choose the first sampler for seed 1 and queue.
- Change only seed 1's sampler, or only steps on Setup, and queue again. Anything changed on Setup or Seed Samplers re-renders the seed.
- Compare the two clips: same seed, same timeline, one setting apart.
res_2s comes from RES4LYF by ClownsharkBatwing, a pack of higher-order samplers. Its README explains that a sampler ending in 2s runs two stages per step and so costs two model calls per step, where Euler costs one. The pack adds its samplers to ComfyUI's sampler list, which is the list the Seed Samplers node reads.
Lightricks uses the sampler too. Its pipeline docs list an HQ variant of the two-stage pipeline that swaps Euler for res_2s and is described as typically needing fewer steps for comparable quality. The HQ preset in the code, named for LTX 2.3, is 15 steps at a video CFG of 3.0. That pipeline runs its first stage with CFG, so it is not the 8-step, cfg 1 case. A same-seed test is the way to ask whether res_2s helps on the 8-step distilled schedule at cfg 1. My first one is below. It shows how far apart the two samplers land, not which one is better.
The rest of the workflow, including the per-seed sampler box, is in the Ultimate LTX 2.5 guide.
Is res_2s better than euler_ancestral on LTX 2.5 distilled?
On the one seed I tested, res_2s did not polish the euler_ancestral clip. It made a different shot, and its sampling took twice as long. I followed the steps above: official distilled int8 checkpoint, 8 steps, linear_quadratic, cfg 1, seed 20261001, 1280×704, 129 frames, one prompt (a red fox walking through a snowy birch forest at dawn), and only the sampler changed.

| Sampler | Model calls | Sampling, 8 steps | Per step |
|---|---|---|---|
| euler_ancestral | 8 | 14 s | 1.76 s |
| res_2s | 16 | 28 s | 3.59 s |
The time matches the call count: twice the model calls, about twice the sampling time. By my eye both clips are usable and neither is sharper. euler_ancestral framed the fox close and side-on against the low sun. res_2s framed it wider, in brighter light, and the fox turns to the camera at the end.
So with the seed fixed, a sampler swap is not a free polish pass on a clip you already like. It gives you a new shot, so keep the sampler of a seed you have picked. If you want to try res_2s, treat it as another round of seed hunting that costs twice the sampling time. One seed shows that the two samplers can land far apart. It does not rank them.
Same-seed test rendered 2026-10-01 on an RTX 5090 (32 GB), 96 GB RAM, Windows 11, ComfyUI 0.37.0, with the Stubelius Ultimate LTX 2.5 example workflow as shipped (one seed, full-size first pass), changed to seed 20261001, this prompt and native output with no upscale. One seed per sampler.
Sources and files
- Stubelius Ultimate LTX 2.5 on GitHub: the node pack, the example workflow and the README with the model file list.
- Lightricks/LTX-2.5 on Hugging Face: the distilled and dev checkpoints and the distilled LoRA.
- Lightricks/LTX-2, constants.py:
DISTILLED_SIGMA_VALUESand the Res2s HQ preset. - Lightricks/LTX-2, pipelines.md: which sampler each official pipeline uses.
- ComfyUI, comfy/samplers.py: the
linear_quadraticschedule and the built-in sampler list. - RES4LYF: the pack that provides
res_2s. - The Ultimate LTX 2.5 guide and the full-size first pass post on this site.
- ComfyUI From Zero: Part 1, which is free, covers what steps, seed, CFG, sampler and scheduler do, tested one change at a time.
Common questions
Do I need the distilled LoRA with the LTX 2.5 distilled checkpoint?
No. The distilled checkpoint runs at 8 steps and cfg 1 as it is, so leave the distill LoRA slot at none. The LoRA, ltx-2.5-22b-distilled-lora-450-bf16.safetensors from the Lightricks/LTX-2.5 repo, is for a non-distilled checkpoint such as the dev transformer.
Is res_2s built into ComfyUI?
No. It is added by the RES4LYF custom node pack. According to that pack's README a 2s sampler costs two model calls per step, so 8 steps of res_2s are 16 model calls where euler needs 8.
Is res_2s better than euler_ancestral for LTX 2.5?
Not on the one seed I compared on the distilled checkpoint at 8 steps and cfg 1. With the seed, prompt and schedule fixed, res_2s gave a different shot, not a sharper version of the euler_ancestral one, and took 28 s of sampling against 14 s on an RTX 5090. One seed does not rank them. It shows that swapping the sampler changes the shot.
Can I run LTX 2.5 distilled at 12 steps instead of 8?
The steps field accepts it, but linear_quadratic at 12 steps is a different schedule from Lightricks' nine distilled sigmas. I have no same-seed comparison of 8 against 12 steps, so I keep 8 steps at cfg 1.
STUUBZZZ


