NAI 批量文生图任务
The executor that turns your task list into a stack of paid generations — safely
- nai_pipe
- core_settings
- advanced_settings
- batch_tasks
- 图像批次
- 实际Seed列表
- 任务报告JSON
- 费用与统计
NAI 批量文生图任务 (Batch Text-to-Image Task) is the loop body of the pack's batch system: it takes the task list from NAI 批量提示词任务列表, the pipe, and both settings cards, and fires one generation per task - each a single image request, no multi-image tricks, so every task is independently cachable and individually billable. Think of it as a guarded for loop over the paid API, with the guardrails that keep the loop from eating your Anlas balance.
The controls that keep it safe
- seed_mode - 递增 (increment), 固定 (fixed), or 根据任务文本稳定派生 (stable-derive-from-task-text). Increment walks
start_seedup per task; fixed keeps one seed; the derived mode hashes the task's prompt text into a seed, so the same task always gets the same seed no matter the order - which is what makes reruns reproducible. - start_task / max_tasks - resume support.
start_taskskips the first N tasks (re-run from where a previous batch died),max_taskscaps how many this run does. 0 = all. - max_total_anlas - the wallet lock. Set a ceiling and the executor stops before it blows past it.
- request_delay - 0.1–10s between requests, default 0.5. Politeness and rate-limit insurance.
- use_cache / cache_max_gb - per-task cache (10GB default). Re-run after an interruption and only the tasks that didn't complete actually hit the API. Combined with
start_task, this is the "paid API with a safety net" story.
Every task also locks n_samples=1, so a 40-task list is 40 single-image requests - exactly 40 billable calls, no surprise batch multipliers.
Outputs
图像批次 - the IMAGE batch of results, one per completed task. 实际Seed列表 - the seeds actually used, as JSON. 任务报告JSON - per-task report (which task, its seed, its status), the structured answer to "what ran and what didn't." 费用与统计 - the running cost. Wire the last two into display nodes and the whole thing becomes an audit trail.
Where people get burned
The classic failure is queueing before you've looked at the list - a 100-task list at 1536×1024 with the wrong model is a fast, expensive mistake, and the executor will happily run all of it up to your max_total_anlas cap. Set the cap low on your first run, verify the seed mode actually gives you the reproducibility you expect, and confirm the cache is on before trusting a rerun to be cheap. Also remember this is the paid half of the batch pair - the task-list builder next door is free, so do all your list editing there and commit Anlas only when the summary looks right.
The other thing the community has hammered on about API nodes in general: per-call cost adds up faster than people expect. That's the entire reason this node ships four separate safety controls. Use them.
Install
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. The pack is new with a thin community trail, so the README's same-style batch workflow is the best starting point - load it, cap the Anlas, run a 3-task test.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| nai_pipe | NAI_PIPE | — | |
| core_settings | NAI_CORE_SETTINGS | — | |
| advanced_settings | NAI_ADVANCED_SETTINGS | — | |
| batch_tasks | NAI_BATCH_TASKS | — | |
| start_seed | INT | 00–4294967295 | — |
| seed_mode | COMBO | 递增 | 3 options: 递增, 固定, 根据任务文本稳定派生 |
| start_task | INT | 11–100 | — |
| max_tasks | INT | 00–100 | — |
| max_total_anlas | FLOAT | 0.000–100000 | — |
| request_delay | FLOAT | 0.50–10 | — |
| use_cache | BOOLEAN | true | — |
| cache_max_gb | INT | 101–100 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| 图像批次 | IMAGE | — |
| 实际Seed列表 | STRING | — |
| 任务报告JSON | STRING | — |
| 费用与统计 | STRING | — |