Extensions/Neriss ComfyNodes
ComfyUI Extension

Neriss ComfyNodes

A handful of ComfyUI nodes to fill in the gaps left by other node pack.

By NerissG·Created 19 days ago·Updated about 23 hours ago· 0
NerissG/Neriss_ComfyNodes
Nodes—
On cloudLocal install
Stars0
Updatedabout 23 hours ago
Readme

Neriss ComfyNodes

Install

ComfyUI Manager:

  1. Open Manager -> Custom Nodes Manager.
  2. Search for Neriss ComfyNodes.
  3. Install it.
  4. then restart ComfyUI and refresh the browser.

comfy-cli:

comfy node install Neriss_ComfyNodes

Manual:

With manual install, you will need to pull the repo to update the nodepack.

cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/NerissG/Neriss_ComfyNodes.git

The frontend is prebuilt. You do not need Node.js, pnpm or Nix. Restart ComfyUI and refresh the browser.

Nodes

🔨 Ideogram 4 Prompt Editor

A visual layout editor that builds Ideogram 4 structured JSON prompts.

<details> <summary>ℹ️ <i>See More Information</i></summary>
  • Click Open Layout Editor, draw regions on the canvas, then describe the scene and each region.
  • Reusable style presets and an optional reference image to trace over.
  • Connect json_prompt to your model's prompt input and use the node's width and height to create the latent.
  • Also outputs a reference/grid image, an annotated preview and pixel bounding boxes.
  • Paste an existing prompt with Import JSON to edit it visually, or connect one to import_json to apply it on execution.

IG4 Layout Node IG4 Layout GUI

</details>

🔨 MOSS Layout Prompt Editor

The same visual editor, for MOSS-Image layout prompts.

<details> <summary>ℹ️ <i>See More Information</i></summary>
  • Click Open Layout Editor to draw regions.
  • Add and sort the summary tags alongside the scene caption.
  • Connect json_prompt to your model's prompt input and use the node's width and height to create the latent.
  • Also outputs a reference/grid image, an annotated preview and pixel bounding boxes.
  • Paste an existing prompt with Import JSON to edit it visually, or connect one to import_json to apply it on execution.

MOSS Layout Node MOSS Layout GUI

</details>

🔨 Resolution Selector

Pick a generation size from an aspect ratio and a pixel budget.

<details> <summary>ℹ️ <i>See More Information</i></summary>
  • Choose an aspect-ratio preset or enter a custom ratio, and flip it to swap portrait and landscape.
  • Size by total megapixels or by a squared side length.
  • Width and height are rounded to the chosen multiple (16 by default).
  • Presets are editable and shared across workflows.

Resolution_Selector_Node

</details>

🔨 Scale Image to Megapixels

Resize an image batch to a megapixel or square-side target.

<details> <summary>ℹ️ <i>See More Information</i></summary>
  • Same sizing modes as the Resolution Selector, with output sides rounded to resolution_steps.
  • Choose the interpolation: nearest-exact, bilinear, area, bicubic or lanczos.
  • stretch resizes directly; crop trims to the target aspect first, anchored at the center or an edge.
  • An optional mask is cropped and resized with the image. Without one, an empty mask is returned.
  • Outputs the image, its width and height, and the mask.

Rescale_Image_Node

</details>

🔨 LoRA Block Strength Editor

Load a LoRA and set strengths per block or per module, for any model family.

<details> <summary>ℹ️ <i>See More Information</i></summary>
  • Connect a MODEL (and optionally a TE), pick a LoRA, then click Open Strength Editor.
  • Blocks are read from the LoRA itself, so it works with any model family.
  • Each multiplier scales the global MODEL/TE strength. 0 turns a block off; negative values are allowed.
  • Changes take effect when you click Apply strengths.
  • If a LoRA doesn't seem to apply, check the report output.

LoRA Strength Node LoRA Strength GUI

</details>

Development

Clone the repository into ComfyUI/custom_nodes. You need Node.js 24 and pnpm; corepack enable installs the pinned pnpm version.

Install the Python check tools into the environment you run ComfyUI with:

python -m pip install ruff ty

Start Vite from web/:

cd web
pnpm install --frozen-lockfile
pnpm dev

Then start ComfyUI with WEB_DEV=1 so it loads the frontend from Vite:

WEB_DEV=1 python main.py

Frontend edits hot-reload; Python changes need a ComfyUI restart. If ComfyUI isn't at http://127.0.0.1:8188, pass its URL to Vite, for example COMFY_ORIGIN=http://localhost:8000 pnpm dev.

To work on the editor without ComfyUI, run pnpm run preview:editor and open http://127.0.0.1:4179/preview/index.html. It uses a mock node, so uploads and saved libraries don't work there.

Checks

Python, from the repository root:

python -m ruff format .
python -m ruff check .
python -m ty check
python -m unittest discover -s tests

Frontend, from web/:

pnpm run lint
pnpm run typecheck
pnpm test

Browser tests run with pnpm run test:e2e and need Nix installed (until I stop being lazy and make it less rigid).

Building

The built frontend in web/dist is committed, so users don't need Node.js. After frontend changes, run pnpm run build from web/ and commit web/dist and THIRD_PARTY_NOTICES.md with your changes. CI fails if they are out of date.

Releasing

  1. Bump the version from web/ with pnpm run version:bump patch (or minor, major, or an exact version).
  2. Commit the changes and push a matching vX.Y.Z tag.
  3. Run the Publish tagged registry release workflow on that tag.

License

MPL-2.0. Licenses for bundled frontend dependencies are in THIRD_PARTY_NOTICES.md.