sch_split_text
Split a String and Pick One Piece per Frame
- i_text
- length
This is the plain, no-frills sibling in Apt_Preset's schedule family. Where sch_Prompt and sch_text do eased keyframe interpolation between prompts, sch_split_text just splits a string into a list and hands you back one item at a time, indexed by frame number. No easing curve, no blending - just "here's item N."
What it does
You write one string, pick a delimiter, and the node cuts it into pieces. current_frame is used as the index into that list, so as you step through a batch (0, 1, 2, 3...) you cycle through your items one per frame - a cat, then a dog, then a bird, without wiring up wildcards or a dozen separate string nodes.
Inputs and outputs
- text - the string to split. Default is the placeholder
a b c. - current_frame - which item to return, used as a list index.
- preset (optional, default
None) - the pack's own description of the choices, translated:- None: don't use a preset delimiter
- Line: split on newlines
- Space: split on spaces
- Comma: split on commas
- Period: split on periods
- Semicolon: split on semicolons
- Tab: split on the tab character
- Pipe: split on
| - Custom: use whatever you type in the
delimiterfield
- delimiter (optional, default a single space) - only meaningful when
presetis set toCustom.
Outputs: i_text (the item at current_frame) and length (how many items the split produced). With the defaults (text = "a b c", delimiter = space), splitting gives ["a", "b", "c"], so current_frame = 1 returns "b" and length reports 3.
Note that i_text is typed as ComfyUI's wildcard * type rather than STRING. That means ComfyUI won't stop you from plugging it into something that doesn't expect text - double-check the destination node's actual expected type yourself.
When to reach for it
This is the lightweight option compared to sch_Prompt/sch_text's full keyframe-plus-easing system. If you just want to round-robin a fixed list of tags, subjects, or short phrases across a batch - no smooth transition needed, no keyframe numbers to write - sch_split_text is less setup. Feed length into whatever's driving your batch loop so you know how many frames you actually need before you run out of list.
Install
Search "ComfyUI-Apt_Preset" in ComfyUI Manager and install, or clone it by hand: cd ComfyUI/custom_nodes && git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git, then restart. The pack's install.bat dependency installer is Windows-only; on Linux or a cloud instance, either read what it installs and pip-install those packages yourself, or let ComfyUI Manager's "install missing nodes" handle it the first time a workflow needs this node.
Troubleshooting
The schema doesn't document what happens if current_frame runs past the end of your list - safest bet is to check the length output first and keep current_frame under it, rather than assuming it clamps gracefully.
Real reports of this specific pack failing to import exist - a comfyui subreddit thread shows the console logging (IMPORT FAILED): ...ComfyUI-Apt_Preset when a downloaded workflow needed it. If that happens to you, use ComfyUI Manager's "install missing custom nodes" button, or delete ComfyUI-Apt_Preset from custom_nodes and re-clone it fresh, then restart - that resolved it for the people who reported it.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | a b c | — |
| current_frame | INT | 00–99999 | — |
| presetopt | COMBO | None | 9 options: None, Line, Space, Comma, Period, Semicolon, +3 |
| delimiteropt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| i_text | * | — |
| length | INT | — |