Florence Prompt Travel Helper
Florence captions aren't travel-ready — this formats them into a keyframe schedule
- formatted_prompts
The Florence Prompt Travel Helper is a small, single-purpose node, and it's exactly the kind of thing you don't know you need until you're ankle-deep in an auto-captioning pipeline. If you caption a video or a frame sequence with a Florence-2 model, you get back a stream of comma-joined tag lists - things like "a woman., walking., sunset., ...". That's great for tagging, useless as a prompt-travel input. This node turns that stream into a keyframe schedule your animation workflow can actually consume.
Why it exists
Prompt travel works on a timeline: this prompt holds for N frames, then transitions to the next over M frames, looping back to the start at the end. The FrameFX pack standardizes that as hold length + transition length + end padding. This node is the Florence-flavored version of that formatter - the pack's plain Prompt Travel Helper handles newline-separated BLIP captions, and this one handles Florence's .,-separated streams. Same skeleton, different delimiter.
How it works
Drop your caption stream into bulk_text_input. The node splits it on ., (period-comma - Florence's token separator, and the one detail everyone forgets), then lays each caption out on the timeline: hold_length frames holding the caption, transition_length frames easing into the next one. It escapes any quotes, wraps back to the first caption at the end, and pads the tail by end_padding_frames (default 10) so the loop closes cleanly.
The output formatted_prompts is a single STRING in the standard travel-schedule format - lines like "0": "a woman", "5": "a woman" - which you paste or wire into the keyframe/prompt-schedule input of your animation stack.
The inputs
bulk_text_input- multiline string of Florence captions. This is the only one you feed by hand.hold_length(default 5) - frames each caption stays static.transition_length(default 5) - frames spent morphing to the next caption.end_padding_frames(default 10) - tail frames before the loop point.
Installing it
Same install as every FrameFX node - ComfyUI Manager, search ComfyUI-FrameFX, install, restart. Or clone:
cd ComfyUI/custom_nodes
git clone https://github.com/mgfxer/ComfyUI-FrameFX
No requirements, no model downloads. Pure string processing.
Where people get burned
The trap is delimiter confusion. Paste BLIP captions (newline-separated) into this node and it'll treat the whole block as one prompt, because it splits on .,, not newlines. Paste Florence output into the plain Prompt Travel Helper and you get the mirror-image problem. Match the node to the captioner: Florence streams go here, BLIP goes to its sibling. Otherwise you'll generate a schedule that's one giant transition and no holds - which is a confusing animation to debug.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| bulk_text_input | STRING | — | |
| hold_length | INT | 5 | — |
| transition_length | INT | 5 | — |
| end_padding_frames | INT | 10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| formatted_prompts | STRING | — |