Skip to content

[Template Bug]: LTX-2.3 templates have inactive negative prompts because CFGGuider is set to cfg=1 #919

Description

@debugXin

Confirmation

  • I have confirmed this is a workflow template mistake

Template Name

LTX-2.3 template family:

  • templates/video_ltx2_3_t2v.json
  • templates/video_ltx2_3_i2v.json
  • templates/video_ltx2_3_ia2v.json
  • templates/video_ltx2_3_flf2v.json
  • templates/video_ltx2_3_id_lora.json

Potentially all *ltx2_3* templates should be audited.

Problem Description

The LTX-2.3 templates ship negative prompts (CLIPTextEncode, prefilled with terms such as pc game, console game, video game, cartoon, childish, ugly, ...) wired through LTXVConditioning into the sampler's CFGGuider. However the CFGGuider nodes are set to cfg = 1.

At cfg = 1, classifier-free guidance reduces to the conditional prediction only:

out = uncond + cfg * (cond - uncond)
out = cond when cfg = 1

ComfyUI's CFGGuider also skips the uncond pass entirely as an optimization in this case. So the negative prompt is silently ignored: editing it, or editing the prefilled defaults, changes nothing in the output.

This is confusing because the templates present populated negative-prompt boxes, which strongly imply they are active. Users naturally put suppression terms there, such as text, watermark, or ugly, but they have no effect.

Since LTX-2.3 appears intended to run at cfg = 1, simply raising cfg is probably not the intended fix and tends to degrade quality.

Repro:

  1. Load video_ltx2_3_t2v.json.
  2. Put anything in the negative prompt, for example text, watermark, ugly.
  3. Generate.
  4. The output is identical to leaving the negative prompt empty.

Confirmed so far:

template CFGGuider cfg prefilled negative
video_ltx2_3_t2v.json 1, 1 pc game, console game, video game, cartoon, childish, ugly, ...
video_ltx2_3_i2v.json 1, 1 pc game, console game, video game, cartoon, childish, ugly, ...
video_ltx2_3_ia2v.json 1, 1 pc game, console game, video game, cartoon, childish, ugly, ...
video_ltx2_3_flf2v.json 1 blurry, out of focus, overexposed, underexposed, low co...
video_ltx2_3_id_lora.json 1, 1 pc game, console game, video game, cartoon, childish, ugly, ...

Possible fixes:

  • Document in the template that the negative prompt is inactive at cfg = 1.
  • Wire a guidance method that honors negatives at cfg = 1, for example an NAG node such as LTX2_NAG in ComfyUI-KJNodes.
  • Remove the negative-prompt box to avoid the false affordance.

ComfyUI Mode

Legacy Mode

Error Message / Logs

No runtime exception is thrown.

This is a template configuration issue confirmed by inspecting the template JSON:

- CFGGuider nodes have cfg = 1
- negative CLIPTextEncode nodes are prefilled
- the negative conditioning is wired via LTXVConditioning
- because cfg = 1, the negative prompt/uncond path is inert

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions