- api/block_models.json: the 15 models the ways recommend, each with its Hugging Face / Civitai / GitHub links, size, SHA256 (all checked against the sites), licence and folder. A block's "models" names its recommended ones; the Ways panel ticks those here (by name, or by size for a renamed copy) and downloads a missing one in a click with model_download.downloadFrom, its hash checked. - A block's "tested": the card (RTX 4050 laptop, 6 GB), sizes and a whole run's time, shown in the panel and told to the AI with the block (answer.tested). - color_lineart gets an Anima variant with Anima's lineart LLLite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
173 lines
5.1 KiB
JSON
173 lines
5.1 KiB
JSON
{
|
||
"job": "follow",
|
||
"rank": 1,
|
||
"short": "its pose",
|
||
"title": {
|
||
"zh": "照着姿势画",
|
||
"en": "Follow a pose"
|
||
},
|
||
"about": {
|
||
"zh": "你递给 AI 一张图,AMB 读出人物姿势(DWPose),用和你底模对得上的控制网让新图摆出这个姿势。 DWPose 认二次元人物也准,连脸和手指都标;人物挤成一团、画风很浓的图可能认不出,这时用「照着构图画」。 画布上是 Anima 模型时,自动改用 Anima 专用的 LLLite 控制网(需要 ComfyUI-Anima-LLLite)。",
|
||
"en": "From a picture you hand the AI, Anomalous reads the pose (DWPose) and steers the picture with a ControlNet that fits your model. DWPose reads anime characters too, face and fingers included; a crowded or very stylised picture may come out empty, then use Follow a layout. On an Anima model it uses an Anima ControlNet-LLLite instead (needs ComfyUI-Anima-LLLite)."
|
||
},
|
||
"source": {
|
||
"zh": "参考工作流的「底图控制网」组",
|
||
"en": "The reference workflow's ControlNet group"
|
||
},
|
||
"packs": {
|
||
"DWPreprocessor": "comfyui_controlnet_aux"
|
||
},
|
||
"takes": "reference",
|
||
"control": "pose",
|
||
"nodes": {
|
||
"reference": {
|
||
"class_type": "LoadImage",
|
||
"inputs": {
|
||
"image": "$image"
|
||
}
|
||
},
|
||
"pose": {
|
||
"class_type": "DWPreprocessor",
|
||
"inputs": {
|
||
"image": [
|
||
"reference",
|
||
0
|
||
],
|
||
"detect_hand": "enable",
|
||
"detect_body": "enable",
|
||
"detect_face": "enable",
|
||
"resolution": 1024,
|
||
"bbox_detector": "yolox_l.torchscript.pt",
|
||
"pose_estimator": "dw-ll_ucoco_384_bs5.torchscript.pt",
|
||
"scale_stick_for_xinsr_cn": "disable"
|
||
}
|
||
},
|
||
"controlnet": {
|
||
"class_type": "ControlNetLoader",
|
||
"inputs": {
|
||
"control_net_name": "$controlnet"
|
||
}
|
||
},
|
||
"steer": {
|
||
"class_type": "ControlNetApplyAdvanced",
|
||
"inputs": {
|
||
"positive": [
|
||
"$sampler.positive",
|
||
"*"
|
||
],
|
||
"negative": [
|
||
"$sampler.negative",
|
||
"*"
|
||
],
|
||
"control_net": [
|
||
"controlnet",
|
||
0
|
||
],
|
||
"image": [
|
||
"pose",
|
||
0
|
||
],
|
||
"vae": [
|
||
"$decode.vae",
|
||
"*"
|
||
],
|
||
"strength": 0.8,
|
||
"start_percent": 0.0,
|
||
"end_percent": 0.8
|
||
},
|
||
"wire_to": "$sampler"
|
||
},
|
||
"look": {
|
||
"class_type": "PreviewImage",
|
||
"inputs": {
|
||
"images": [
|
||
"pose",
|
||
0
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"after": "run_workflow: the picture now takes that pose (strength 0.8, for the first 80% of the steps; lower either for a looser pose). The prompt still says who and what: change it if it fights the pose. Its pose skeleton is among the run's previews: if it is empty or wrong (a crowded or very stylised picture), try control_depth.",
|
||
"variants": {
|
||
"anima": {
|
||
"packs": {
|
||
"DWPreprocessor": "comfyui_controlnet_aux",
|
||
"AnimaLLLiteApply_sdscripts": "ComfyUI-Anima-LLLite"
|
||
},
|
||
"control": null,
|
||
"lllite": "pose",
|
||
"nodes": {
|
||
"reference": {
|
||
"class_type": "LoadImage",
|
||
"inputs": {
|
||
"image": "$image"
|
||
}
|
||
},
|
||
"pose": {
|
||
"class_type": "DWPreprocessor",
|
||
"inputs": {
|
||
"image": [
|
||
"reference",
|
||
0
|
||
],
|
||
"detect_hand": "enable",
|
||
"detect_body": "enable",
|
||
"detect_face": "enable",
|
||
"resolution": 1024,
|
||
"bbox_detector": "yolox_l.torchscript.pt",
|
||
"pose_estimator": "dw-ll_ucoco_384_bs5.torchscript.pt",
|
||
"scale_stick_for_xinsr_cn": "disable"
|
||
}
|
||
},
|
||
"steer": {
|
||
"class_type": "AnimaLLLiteApply_sdscripts",
|
||
"inputs": {
|
||
"model": [
|
||
"$sampler.model",
|
||
"*"
|
||
],
|
||
"lllite_name": "$lllite",
|
||
"image": [
|
||
"pose",
|
||
0
|
||
],
|
||
"strength": 1.0,
|
||
"start_percent": 0.0,
|
||
"end_percent": 1.0,
|
||
"preserve_wrapper": true
|
||
},
|
||
"wire_to": "$sampler"
|
||
},
|
||
"look": {
|
||
"class_type": "PreviewImage",
|
||
"inputs": {
|
||
"images": [
|
||
"pose",
|
||
0
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"after": "On this Anima model an Anima ControlNet-LLLite steers it, more gently than an SDXL ControlNet: say in the prompt what the picture shows (how many people, what they do), or the prompt wins. Strength 1.0 for all the steps; up to 1.5 holds it closer. run_workflow. Its pose skeleton is among the run's previews: if it is empty or wrong (a crowded or very stylised picture), try control_depth."
|
||
}
|
||
},
|
||
"models": [
|
||
"noob_openpose",
|
||
"thibauld_openpose_sdxl",
|
||
"union_promax_sdxl",
|
||
"anima_lllite_pose"
|
||
],
|
||
"tested": {
|
||
"gpu": "RTX 4050 Laptop",
|
||
"vram_gb": 6,
|
||
"date": "2026-10-27",
|
||
"runs": [
|
||
{
|
||
"model": "SDXL (Illustrious)",
|
||
"size": "832×1216",
|
||
"seconds": 64
|
||
}
|
||
]
|
||
}
|
||
}
|