NovelAIRequestPayload
The settings hub for a NovelAI generation
- characterPrompts
- payload
- payload_dict
If NovelAI_Request is the phone call, NovelAI_Request_Payload (shown as NovelAIRequestPayload) is the phone you dial with. It's where every generation setting for NovelAI's hosted models lives: the prompt, the sampler, the resolution, which model to use, and - if you're on the v4 line - the per-character prompt layout. You build the payload here, then wire it into NovelAI_Request, which actually makes the request.
This is the node you'll spend most of your time on, because it's the one with opinions. It's not a dumb passthrough: it remaps your inputs into NovelAI's internal parameter names and does a couple of transformations you'd otherwise have to do by hand.
How it works
Under the hood the node builds a BaseRequest, then wraps it in a NovelAITXT2IMGPayload. The remapping is where it earns its keep:
cfg_scalebecomesscale,samplerbecomessampler,n_iterbecomesn_samples, andschedulerbecomesnoise_schedule- NovelAI's API names, not ComfyUI's.- The selected
ucPresetstring gets appended to your negative_prompt automatically. There are three presets: a long quality-filter list, a shorter one, and an empty one for when you want to handle negatives yourself. skip_cfg_above_sigma_enable(a v4-specific trick) computes a per-resolution sigma value from a lookup table - or a fallback formula if your resolution isn't in the table - and only activates when you toggle it on.
The result is a payload object plus a payload_dict (a DICT) that shows you exactly what's about to be sent. If you're debugging, that dict is gold: it's the ground truth of what NovelAI will receive.
Inputs a beginner actually sets
Most of these are self-explanatory if you've used any diffusion UI. The ones worth knowing:
- prompt and negative_prompt - plain text, defaults are placeholders.
- model - this is where NovelAI's lineup lives:
nai-diffusion-4-5-fulland-curated,nai-diffusion-4-fulland-curated-preview,nai-diffusion-3,nai-diffusion-furry-3, andnai-diffusion-2. Note the "preview" and "curated" suffixes - some of these are experiments, not the flagship. - sampler - NovelAI's
k_*names (k_dpmpp_2m,k_euler_ancestral,ddim_v3, …). These are NovelAI's own sampler names; don't go looking for ComfyUI's sampler list here. - seed (default -1), steps (28), cfg_scale (6), width/height (832×1216 portrait by default).
- characterPrompts - a LIST input, normally fed by the pack's
Character_Prompt_Selectnode. Only meaningful on the nai-diffusion-4 models; see that node's article for how it works. - ucPreset and skip_cfg_above_sigma_enable - covered above. Both are v3/v4-era niceties; leave them alone until you know you need them.
Outputs are payload (NovelAITXT2IMGPayload, into NovelAI_Request) and payload_dict (DICT, for inspection).
Install
Same as the rest of the pack - this is one install for six nodes. Via ComfyUI Manager (search "ComfyUI_API_Request") or:
cd ComfyUI/custom_nodes
git clone https://github.com/DiaoDaiaChan/ComfyUI_API_Request
Restart ComfyUI. The only extra dependency is python-dotenv; there are no model downloads because the models live on NovelAI's servers.
Common issues
The classic beginner mistake is treating the model list like a free buffet: a "curated-preview" v4 model can behave differently from nai-diffusion-4-full on the same prompt, and character prompts (characterPrompts) simply won't do anything on nai-diffusion-3 or nai-diffusion-2. Also remember the payload only describes a generation - you haven't spent any Anlas until you connect the payload to NovelAI_Request and run. If you're iterating on settings, get the payload right first; each run of the request node is a billed generation.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | prompt here | — |
| negative_promptopt | STRING | negative prompt here | — |
| seedopt | INT | -1 | — |
| sampleropt | COMBO | 7 options: k_dpmpp_2m, k_dpmpp_sde, k_dpmpp_2m_sde, k_dpmpp_2s_ancestral, k_euler_ancestral, k_euler, +1 | |
| n_iteropt | INT | 1 | — |
| stepsopt | INT | 28 | — |
| cfg_scaleopt | FLOAT | 6.00 | — |
| widthopt | INT | 832 | — |
| heightopt | INT | 1216 | — |
| scheduleropt | COMBO | 1 options: karras | |
| ucPresetopt | COMBO | 3 options: blurry, lowres, error, film grain, scan artifacts, worst quality, bad quality, jpeg artifacts, very displeasing, chromatic aberration, logo, dated, signature, multiple views, gigantic breasts, blurry, lowres, error, worst quality, bad quality, jpeg artifacts, very displeasing, logo, dated, signature, | |
| cfg_rescaleopt | INT | 0 | — |
| characterPromptsopt | LIST | — | |
| prefer_brownianopt | BOOLEAN | false | — |
| modelopt | COMBO | 7 options: nai-diffusion-4-5-full, nai-diffusion-4-5-curated, nai-diffusion-4-full, nai-diffusion-4-curated-preview, nai-diffusion-3, nai-diffusion-furry-3, +1 | |
| skip_cfg_above_sigma_enableopt | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| payload | NovelAITXT2IMGPayload | — |
| payload_dict | DICT | — |