TS Studio Input (Image)
The placeholder that tells TS Image Studio where your picture goes
- image
- mask
If you open a TS Image Studio backend workflow and see a node whose value field contains something like sub/file.png [input], you're looking at a marker - a placeholder whose value isn't meant to be typed by you. TS Image Studio is a full frontend app that builds ordinary ComfyUI graphs and sends them to /prompt; these marker nodes are the slots where the studio drops your values before the run. This particular one is the image slot: the picture you loaded or dropped into the studio's UI (the source image, a reference 1–3, anything image-shaped) gets uploaded and its name substituted here at run time.
How it works
The marker has two widgets that matter: value (the annotated upload name, e.g. sub/file.png [input]) and param_name (default source_image) - the identifier the studio uses to find this marker and set its value. The param_name is the contract: it must be unique per workflow, because the studio finds markers by name, and it's what shows up in the studio's UI as the parameter label (unless you set label, a friendlier human-readable name displayed instead).
Functionally the node loads like ComfyUI's own Load Image: give it the annotated name and it returns the image - plus a mask output, which Load Image (as Mask) style nodes also provide, drawn from the image's alpha channel. So a source picture with transparency carries its alpha along as a usable mask.
The key mental model: these markers aren't something you configure as a user. They're part of the studio's backend template - the workflow that the app drives. That's also why they're designed to keep working as a plain ComfyUI workflow: a backend file with markers set to defaults can be opened in ComfyUI and run by hand. The value you see is just the default sitting there until the studio overwrites it.
Install and use
No extra dependencies. It ships with comfyui-timesaver:
cd ComfyUI/custom_nodes
git clone https://github.com/AlexYez/comfyui-timesaver
cd comfyui-timesaver
python -m pip install -r requirements.txt
If you're not using TS Image Studio, you'll almost never add this node by hand - you'll see it in a backend workflow and wonder what it is. If you are building a backend, the rules are: pick a unique param_name, set the output to whatever in the graph wants the image, and let the studio fill value.
Common issues
- "The image is empty / it loaded the default." The studio hasn't set the value for this run - check that the
param_namematches what the studio's manifest expects, and that it's unique (a duplicate name and the studio will overwrite the wrong marker). - "I expected a mask and got a blank one." The
maskoutput comes from the image's alpha channel; a JPEG has no alpha, so its mask is all white/full. For a real alpha, feed an RGBA PNG. - "Where's the studio?" The hub is the
TS_ImageStudionode - that's the button that opens the app. These markers live inside the workflows it drives.
The honest framing: this node is scaffolding for the studio, not something you'll reach for on its own. But understanding "markers are placeholders the app fills" makes the whole studio's backend make sense - and it means you can grab any studio backend workflow, drop in defaults, and run it manually in plain ComfyUI.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| value | STRING | Annotated upload name ('sub/file.png [input]') the studio sets at run time. | |
| param_name | STRING | source_image | Name the studio uses to find this marker and set its value (e.g. 'prompt', 'width', 'source_image'). Must be unique per workflow. |
| labelopt | STRING | Optional human-readable label shown in the studio UI instead of param_name. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |