🍒Manual_MetadataInput / 填写元数据
Hand-write the A1111-style 'Parameters' text that makes a PNG look legit
- 图像
- 输出元数据
Manual_MetadataInput is a form for faking - no, for authoring - the standard generation-parameters text that tools like A1111 and Civitai's PNG info readers expect. Give it a prompt plus a stack of settings, and it assembles everything into the familiar one-line-per-field "Parameters" block that gets embedded in image metadata. The README is refreshingly blunt about why this exists: you can write workflow and generation info into any image, stamp promotional info into images for distribution, and even write metadata into Photoshop-edited images to disguise them as originals. So yes - this is the node you use when you've heavily edited an image and want it to still carry a believable, parseable generation string.
How it works
You fill in the fields; it reads the resolution straight off the connected image so Size is always honest; then it builds a single text blob in the exact format that Civitai/A1111's metadata parsers recognize:
my prompt here
Steps: 10, Sampler: Euler, Schedule type: Simple, CFG scale: 1, Distilled CFG Scale: 3.5, Seed: 1173957321, Size: 1024x1024, Model hash: 9965eb995e, Model: kimVixen_fp8_e4m3fn, Lora hashes: "flux_loraName: e3b0c44298fc", Module 1: ae, Module 2: clip_l, Module 3: t5xxl_fp16
That single-key dict ({"Parameters": ...}) is the DICT output, ready to be fed to this pack's Add_ImageMetadata node, which writes it into a PNG and saves it. The output is a dict, not an image - this node is the "compose" half of a two-node metadata write pipeline.
The inputs that matter
Two required, and the defaults are telling. prompt (multiline text) and 图像 (image) - the image is required because the node auto-reads its dimensions for the Size field.
The optional fields are the A1111 parameter set: steps, sampler, schedule_type, cfg_scale, distilled_cfg_scale, seed, model_hash, model, lora_hashes, version, and module_1/2/3. Look at the defaults and you can tell this was built for a Flux-class workflow: cfg_scale: 1 with distilled_cfg_scale: 3.5 is the guidance-distilled Flux signature (CFG 1 means guidance is baked into the model, and the "distilled" scale is the real guidance value), and modules ae / clip_l / t5xxl_fp16 are exactly Flux's VAE + dual text encoders. The model default is kimVixen_fp8_e4m3fn - the author's own checkpoint.
Installation
It ships in ComfyUI_KimNodes:
cd ComfyUI/custom_nodes
git clone https://github.com/wjl0313/ComfyUI_KimNodes
Restart ComfyUI. No extra dependencies.
Common issues
The trap to understand: this node doesn't save anything. It produces a dict, and if you don't wire it into the write side (Add_ImageMetadata or your own metadata writer), nothing happens - beginners expect a file to appear. Also, if the connected image can't be read for dimensions, it silently falls back to 1024x1024 rather than warning you, so check that Size line if it looks wrong. And the Lora hashes field comes pre-filled with a nonsense placeholder hash - the format matters to parsers, the actual value is up to you. It's a niche tool, but if you publish images with embedded generation data, it's the fastest way to keep that data correct after a round of editing.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| 图像 | IMAGE | — | |
| stepsopt | INT | 101–1000 | — |
| sampleropt | STRING | Euler | — |
| schedule_typeopt | STRING | Simple | — |
| cfg_scaleopt | FLOAT | 1.000–100 | — |
| distilled_cfg_scaleopt | FLOAT | 3.500–100 | — |
| seedopt | INT | 11739573210–4294967295 | — |
| model_hashopt | STRING | 9965eb995e | — |
| modelopt | STRING | kimVixen_fp8_e4m3fn | — |
| lora_hashesopt | STRING | "flux_loraName: e3b0c44298fc" | — |
| versionopt | STRING | — | |
| module_1opt | STRING | ae | — |
| module_2opt | STRING | clip_l | — |
| module_3opt | STRING | t5xxl_fp16 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| 输出元数据 | DICT | — |