Nodes/Chaosaiart-Nodes/🔶 CKPT_PROMPT mixer
ComfyUI Node

🔶 CKPT_PROMPT mixer

Resolve up to nine frame-scoped checkpoints into one output

By chaosaiart·Created 2 years ago·Updated about a year ago· 117
🔶 CKPT_PROMPT mixer
  • activ_frame
  • main_prompt
  • ckpt_prompt_1
  • ckpt_prompt_2
  • ckpt_prompt_3
  • ckpt_prompt_4
  • ckpt_prompt_5
  • ckpt_prompt_6
  • ckpt_prompt_7
  • ckpt_prompt_8
  • ckpt_prompt_9
  • Info
  • MODEL
  • POSITIV
  • NEGATIV
  • VAE

This is the node that actually does something with all those CKPT_PROMPT bundles you've built with chaosaiart_CheckpointPrompt_Frame. Feed it up to nine of them plus the current frame counter, and it figures out which one is "active" - whichever bundle's start frame is the most recent one at or before your current position - swaps in that bundle's checkpoint and prompt, and hands you a normal MODEL/POSITIV/NEGATIV/VAE set ready for a KSampler. It's the resolver at the end of the "Checkpoint & Prompt Changer" workflow the README describes: change checkpoint and prompt together, and specify exactly when.

The main_prompt input is worth understanding on its own - it's not one of the nine slots, it's a separate always-on layer (built by chaosaiart_convert_Prompt) that gets merged in regardless of which CKPT_PROMPT is currently active. That's the practical use for it: put anything you want present across the entire sequence - a consistent quality-tag suffix, a LoRA you never want to swap out - in the main prompt, and put the stuff that should actually change at each frame boundary into the individual CKPT_PROMPT bundles.

Inputs and outputs

  • activ_frame - required, ACTIV_FRAME type. The running counter, produced by Chaosaiart's convert node.
  • main_prompt - required, MAIN_PROMPT type, from chaosaiart_convert_Prompt. The always-on layer described above.
  • ckpt_prompt_1 - required, CKPT_PROMPT type. Your first checkpoint/prompt bundle.
  • ckpt_prompt_2 through ckpt_prompt_9 - optional, same type. Add as many stages as your sequence needs.
  • Outputs: Info (string, tells you which bundle is currently active - genuinely useful for debugging a long sequence), MODEL, POSITIV, NEGATIV, VAE.

All three custom types here - ACTIV_FRAME, MAIN_PROMPT, CKPT_PROMPT - only talk to other Chaosaiart nodes. You can't wire a plain string or model into any of them.

Installing it

ComfyUI Manager: Install via Git URL → https://github.com/chaosaiart/Chaosaiart-Nodes, the exact route the README documents. A title search for "Chaosaiart" should also work.

Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/chaosaiart/Chaosaiart-Nodes

Linux (activate your venv first, if you use one):

pip install opencv-python
pip install tqdm

Windows: run the included Install_windows script instead. Restart ComfyUI after either method. No model downloads needed here - it's routing checkpoints and LoRAs you've already got.

Common issues

Missing chaosaiart_convert_Prompt upstream. main_prompt is a required input, and there's no plain-string fallback - you have to build it with convert_Prompt even if you don't want to add anything extra there (leave its optional fields empty and it still produces a valid, if empty, MAIN_PROMPT).

Bundles activating out of order. The Mixer picks the bundle whose Start_Frame is the highest one still ≤ the current frame - if you set Start_Frame values that aren't spaced out to match how long you actually run each stage, you'll cycle through checkpoints faster or slower than you planned. Check each CheckpointPrompt_Frame node's Start_Frame against your real batch length.

One shared module for the whole pack. A broken opencv-python/tqdm install takes down every Chaosaiart node, this one included - check the ComfyUI startup console for an import error first if the node's not showing up at all.

Category🔶Chaosaiart/checkpoint

Inputs (11)

NameTypeDefaultDescription
activ_frameACTIV_FRAME—
main_promptMAIN_PROMPT—
ckpt_prompt_1CKPT_PROMPT—
ckpt_prompt_2optCKPT_PROMPT—
ckpt_prompt_3optCKPT_PROMPT—
ckpt_prompt_4optCKPT_PROMPT—
ckpt_prompt_5optCKPT_PROMPT—
ckpt_prompt_6optCKPT_PROMPT—
ckpt_prompt_7optCKPT_PROMPT—
ckpt_prompt_8optCKPT_PROMPT—
ckpt_prompt_9optCKPT_PROMPT—

Outputs (5)

NameTypeDescription
InfoSTRING—
MODELMODEL—
POSITIVCONDITIONING—
NEGATIVCONDITIONING—
VAEVAE—