Nodes/AsyncOutput/Init Singal Output
ComfyUI Node

Init Singal Output

A one-shot 'workflow just started' pulse, spelled Singal

By teddy1565·Created 5 months ago·Updated 5 months ago· 0
Init Singal Output
    • init_signal
    always_outputfalse

    Init Singal Output (class AsyncOutputInitSignalOutput) - yes, "Singal," that's the author's spelling, and it's stuck in the display name forever - emits a true pulse exactly once, when the workflow starts, and then goes quiet for the rest of the run. It's the "run this bootstrap step only on the first pass" node, and it exists because the rest of the AsyncOutput pack is so stateful that you often need a clean, knowable starting point.

    The pattern you'll actually use it for: feeding the signal into a reset input. The pack's Emitter, Callback, RemoteTrigger, and the multiline nodes all have optional reset inputs, and the natural move is "reset all my counters on the first pass, then let them accumulate." Init Signal gives you exactly that - a boolean that's true on pass one and absent (blocked) afterwards.

    How it works

    This one doesn't use the global dicts. It reads the workflow's extra metadata that the pack's on_prompt hook stashes into extra_pnginfo["workflow"]["extra"] - specifically a flag under the ASYNC_OUTPUT key. On the first execution it finds the flag false, sets it true, and returns true. Every subsequent pass finds it already true and returns an ExecutionBlocker, which (as with AsyncOutputCallback) means "don't run downstream this pass" rather than "error." If it can't find that workflow metadata at all, it blocks - so how the workflow gets queued matters.

    The inputs that matter

    • always_output (BOOLEAN, default false) - the tooltip says it plainly: "if false, only emit once. else every runtime loop tick send." Flip it to true if you want the signal (returning false after the first tick) to keep flowing every pass rather than blocking.

    Output: init_signal (BOOLEAN) - true once, then blocked (or repeatedly false with always_output).

    Installing it

    Same zero-dependency install as the whole pack. ComfyUI Manager → search "AsyncOutput" → install and restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/teddy1565/ComfyUI-AsyncOutput
    

    It lives under AsyncOutput/Deprecated(ComfyUI NOT Turing complete)/WorkFlowTool.

    Where people get burned

    The honest caveat: it depends on the workflow's extra metadata being present and writable, which is a fragile seam. Queue from the UI and it generally works; drive ComfyUI via the API with hand-built prompts and that metadata may never be there, in which case the node just blocks and you'll wonder why your "reset on init" never fires. If you're on the API path, a manual toggle you flip between runs is more reliable than trusting this one. And as with everything in this pack, the author flags the family as deprecated - it's a clever idea built on machinery ComfyUI doesn't fully promise you.

    CategoryAsyncOutput/Deprecated(ComfyUI NOT Turing complete)/WorkFlowTool

    Inputs (1)

    NameTypeDefaultDescription
    always_outputBOOLEANfalseif false, only emit once. else every runtime loop tick send.

    Outputs (1)

    NameTypeDescription
    init_signalBOOLEAN