NAI 图生图采样器
The img2img sampler that ships your image to NovelAI and brings back a batch
- image
- nai_pipe
- positive
- negative
- core_settings
- advanced_settings
- 图像批次
- 实际Seed列表
- 费用与统计
NAI 图生图采样器 (Image-to-Image Sampler) is where you point at an existing image and tell NovelAI to re-imagine it. It's the img2img workhorse of the pack, and the node that powers a whole family of higher-level tools - the Enhance node and the tiled-refine node both call the same underlying img2img request path. Understand this one and you understand half the pack.
The shape is a standard sampler: IMAGE in, IMAGE batch out, with the pack's typed plumbing - NAI_PIPE, positive and negative prompts, core and advanced settings cards - feeding it. Then the img2img-specific levers.
The inputs that matter
- strength - default 0.7. The classic img2img denoise dial: how much the result departs from the source. Low (0.3-ish) makes tiny tweaks; high approaches full regeneration. This is the single most important knob on the node.
- noise - default 0. Additional re-noise on top of strength. Most of the time you leave it at 0 and reach for strength first.
- size_mode - 保持输入尺寸 (keep the input image's size) is the default, and it's the gotcha magnet. The other option is 使用核心参数尺寸 (use the core card's resolution). The pack rounds the input to a 64-multiple either way, so if your output doesn't match what you set on
NAI 核心参数, check this dropdown before you blame the cards. - seed - 0 to 4294967295, and the output includes an actual-seed list so you can reproduce a winner.
- image_count - 1–4, matching NovelAI's per-request cap. This is a batch of variations from one request, not four requests.
- max_anlas - a spend guard. Set a ceiling and the node refuses to fire if the estimated cost would blow past it. On a paid API this is the difference between "experimenting" and "accidentally renting NovelAI a server."
Outputs: 图像批次 (the IMAGE batch), 实际Seed列表 (JSON string of the seeds actually used), and 费用与统计 (cost and call stats).
Why the outputs matter
The seed list and cost stats aren't garnish. Because every render spends Anlas, you want to know exactly what you paid and which seed produced which frame - the stats string is how you catch a runaway before it runs away. Wire 费用与统计 into a display node and watch the meter.
Install and the workflow context
Same pack install as everything else: search ComfyUI-NovelAI-GENYTOOLS in ComfyUI Manager, or git clone https://github.com/XTOGENY/ComfyUI-NovelAI-GENYTOOLS.git into custom_nodes + pip install -r requirements.txt, Persistent API Token in settings.
Where it fits: img2img is the connective tissue of NovelAI editing workflows - it's what Variations, Enhance, and the tiled-refine all build on, and the local-upscale-then-refine crowd treats it as the "give it more detail" pass. The honest community take that carries over from the detailing docs: img2img at native resolution first, then upscale, or you're baking the flaws into more pixels. Set strength to fit the job - a detail pass at 0.3 is a different node than a full redraw at 0.8, and treating them the same is how people spend Anlas on results they didn't want.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| nai_pipe | NAI_PIPE | — | |
| positive | NAI_POSITIVE_PROMPT | — | |
| negative | NAI_NEGATIVE_PROMPT | — | |
| core_settings | NAI_CORE_SETTINGS | — | |
| advanced_settings | NAI_ADVANCED_SETTINGS | — | |
| seed | INT | 00–4294967295 | — |
| image_count | INT | 11–4 | — |
| max_anlas | FLOAT | 00–100000 | — |
| strength | FLOAT | 0.700–1 | — |
| noise | FLOAT | 0.000–1 | — |
| size_mode | COMBO | 保持输入尺寸 | 2 options: 保持输入尺寸, 使用核心参数尺寸 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| 图像批次 | IMAGE | — |
| 实际Seed列表 | STRING | — |
| 费用与统计 | STRING | — |