Condition Step Extraction ππ π
Pulling a single step out of a prompt schedule
- conditioning
- CONDITIONING
If you're doing prompt travel - different prompts at different points across an AnimateDiff clip - you eventually end up with a single CONDITIONING object that's actually a schedule: multiple prompt steps bundled together, each meant to apply at a different point in the sequence. Condition Step Extraction does exactly what its description says: it pulls one specific step back out of that schedule as a plain, single CONDITIONING.
Why you'd want to pull one step back out
AnimateDiff-Evolved supports prompt travel through its own built-in Prompt Scheduling nodes, or via the BatchPromptSchedule node from the companion pack ComfyUI_FizzNodes, both mentioned in the README. Once you've built a schedule that way, it's not always obvious what a given point in that schedule actually resolves to - useful to check while debugging a multi-prompt sequence, or if you want to feed just one specific moment of the schedule into a node elsewhere in your graph that expects an ordinary single CONDITIONING rather than a whole schedule (a still-image preview render at that point, for instance, or reusing one step's exact prompt state somewhere else).
It's a small utility node, not something central to running AnimateDiff at all - most workflows that use prompt travel never need to reach into the schedule and pull a piece back out. It earns its place when you're debugging or repurposing part of an existing schedule rather than building one from scratch.
Inputs and output
conditioning(CONDITIONING, required) - the scheduled conditioning to extract from.index(int, default 0, required) - which step to pull out. 0 is the first step in the schedule; higher indices move further along it.- Output:
CONDITIONING- the single extracted step, usable anywhere a normal conditioning input is expected.
There's no bounds-checking guidance given here beyond the index being non-negative - if your schedule has fewer steps than the index you asked for, expect an error or unexpected behavior rather than a silent clamp.
Installing the pack
ComfyUI Manager: search AnimateDiff Evolved, confirm the author is Kosinkadink, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
restart. This node needs no model file of its own - it operates purely on conditioning data - but building the schedule you're extracting from typically involves the pack's own Prompt Scheduling nodes, or FizzNodes' BatchPromptSchedule if you're using that route instead.
Common issues
Index out of range. If your schedule has, say, five steps and you ask for index 5 or higher, you're past the end of what was actually scheduled - double check how many steps your prompt-travel setup actually produced before assuming this node is broken.
The extracted conditioning doesn't look like what you expected at that point in the clip. Prompt travel schedules can be defined by percentage-through-sampling rather than a literal frame count, depending on which scheduling node built them - confirm whether index here corresponds to "the Nth prompt change you defined" or something else, since that mapping depends on how the upstream schedule was constructed, not on this extraction node itself.
You're trying to build a schedule with this node instead of read one. This node only extracts - it doesn't create or modify a schedule. If you're trying to construct prompt travel from scratch, you want the pack's Prompt Scheduling nodes (or FizzNodes' BatchPromptSchedule) upstream of this, not this node itself.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | β | |
| index | INT | 0 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | β |