Nodes/ComfyUI-aihub-workflow-exposer/AIHub Expose Project Config Integer
ComfyUI Node

AIHub Expose Project Config Integer

Pull a whole number out of the project's config, with a fallback

By otavanopisto·Created about a year ago·Updated 22 days ago· 7
AIHub Expose Project Config Integer
    • INT
    idinteger
    fieldmy-field
    default0

    AIHub Expose Project Config Integer reads a whole number from the current AIHub project's configuration and emits it as an INT. It's one of four config readers (bool, int, float, string) that form the pack's "project state" layer: values the client stores on its side of a project, invisible to the user, read into the workflow on each run.

    Where does the config live? That's the clever part of AIHub's design - the server doesn't care. A project is whatever the client says it is; the README's baseline example is a folder with a config.json, but it explicitly says how it's stored is the client's business. These nodes just ask the client (over the pack's websocket, port 8111) for a config field by name and get a value back. A workflow only has a project at all if its AIHubWorkflowController sets a project_type - and it must be a workflow that runs after the project's init workflow, not the init itself.

    What you set

    • field - the config key, with dots for nested access. output.frames reads {"output": {"frames": 24}}. This is the one input you'll change.
    • default - the value returned when the field is missing or empty. Defaults to 0. Pick a default that's safe to run with, because "no value" silently becomes "this number."
    • id - the protocol field id (alphanumeric, _, -).

    That's the whole node. No label, no advanced flag, no sort index - the client never shows this to the user, so there's nothing to label.

    Where it slots in

    The plain AIHubExposeInteger is a user-facing field - the client renders it, the user types in it. This one is a project-level read: a value the client maintains as part of the project's state, often set by an earlier workflow run via the matching AIHubActionSetProjectConfigInteger. Think "how many frames have we generated so far in this project" or "which resolution tier did the init workflow lock in." Because it's wired into the project, subsequent workflows in the chain pick it up automatically.

    Install & gotchas

    Pack install is standard: ComfyUI Manager → search ComfyUI-aihub-workflow-exposer, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/otavanopisto/ComfyUI-aihub-workflow-exposer
    

    then restart. No requirements.txt, no model downloads - the pack uses ComfyUI's bundled dependencies only.

    The trap to remember is the same across all four config nodes: it reads the project config, and if there's no project, you get the default. A workflow without a project_type on its controller will quietly return your default forever and you'll think the node is broken. The other one is type mismatch - if the client stored a string "24" where you expect an integer, you'll get the default rather than a coercion, so keep the config schema in sync between the node that writes it and the one that reads it.

    Categoryaihub/expose/config

    Inputs (3)

    NameTypeDefaultDescription
    idSTRINGintegerA unique custom id for this workflow.
    fieldSTRINGmy-fieldThe field to expose, use dots for entering sublevels
    defaultINT0-2147483648–2147483647The default value of the field

    Outputs (1)

    NameTypeDescription
    INTINT