AIHub Expose Project Config Integer
Pull a whole number out of the project's config, with a fallback
- INT
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.framesreads{"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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| id | STRING | integer | A unique custom id for this workflow. |
| field | STRING | my-field | The field to expose, use dots for entering sublevels |
| default | INT | 0-2147483648–2147483647 | The default value of the field |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| INT | INT | — |