ComfyUI Node

String (Improved)

String (Improved) — the text carrier that keeps your prompts current

By augment-lib·Created 6 months ago·Updated 6 months ago· 2
String (Improved)
  • trigger
  • value
  • json
  • trigger
value
input

AugmentWaitString - "String (Improved)" in the menu - is the trigger-aware passthrough for text in Augment's Flow Control family. It's the node you reach for when the string isn't just a static prompt but a value that has to travel through a workflow and arrive current: a prompt built by another node, a filename from JSON Extract, a tag pulled out of metadata. A stock string primitive is compile-time and mostly immune to caching drama, but it's also dead weight - it can't participate in ordering.

This one can. Change the text, the trigger chain makes sure whatever reads it downstream actually re-runs.

How it works

The honest truth, from the source: it doesn't wait or hold the text. execute passes the string straight through and emits a trigger token. The sequencing comes from the pack's executor override - on import, Augment patches ComfyUI's execution internals so any node that takes or emits a TRIGGER type always re-runs and is never pruned by the output cache. Wire trigger outputs into the next stage's trigger input and you've pinned execution order for the text-dependent parts of your graph.

So it's less "wait for my text" and more "make sure this text arrives here, in this order, every run."

The inputs and outputs

Like the Int, Float and Bool Wait nodes, this one has a widget plus an override input:

  • value (STRING, required, default empty) - the widget. Type your prompt, filename, or label here.
  • input (STRING, optional) - connect this and it overrides the widget. This is the interesting path: wire in an output from another node (a JSON-extracted value, a constructed prompt, a variable read) and the string follows that, not the widget.
  • trigger (optional) - the sequencing input from a previous stage.
  • Outputs value (STRING), json (AUGMENT_JSON), trigger (TRIGGER) - the string passes through, the trigger continues the chain, and json carries a structured dump (type and value as a string) for Augment's JSON Extract / JSON Viewer.

Worth knowing: the json output is where Augment's "Data & Intelligence" story starts. Even this trivial passthrough reports structured JSON, which is how the pack plans to let an LLM read values mid-workflow and write them back.

How to install

Augment isn't on the ComfyUI registry yet, so it's a manual clone. The folder name is the classic gotcha:

cd ComfyUI/custom_nodes
git clone https://github.com/augment-lib/augment-ComfyUI augment
cd augment
pip install -r requirements.txt

The clone target must be augment - the pack imports everything as custom_nodes.augment.py.*, so the default folder name breaks every node. Restart ComfyUI afterward; nodes appear under Augment.

Dependencies are light (opencv-python, numpy, torch, Pillow, requests) and already installed from running ComfyUI. No model files, no API key - the paid API only applies to the pack's vector nodes.

Common issues

  • Prompt edits "not sticking" - usually cache behavior; threading the string through this node and sequencing triggers forces downstream re-runs. If the text comes from another node, make sure it's on the input port, not stuck in the widget.
  • Node missing after install - folder name. Rename to augment and restart.
  • Graph re-runs more than before - by design. Trigger nodes always re-execute, so use Wait nodes where ordering genuinely earns its keep.
CategoryAugment/Utils

Inputs (3)

NameTypeDefaultDescription
valueSTRING
triggeroptTRIGGER
inputoptSTRING

Outputs (3)

NameTypeDescription
valueSTRING
jsonAUGMENT_JSON
triggerTRIGGER