Skip to content

Merge Text

Concatenates two or more string streams into a single string, with an optional separator between each. The string-side analog of MergeShapes / MergePoints.

Category: Text Menu path: Text > Merge Text

Ports

PortTypeDirectionDescription
strings_instringinput (multi)Two or more string inputs. Use the + button on the node to add more slots.
outstringoutputAll inputs concatenated in slot order, separated by separator.

Parameters

ParamTypeDefaultDescription
separatorstring""Inserted between each input. Common values: "" adjacency, " " space, ", " comma-list, "\n" newline.

How It Works

MergeText reads each connected strings_in slot in order, collects the string values, and joins them with separator between each. Equivalent to Python's separator.join([s1, s2, s3]) or JS's arr.join(sep).

Disconnected slots are skipped. A MergeText with a single connected input is a passthrough (separator is never inserted because there's no second value to separate).

Drag inputs in the node graph to reorder. Slot 0 comes first.

Usage Examples

Build a "name: value" caption

String "Frame:" → MergeText.strings_in[0], Time.frame → ... → String coerce ... → MergeText.strings_in[1] (once Math-to-String conversion ships). For now: two static or keyframed Strings into MergeText with separator: " " gives "Title One", "Title Two", etc.

Multi-line lyric block

Several String nodes (one per line, keyframed independently) → MergeText (separator: "\n")Text.content_in. Each line snaps in at its own keyframe; the layout flows automatically.

Comma-separated tag list

Three or four String nodes feeding MergeText (separator: ", ")Text.content_in produces "red, blue, green" style readouts.

Future: AI prompt assembly

String "A photograph of" + String (keyframed: "a cat", "a dog", ...) + String "in golden-hour light"MergeText (separator: " ")ImageGen.prompt_in. Animate just the middle variant; the framing stays constant.

Tips

  • The separator is itself a string param, so you can keyframe it (Hold-interpolated) for separator switches mid-animation, though this is rarely useful.
  • Order matters. Reorder slots in the multi-input list panel.
  • Empty inputs (a String with value: "") still produce separator boundaries: ["A", "", "B"] joined by ", " yields "A, , B". To skip emptiness, disconnect the slot rather than blanking it.
  • The node is structural — it doesn't trim whitespace or handle special characters. If you need that, do it upstream in the source String nodes.
  • String — The source for most MergeText inputs.
  • Text — Consumes the joined string at content_in.
  • MergeShapes / MergePoints — Same multi-input concatenation pattern, for shapes / points.

Caddis — professional motion design.