Comfy-Org / Comfy-Org/workflow_templates

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

Open
#919 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
901
Forks
188
Avg merge
23h 10m
Merged PRs (30d)
86

Description

### Confirmation

- [x] 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:

```text
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

```text
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
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.