- tags_from_picture: WD14 tagger (the source's model and thresholds) on a picture the user handed; run_status now carries what nodes showed as words (texts: a tagger's tags), with a summary and next step for a run that made words but no pictures. - Optional nodes: a block node marked optional goes when its pack is missing, and a link "match|decode" takes the first one there. The four upscales end in KJNodes' ColorMatch (mkl, the source's) when it is installed; the panel says "better with" it otherwise. - LanPaint's next step keeps the prompt about the whole picture; Follow a pose says OpenPose misreads anime (use control_depth), as the source's author did. - The directory has a size cap: past it, block names alone, so collected ways never make begin_task long; shorter headings and few-word lines. Live-tested on the isolated 8199 ComfyUI: LanPaint (area changed 14.6, outside 0.0, 82 s), tiled 2x (167 s), depth ControlNet (follows the layout), OpenPose (misreads an anime picture), background removal (8 s), tags (166 s with the model download), upscale with ColorMatch (73 s). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
139 lines
3.5 KiB
JSON
139 lines
3.5 KiB
JSON
{
|
||
"job": "upscale",
|
||
"rank": 3,
|
||
"short": "1.25×, a second model redraws",
|
||
"title": {
|
||
"zh": "双模型放大",
|
||
"en": "Upscale with a second model"
|
||
},
|
||
"about": {
|
||
"zh": "和「放大」一样,但重画换一个模型:底模放大时不稳(眼睛走样、多出肚脐)就换一个更稳的。新加的模型加载器先是同一个模型,由 AI 按你的意思换。 装了 KJNodes 时,还会把颜色对齐到原图,防止放大后颜色跑偏。",
|
||
"en": "Like Upscale, but the redraw uses a second model, for a base model that goes wrong when enlarged. The new loader starts as the same model; the AI changes it as you say. With KJNodes, its colours are matched to the original, so they don't drift."
|
||
},
|
||
"source": {
|
||
"zh": "参考工作流的「Refiner/放大」加载器和作者的说明",
|
||
"en": "The reference workflow's upscale loader and its author's note"
|
||
},
|
||
"packs": {},
|
||
"upscaler": true,
|
||
"after": "The redraw's model comes from a new loader (second_model), for now the same checkpoint as the first: set_model it to the steadier one the user wants (ask_user, search_models), of the same family (SDXL with SDXL: it reuses the first model's prompts). Then run_workflow; the larger one is saved beside it (prefix upscaled).",
|
||
"notes": "The source keeps a second loader for upscaling; its author: switch to it when the base model goes wrong enlarged. ColorMatch mkl after the redraw is the source's, optional (KJNodes).",
|
||
"upscale_by": 1.25,
|
||
"nodes": {
|
||
"second_model": {
|
||
"class_type": "CheckpointLoaderSimple",
|
||
"like": "$loader",
|
||
"inputs": {}
|
||
},
|
||
"upscaler": {
|
||
"class_type": "UpscaleModelLoader",
|
||
"inputs": {
|
||
"model_name": "$upscaler"
|
||
}
|
||
},
|
||
"enlarge": {
|
||
"class_type": "ImageUpscaleWithModel",
|
||
"inputs": {
|
||
"upscale_model": [
|
||
"upscaler",
|
||
0
|
||
],
|
||
"image": [
|
||
"$save.images",
|
||
"*"
|
||
]
|
||
}
|
||
},
|
||
"fit": {
|
||
"class_type": "ImageScaleBy",
|
||
"inputs": {
|
||
"image": [
|
||
"enlarge",
|
||
0
|
||
],
|
||
"upscale_method": "lanczos",
|
||
"scale_by": "$fit"
|
||
}
|
||
},
|
||
"encode": {
|
||
"class_type": "VAEEncode",
|
||
"inputs": {
|
||
"pixels": [
|
||
"fit",
|
||
0
|
||
],
|
||
"vae": [
|
||
"$decode.vae",
|
||
"*"
|
||
]
|
||
}
|
||
},
|
||
"redraw": {
|
||
"class_type": "KSampler",
|
||
"like": "$sampler",
|
||
"inputs": {
|
||
"model": [
|
||
"second_model",
|
||
0
|
||
],
|
||
"positive": [
|
||
"$sampler.positive",
|
||
"*"
|
||
],
|
||
"negative": [
|
||
"$sampler.negative",
|
||
"*"
|
||
],
|
||
"latent_image": [
|
||
"encode",
|
||
0
|
||
],
|
||
"denoise": 0.35
|
||
}
|
||
},
|
||
"decode": {
|
||
"class_type": "VAEDecode",
|
||
"inputs": {
|
||
"samples": [
|
||
"redraw",
|
||
0
|
||
],
|
||
"vae": [
|
||
"$decode.vae",
|
||
"*"
|
||
]
|
||
}
|
||
},
|
||
"match": {
|
||
"class_type": "ColorMatch",
|
||
"optional": true,
|
||
"inputs": {
|
||
"image_ref": [
|
||
"fit",
|
||
0
|
||
],
|
||
"image_target": [
|
||
"decode",
|
||
0
|
||
],
|
||
"method": "mkl",
|
||
"strength": 1.0,
|
||
"multithread": true
|
||
}
|
||
},
|
||
"save": {
|
||
"class_type": "SaveImage",
|
||
"inputs": {
|
||
"images": [
|
||
"match|decode",
|
||
0
|
||
],
|
||
"filename_prefix": "upscaled"
|
||
}
|
||
}
|
||
},
|
||
"extras": {
|
||
"ColorMatch": "ComfyUI-KJNodes"
|
||
}
|
||
}
|