🔶 Frame Prompt
🔶 Frame Prompt
- add_lora
- FRAME_PROMPT
This is the "Prompt Changer" the README talks about - a prompt that automatically swaps in partway through a frame-by-frame animation, without you having to babysit the queue and manually edit text between frames. It's built for Chaosaiart's own animation loop, where "1x Frame = 1x generated Img" per the README's phrasing, so a start frame number here maps directly to a specific point in your animation's timeline.
The mechanism is simple on its own and only makes sense combined with chaosaiart_Prompt_mixer_byFrame: this node just packages a prompt plus the frame number it should start applying at. start_frame is that trigger point - an integer, frame-counted, not time-counted. positiv and negativ are your override text for once this frame prompt becomes active, and the optional add_positiv/add_negativ let you layer extra text on without rewriting the whole override. The optional add_lora input (type LORA, built from chaosaiart_lora or chaosaiart_lora_advanced) lets a specific point in your animation swap to a different LoRA, or add one that wasn't active before.
This node's single output, FRAME_PROMPT, doesn't do anything on its own - it has to feed into one of the nine frame_prompt_1 through frame_prompt_9 inputs on a chaosaiart_Prompt_mixer_byFrame node, which is the piece that actually checks the current frame (via the pack's activ_frame signal from chaosaiart_restarter_advanced) and decides whether this override should be active yet. You can stack up to nine of these, each with its own start_frame, to build a whole sequence of prompt changes across a longer animation - the mixer resolves which one currently applies.
Install: search "Chaosaiart-Nodes" in ComfyUI Manager, or use "Install via Git URL" with https://github.com/chaosaiart/Chaosaiart-Nodes. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/chaosaiart/Chaosaiart-Nodes, restart ComfyUI. On Linux, also run pip install opencv-python and pip install tqdm inside your venv.
A couple of things worth knowing going in. First, this node does nothing by itself - plenty of people wire it up, queue once, and wonder why the prompt never changes; you need it plugged into a chaosaiart_Prompt_mixer_byFrame that's actually receiving a live activ_frame from the restarter, and you need the workflow actually looping across multiple queues for frame numbers to advance at all. Second, FRAME_PROMPT and MAIN_PROMPT are different custom types this pack defines - a Frame Prompt output can't plug directly into something expecting a Main Prompt, which is exactly why the mixer node exists as the piece that reconciles the two.
Practically, plan your start_frame values before you start dropping these onto the canvas rather than after - sketch the animation's beats on paper first (frame 1-30 establishing shot, frame 31-60 a style shift, and so on) and assign each chaosaiart_Prompt_Frame node a start frame that matches. It's a lot easier to get this right up front than to debug a mixer output that's picking the wrong override because two Frame Prompt nodes ended up with start frames closer together than you meant.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| start_frame | INT | 11–18446744073709550000 | — |
| positiv | STRING | — | |
| negativ | STRING | — | |
| add_positivopt | STRING | — | |
| add_negativopt | STRING | — | |
| add_loraopt | LORA | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FRAME_PROMPT | FRAME_PROMPT | — |