Nodes/ComfyUI-aiugc/Comfyui AIUGC Annotator (ComfyUI-aiugc)
ComfyUI Node

Comfyui AIUGC Annotator (ComfyUI-aiugc)

The ComfyUI Node Whose Entire Job Is to Do Nothing

By ronaldzgithub·Created 2 years ago·Updated 2 years ago· 1
Comfyui AIUGC Annotator (ComfyUI-aiugc)
  • 标注节点接入
    序号20
    参数名称参数名称
    类型
    数值约束或依赖项.png,.jpg,.jpeg,.webp
    替换项amount

    Open the ComfyUIWebAnnotator node and the first thing you'll notice is that its run() method is empty. It returns nothing. It doesn't call a model, doesn't touch a tensor, doesn't even count as an output node. If you drag one onto your canvas and hit Queue, nothing happens - and that's correct, because this node is metadata wearing a node's clothing.

    It comes from ComfyUI-aiugc (ronaldzgithub/ComfyUI-aiugc), a fork of BennyKok's ComfyUI Deploy repackaged around a Chinese hosted platform called shangxiaobao.com. The pitch, straight from the pack's own pyproject.toml: "turn your comfyUI workflow into an APP on shangxiaobao.com." In that pipeline, ComfyUI is the machine and the platform is the dashboard that drives it. The Annotator node is how you tell the dashboard what your app's UI should look like - specifically, which parameters your end users get to touch.

    How it actually works

    When you deploy a workflow, the platform's app-builder walks the graph and looks for these marker nodes. Each ComfyUIWebAnnotator declares one control: a text box, a file upload, a mask-paint canvas, a dropdown. Back on the server side, the pack's custom_routes.py has an apply_inputs_to_workflow() function that takes the values your app's users submitted and swaps them into the graph right before execution. So the chain is: annotator node describes the control → user fills it in on the hosted app → the runtime injects that value into the target node. The node you see on canvas never fires; it's the contract the whole flow is built around.

    The fields are in Chinese, which tells you who this pack is really for, but they're easy enough to decode:

    • 标注节点接入 ("annotation node connection") - a wildcard * input. Wire this to the node you want the annotation to control. Because it's *, you can point it at almost anything.
    • 参数名称 ("parameter name") - the label the end user sees for this control.
    • 类型 ("type") - the control's kind, with seven choices: file, mask, selection, text, image_editer, image_selection, combo_image_selection. That's your control type enum, and yes, image_editer is a typo in the source for "editor" - a small window into how much polish this pack got.
    • 序号 ("sequence number", default 20) - the order the control appears in the generated form. Lower numbers first.
    • 数值约束或依赖项 ("numeric constraint or dependency", default .png,.jpg,.jpeg,.webp) - reads like an allowed-file-types list for file/image controls, though with no tooltip in the source it's a judgment call.
    • 替换项 ("replacement", default amount) - which value gets swapped in at runtime.

    It has no outputs, and that's the point: this node is a declaration, not a processor.

    Installing it

    ComfyUI Manager won't reliably surface this one given how obscure it is, so the direct route is safer:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ronaldzgithub/ComfyUI-aiugc
    

    Then restart ComfyUI. Dependencies are light - aiofiles, pydantic, opencv-python, imageio-ffmpeg (a logfire line is commented out) - no model files, nothing huge.

    The gotchas

    First, the README in this repo is a leftover from the Comfy Deploy fork - it tells you to set up a Next.js dashboard, which is upstream's self-hosting story, not what you're doing here. Ignore it. Second, this is a near-dormant pack: one star, last meaningful push in late 2024, and zero footprint on English-speaking Reddit. The author's own framing ("AIUGC" = AI user-generated content) describes a platform that is basically not documented in English anywhere. If you're a beginner hoping for a friendly hosted-app builder, this is a rough on-ramp.

    And honestly? If your goal is "put a web form in front of my workflow," you're likely better served by the officially supported paths - ComfyUI's own App Mode and Comfy Cloud, which the broader ecosystem is actually converging on. This node is a peek into one specific developer's pipeline, not a tool most people will reach for. If you're on the shangxiaobao platform, it makes sense. Outside it, it's mostly a curiosity - a clean example of what a marker node is, doing nothing at all.

    CategoryAIUGC

    Inputs (6)

    NameTypeDefaultDescription
    标注节点接入*
    序号INT201–10000
    参数名称STRING参数名称
    类型COMBO7 options: file, mask, selection, text, image_editer, image_selection, +1
    数值约束或依赖项STRING.png,.jpg,.jpeg,.webp
    替换项STRINGamount

    Outputs (0)

    No outputs