Ard Prompt Travel
Prompt Travel, the node — not the Prompt Travel you're thinking of
- string_out
- xcount
First, kill the expectation: "Prompt Travel" in the broader community usually means the A1111 extension that interpolates prompts across animation frames - trippy morphing videos where one prompt gradually becomes another. Ard Prompt Travel is not that. The author labels it experimental, and it is: a string-concatenation node with a counter gate. If you came here expecting frame-to-frame prompt interpolation, that's a different tool (and a much more ambitious one).
What this actually does is plain. It takes input_text, takes add_text, and when conditions are met it returns input_text + ' ' + add_text as string_out - that's it. The conditions are the whole story:
from_xcount <= xcount <= to_xcountandxcount > 0
If xcount is outside that window (or is 0), the node just passes input_text through unchanged. So it's a switch: for a range of counter values, a phrase gets appended; outside that range, it doesn't. The xcount input is meant to come from the pack's Ard Counter node, which counts up on a running basis and resets at a total. Chain them together and you get "add this phrase for frames 1–10, not for 11–20" style prompt variation - a poor-man's prompt travel, frame by frame.
Other knobs: print_output (enabled/disabled) dumps the assembled prompt to the terminal each run - actually useful, since a long string in a node is hard to read, and the author prints it with a "frame: N" header. Outputs are string_out and a pass-through xcount.
Where people get tripped up: ComfyUI executes the entire graph every time you hit Queue, but the counter only advances if something in the graph advances it - the counter's state lives in a JSON file the pack writes to disk. So "frame 1, frame 2…" only happens if you're driving that counter properly (e.g., feeding it an increment each run or batching). Wire this node up, run once, and it's frame 1 every time. Also note the gating quirk in the source: xcount must be strictly greater than 0, so a counter starting at 0 produces pure pass-through on that first run.
Honest verdict: for a single run of a workflow this node is pointless - it's just string concat with extra steps. It only makes sense inside the author's counter-driven, batch-style workflow, and even then the "experimental" label is earned. If you genuinely want prompt interpolation for animation, look at actual animation/travel tools. If you want a simple "add a phrase sometimes" box inside this pack's world, it does exactly that - just keep your expectations at string level.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| input_text | STRING | connect previous text as input | |
| add_text | STRING | enter your text here to be added to previous input text | |
| xcountopt | FLOAT | 0.0 | — |
| from_xcountopt | FLOAT | 0.0 | — |
| to_xcountopt | FLOAT | 0.0 | — |
| print_outputopt | COMBO | enabled | 2 options: enabled, disabled |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| string_out | STRING | — |
| xcount | FLOAT | — |