Input Parameters
One node to define the whole sampling recipe — and take it with you
- seed
- steps
- cfg
- sampler
- scheduler
- denoise
- width
- height
- parameters_json
Normally your generation settings are scattered across widget columns: seed on the KSampler, steps on the same KSampler, resolution buried in the Empty Latent node three reroutes away. Input Parameters gathers the whole first-pass recipe into one node and - this is the part that matters - hands you a portable JSON string that describes it. That JSON is what lets the recipe survive inside the saved image, get read back later, and get re-applied by other nodes in this pack.
How it fits
It's the first-pass half of the pack's sampler-parameter pair. The single-sampler quick-start workflow is literally 01_single_sampler_workflow: Input Parameters → KSampler → Image Saver. For two-pass work, its sibling Double Sample Parameters handles the second pass, and the pair's JSON outputs get concatenated into one metadata string.
Inputs that matter
The core six are the standard KSampler recipe:
seed(INT) - defaults 0, withcontrol_after_generateso it rerolls after each run.steps(INT, default 20),cfg(FLOAT, default 7.0),denoise(FLOAT, default 1.0).sampler(44 choices) andscheduler(9 choices) - the live ComfyUI lists, rebuilt lazily so samplers added by other packs show up instead of causing type mismatches.
Then the two that make this node worth using:
width/height(INT, default 1024×1536, step 8) - independent resolution outputs, so you can stop reaching for Empty Latent to set your size.ratio- a dropdown of 17 aspect-ratio presets. Here's the thing to know: it's a one-shot sizing helper, not a live link. Pick "2:3 竖图" and it sets width/height to match once; change the ratio later and the dimensions don't follow unless you click again. And yes, the labels are Chinese - 横图 is landscape, 竖图 is portrait, 方形 is square, 超宽/超长 are ultrawide/ultratall. Took me a minute the first time.
Outputs
Typed wires for all of the above - seed, steps, cfg, sampler, scheduler, denoise, width, height - plus the important one:
parameters_json(STRING) - a compact JSON payload tagged with schemapm4a_input_parameters. Feed it to the pack's Image Saver and the save node parses it back into steps, sampler, CFG, seed, size and denoise for the A1111-style metadata it writes. That's the loop that makes your parameters reusable: set once, saved with the image, re-applied by Meta Apply later.
Installing it
Part of the pack, so one install covers everything:
cd ComfyUI/custom_nodes
git clone https://github.com/tsukino4a/ComfyUI-4A-Prompt-Manager.git
cd ComfyUI-4A-Prompt-Manager
python install.py # or: pip install -r requirements.txt
Restart after. Or use ComfyUI Manager and search 4A Prompt Manager. No models, no downloads.
Troubleshooting
- Ratio and manual width/height disagree. Expected - ratio only writes dimensions when you pick it. It's a helper, not a constraint.
- The sampler dropdown is huge. That's the real ComfyUI sampler list, CFG++ and SDE variants included. If you only ever use dpmpp_2m + karras, that's fine - ignore the rest.
- Image Saver ignores your settings. Make sure the JSON wire is actually connected to its
parameters_jsoninput, not typed out by hand - the saver parses the schema-tagged string.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 7.00–100 | — |
| sampler | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| denoise | FLOAT | 1.000–1 | — |
| ratio | COMBO | 2:3 竖图 | 17 options: 1:1 方形, 4:3 横图, 3:4 竖图, 3:2 横图, 2:3 竖图, 16:9 横图, +11 |
| width | INT | 10248–16384 | — |
| height | INT | 15368–16384 | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| seed | INT | — |
| steps | INT | — |
| cfg | FLOAT | — |
| sampler | euler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2 | — |
| scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |
| denoise | FLOAT | — |
| width | INT | — |
| height | INT | — |
| parameters_json | STRING | — |