Nodes/comfyui-timesaver/TS Image Studio
ComfyUI Node

TS Image Studio

A full image editor inside ComfyUI that still plays nice with your graph

By AlexYez·Created 2 years ago·Updated a day ago· 12
TS Image Studio
    • image
    session_id
    result_path

    TS Image Studio is the closest thing ComfyUI has to a fullscreen editing app living inside the graph. Open its interface and you get a studio where you can generate, edit, inpaint and upscale with your local models - but it's not a separate program bolted on the side. Under the hood the studio builds ordinary ComfyUI workflows and submits them to the same queue you'd use from the canvas. That's the whole trick: no custom execution engine, no hidden model loading, no second runtime to babysit.

    The node itself is just the bridge. It has no image input - sources are chosen inside the studio, dropped onto its canvas or picked from the library. What the node carries is a session id and a path, and its single IMAGE output emits whatever result is currently selected in the studio gallery. That's the part that makes it worth having in a graph: after you've worked in the studio, the chosen image flows out and into whatever downstream nodes you've wired - a saver, a video chain, a comparison.

    How it works

    The studio is a frontend application (it ships in the pack's js/image/studio/ folder) that assembles template graphs and sends them through ComfyUI's own /prompt API. Three invariants keep it sane:

    1. No private queue or execution. A studio run is indistinguishable from a canvas run - same queue, same cancel, same model cache.
    2. Models aren't hardcoded. What the studio can do is defined by workflow JSON files. Adding a model means adding a file, not a code change.
    3. The node is a placeholder, not a processor. Its session_id and result_path widgets are managed by the frontend, hidden from you, and persisted so a reload doesn't lose your session.

    The result path is validated to stay inside ComfyUI's output/ directory - a workflow file is shared material, and the node refuses anything that would climb out of the output folder.

    Inputs and outputs

    Two socketless string inputs, both managed by the frontend rather than typed by you:

    • session_id - your studio session.
    • result_path - the selected result, relative to output/.

    One output: image - the result currently selected in the studio gallery, as a normal IMAGE you can feed anywhere.

    Installation

    This is part of the comfyui-timesaver pack - one node of 73, and the studio family is about a dozen nodes total (the main node plus the marker and backend nodes it drives). Install the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AlexYez/comfyui-timesaver
    cd comfyui-timesaver
    python -m pip install -r requirements.txt
    

    Then restart ComfyUI. ComfyUI Manager also works - search "Timesaver". The frontend needs the comfyui-frontend-package dependency, which the pack's requirements installs.

    Who it's for

    If you live in the graph and hate leaving it, this node is a treat: do the fiddly edit in a real UI, then pipe the result back into your node chain without exporting a file. If you never edit images, you don't need it - but it's also the best on-ramp for people who find raw ComfyUI intimidating and want a more forgiving surface while their workflow logic stays untouched on the graph. The one honest limitation: because the studio is a frontend app, you need the browser UI running - this isn't a headless node.

    CategoryTS/Image

    Inputs (2)

    NameTypeDefaultDescription
    session_idSTRINGStudio session id. Managed by the frontend.
    result_pathSTRINGSelected result, relative to output/. Managed by the frontend.

    Outputs (1)

    NameTypeDescription
    imageIMAGE