Nodes/NovelAI GENYTOOLS/NAI XY 对比图
ComfyUI Node

NAI XY 对比图

A comparison grid where every cell is a paid generation

By XTOGENY·Created 2 months ago·Updated 24 days ago· 19
NAI XY 对比图
  • nai_pipe
  • positive
  • negative
  • core_settings
  • advanced_settings
  • x_axis
  • y_axis
  • XY对比大图
  • 单元格图像批次
  • 单元格报告JSON
  • 费用与统计
base_seed0
max_total_anlas0.00
request_delay0.5
use_cachetrue
cache_max_gb10
cell_gap8
label_height72
preview_max_edge512

The A/B test machine of the pack, and the node that will quietly eat your Anlas if you let it. NAIXYPlotV2 takes the full modular pipeline, two axes from NAIXYAxisV2, and generates a labeled grid: every combination of X value and Y value becomes one image. 5×5 grid, 25 images, 25 API calls. That's the whole cost model in one sentence, so read the rest with that in mind.

What it is

Inputs: nai_pipe, positive and negative prompts, core and advanced settings - the same stack every sampler takes - plus x_axis and y_axis from the axis nodes. Then the controls:

  • base_seed - the seed for the first cell; each subsequent cell gets base_seed + index. That means a fixed seed sweeps across the grid rather than randomizing per cell, which is what you want for a controlled comparison.
  • max_total_anlas - a hard cap on the whole grid's spend. The node stops before firing if the batch would exceed it.
  • request_delay (default 0.5s) - a pause between calls. Matters for rate-limit safety on big grids.
  • use_cache / cache_max_gb - per-cell caching, so rerunning a grid only pays for cells whose inputs changed.
  • cell_gap, label_height, preview_max_edge - presentation: spacing, label strip height, and the max edge of the preview cells (labels stay readable, cells scale down).

Outputs: XY对比大图 (the assembled labeled grid image), 单元格图像批次 (the individual cells as a batch), 单元格报告JSON (per-cell details), and 费用与统计 (the spend summary).

What it's good at

The genuinely useful comparisons on a cloud API: guidance × sampler, steps × CFG rescale, model × steps, or a prompt-suffix sweep against a seed range. The KB's prompting notes hammer that sampler and guidance choices are image-dependent and you can't reason your way to the right one - you have to look. This node makes looking cheap per cell and expensive in aggregate, so the discipline is to keep axes small.

The cost discipline

This is the node where the "every cell is a paid generation" reality bites hardest. A 3×3 grid is 9 calls; a 6×6 grid is 36. Set max_total_anlas before you run, start with small axes to sanity-check the grid layout and labeling, and use the cache so re-tuning the prompt doesn't re-bill every cell - cells whose inputs (including prompt) are unchanged come back from cache for free.

Install and setup

Part of ComfyUI-NovelAI-GENYTOOLS. Manager search, or:

cd ComfyUI/custom_nodes
git clone https://github.com/XTOGENY/ComfyUI-NovelAI-GENYTOOLS.git
pip install -r ComfyUI-NovelAI-GENYTOOLS/requirements.txt

Restart, set your NovelAI Persistent API Token under NovelAI 2.0: Persistent API Token.

Gotchas

  • X and Y axes can't be the same parameter - the node rejects it (comparing guidance to itself is meaningless anyway).
  • Each axis maxes at 6 values, enforced here too. 6×6 = 36 paid calls if you don't set a cap.
  • The per-cell seed derives from base_seed + index, so the order of cells matters for reproducibility. Keep your axis values in a stable order.
  • The 费用与统计 output is your invoice. If a grid run cost more than you expected, the report JSON per cell tells you which cells actually went to the API versus hit the cache.
CategoryNovelAI 2.0/生成/批量任务与XY图

Inputs (15)

NameTypeDefaultDescription
nai_pipeNAI_PIPE
positiveNAI_POSITIVE_PROMPT
negativeNAI_NEGATIVE_PROMPT
core_settingsNAI_CORE_SETTINGS
advanced_settingsNAI_ADVANCED_SETTINGS
x_axisNAI_XY_AXIS
y_axisNAI_XY_AXIS
base_seedINT00–4294967295
max_total_anlasFLOAT0.000–100000
request_delayFLOAT0.50–10
use_cacheBOOLEANtrue
cache_max_gbINT101–100
cell_gapINT80–64
label_heightINT7236–160
preview_max_edgeINT512256–1024

Outputs (4)

NameTypeDescription
XY对比大图IMAGE
单元格图像批次IMAGE
单元格报告JSONSTRING
费用与统计STRING