Mask-in-video (the masks now travel with the video file): - New videometa module: write/read a JSON payload under the lanpaint-mask mp4 metadata tag via PyAV (stream copy, movflags=use_metadata_tags), so exporting produces a NEW file and the source is never modified. - Two server routes: GET /lanpaint/video_mask_meta (read the payload back) and POST /lanpaint/export_mask_video (remux into input/<base>_masked.mp4). - The mask editor exports the painted keyframes (base64 PNGs) + audio intervals into the video; loading a video with the tag auto-restores the masks (editor and node preview). A video without the tag clears the workflow's masks - the video is the source of truth. The export also offers a native save dialog (showSaveFilePicker) when available. - The video widget upload now uses video_upload so MP4s are selectable in the file chooser (was image_upload). - LanPaint_ImageEncode accepts 5D latents from video VAEs encoding a single image (e.g. the Hunyuan video VAE) - fixes the Hunyuan example. Example set conversion (one example per supported model, new files, old pairs removed after being superseded): - New *ImageEncode/*EncodeDecode example workflows for SDXL, Flux.1, Flux.2 Dev, Flux2 Klein, SD3.5, Hunyuan, Ideogram4, Krea2, Qwen Edit, Qwen Image, Z-Image, Wan 2.2 and MiniMax H3 (AV), all using LanPaint_ImageEncode/ImageDecode instead of VAEEncode + SetLatentNoiseMask + VAEDecode + MaskBlend; every example references its own example folder's masked input (hash-verified); preview jpgs generated from the test runs; the H3 example ships its output mp4 as a preview. - HiDream example removed on request; Example_29 added with the H3 masked input video. Fixes along the way: normalize node input.link/output.links fields against the links arrays in all converted workflows (the frontend renders null-link nodes as disconnected); stale Inpainting_mode widget removed from the Flux.2 sampler; Lambda defaults 5.0 (first-order scheme); torchaudio resample test assertion relaxed (edge ringing); the videometa tests updated to the final export signature.
2339 lines
46 KiB
JSON
2339 lines
46 KiB
JSON
{
|
|
"id": "08988737-a544-4ab1-99fb-22d67b7c36e3",
|
|
"revision": 0,
|
|
"last_node_id": 412,
|
|
"last_link_id": 637,
|
|
"nodes": [
|
|
{
|
|
"id": 200,
|
|
"type": "LoadImage",
|
|
"pos": [
|
|
-519.8821611382093,
|
|
0
|
|
],
|
|
"size": [
|
|
270,
|
|
314
|
|
],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "image",
|
|
"name": "image",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "image"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "choose file to upload",
|
|
"name": "upload",
|
|
"type": "IMAGEUPLOAD",
|
|
"widget": {
|
|
"name": "upload"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "IMAGE",
|
|
"name": "IMAGE",
|
|
"type": "IMAGE",
|
|
"links": [
|
|
300
|
|
]
|
|
},
|
|
{
|
|
"localized_name": "MASK",
|
|
"name": "MASK",
|
|
"type": "MASK",
|
|
"links": [
|
|
300
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "LoadImage",
|
|
"cnr_id": "comfy-core",
|
|
"image": "clipspace/clipspace-painted-masked-1782550310396.png [input]"
|
|
},
|
|
"widgets_values": [
|
|
"Example_28_Masked.png",
|
|
"image"
|
|
]
|
|
},
|
|
{
|
|
"id": 29,
|
|
"type": "SaveImage",
|
|
"pos": [
|
|
839.1346474889581,
|
|
-7.177197073684759
|
|
],
|
|
"size": [
|
|
880,
|
|
1020
|
|
],
|
|
"flags": {},
|
|
"order": 2,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "images",
|
|
"name": "images",
|
|
"type": "IMAGE",
|
|
"link": 44
|
|
},
|
|
{
|
|
"localized_name": "filename_prefix",
|
|
"name": "filename_prefix",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "filename_prefix"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "images",
|
|
"name": "images",
|
|
"type": "IMAGE",
|
|
"links": []
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0",
|
|
"Node name for S&R": "SaveImage"
|
|
},
|
|
"widgets_values": [
|
|
"Krea2_LanPaint_Inpaint"
|
|
]
|
|
},
|
|
{
|
|
"id": 30,
|
|
"type": "b0e5ca93-2731-42b9-8e0a-d28ea851ff81",
|
|
"pos": [
|
|
109.94310356783686,
|
|
-25.917759755456316
|
|
],
|
|
"size": [
|
|
560,
|
|
1010
|
|
],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "value",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "value"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "prompt_enhance",
|
|
"name": "value_1",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "value_1"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "LLM_max_token",
|
|
"name": "max_length",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "max_length"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "seed",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "seed"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "enable_lora?",
|
|
"name": "value_2",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "value_2"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "lora_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "lora_name"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "lora_strength",
|
|
"name": "strength_model",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "strength_model"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "lora_trigger_word",
|
|
"name": "string_b",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "string_b"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "unet_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "unet_name"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "clip_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "clip_name"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "vae_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "vae_name"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "inpaint_image",
|
|
"name": "inpaint_image",
|
|
"type": "IMAGE",
|
|
"link": 300
|
|
},
|
|
{
|
|
"label": "inpaint_mask",
|
|
"name": "inpaint_mask",
|
|
"type": "MASK",
|
|
"link": 301
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "IMAGE",
|
|
"name": "IMAGE",
|
|
"type": "IMAGE",
|
|
"links": [
|
|
44
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"proxyWidgets": [
|
|
[
|
|
"19",
|
|
"value"
|
|
],
|
|
[
|
|
"24",
|
|
"value"
|
|
],
|
|
[
|
|
"16",
|
|
"max_length"
|
|
],
|
|
[
|
|
"3",
|
|
"seed"
|
|
],
|
|
[
|
|
"23",
|
|
"value"
|
|
],
|
|
[
|
|
"15",
|
|
"lora_name"
|
|
],
|
|
[
|
|
"15",
|
|
"strength_model"
|
|
],
|
|
[
|
|
"27",
|
|
"string_b"
|
|
],
|
|
[
|
|
"10",
|
|
"unet_name"
|
|
],
|
|
[
|
|
"11",
|
|
"clip_name"
|
|
],
|
|
[
|
|
"12",
|
|
"vae_name"
|
|
]
|
|
],
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0",
|
|
"previewExposures": [
|
|
{
|
|
"name": "$$canvas-image-preview",
|
|
"sourceNodeId": "3",
|
|
"sourcePreviewName": "$$canvas-image-preview"
|
|
}
|
|
]
|
|
},
|
|
"widgets_values": []
|
|
}
|
|
],
|
|
"links": [
|
|
[
|
|
44,
|
|
30,
|
|
0,
|
|
29,
|
|
0,
|
|
"IMAGE"
|
|
],
|
|
[
|
|
300,
|
|
200,
|
|
0,
|
|
30,
|
|
11,
|
|
"IMAGE"
|
|
],
|
|
[
|
|
301,
|
|
200,
|
|
1,
|
|
30,
|
|
12,
|
|
"MASK"
|
|
]
|
|
],
|
|
"groups": [],
|
|
"definitions": {
|
|
"subgraphs": [
|
|
{
|
|
"id": "b0e5ca93-2731-42b9-8e0a-d28ea851ff81",
|
|
"version": 1,
|
|
"state": {
|
|
"lastGroupId": 10,
|
|
"lastNodeId": 412,
|
|
"lastLinkId": 637,
|
|
"lastRerouteId": 0
|
|
},
|
|
"revision": 1,
|
|
"config": {},
|
|
"name": "Text to Image (Krea-2 Turbo)",
|
|
"inputNode": {
|
|
"id": -10,
|
|
"bounding": [
|
|
-1720,
|
|
410,
|
|
146.466796875,
|
|
308
|
|
]
|
|
},
|
|
"outputNode": {
|
|
"id": -20,
|
|
"bounding": [
|
|
1560,
|
|
496,
|
|
128,
|
|
68
|
|
]
|
|
},
|
|
"inputs": [
|
|
{
|
|
"id": "b0f5c754-5322-440c-8c1c-ba732e910d33",
|
|
"name": "value",
|
|
"type": "STRING",
|
|
"linkIds": [
|
|
45
|
|
],
|
|
"pos": [
|
|
-1597.533203125,
|
|
434
|
|
]
|
|
},
|
|
{
|
|
"id": "47b0e74d-ef80-4423-a7a6-9bd1673092bb",
|
|
"name": "value_1",
|
|
"type": "BOOLEAN",
|
|
"linkIds": [
|
|
46
|
|
],
|
|
"label": "prompt_enhance",
|
|
"pos": [
|
|
-1597.533203125,
|
|
454
|
|
]
|
|
},
|
|
{
|
|
"id": "5fc735ae-a50b-4363-bff9-850030ad5dd5",
|
|
"name": "max_length",
|
|
"type": "INT",
|
|
"linkIds": [
|
|
49
|
|
],
|
|
"label": "LLM_max_token",
|
|
"pos": [
|
|
-1597.533203125,
|
|
474
|
|
]
|
|
},
|
|
{
|
|
"id": "75652c4f-cde2-4ad7-b322-73d47b533ef8",
|
|
"name": "seed",
|
|
"type": "INT",
|
|
"linkIds": [
|
|
56
|
|
],
|
|
"pos": [
|
|
-1597.533203125,
|
|
494
|
|
]
|
|
},
|
|
{
|
|
"id": "b0ca5f55-a223-40de-9e37-aaf2cf0904dd",
|
|
"name": "value_2",
|
|
"type": "BOOLEAN",
|
|
"linkIds": [
|
|
57
|
|
],
|
|
"label": "enable_lora?",
|
|
"pos": [
|
|
-1597.533203125,
|
|
514
|
|
]
|
|
},
|
|
{
|
|
"id": "eb2e846b-2e6c-49a2-bc56-9c772c8a1862",
|
|
"name": "lora_name",
|
|
"type": "COMBO",
|
|
"linkIds": [
|
|
58
|
|
],
|
|
"pos": [
|
|
-1597.533203125,
|
|
534
|
|
]
|
|
},
|
|
{
|
|
"id": "d2693bbb-bb95-4fb1-9a3d-27a1bb0b664b",
|
|
"name": "strength_model",
|
|
"type": "FLOAT",
|
|
"linkIds": [
|
|
59
|
|
],
|
|
"label": "lora_strength",
|
|
"pos": [
|
|
-1597.533203125,
|
|
554
|
|
]
|
|
},
|
|
{
|
|
"id": "e2031135-b490-4909-b1ec-6b00aecf819e",
|
|
"name": "string_b",
|
|
"type": "STRING",
|
|
"linkIds": [
|
|
60
|
|
],
|
|
"label": "lora_trigger_word",
|
|
"pos": [
|
|
-1597.533203125,
|
|
574
|
|
]
|
|
},
|
|
{
|
|
"id": "14e2eb6a-5fa1-40c9-81d1-a928360fcd80",
|
|
"name": "unet_name",
|
|
"type": "COMBO",
|
|
"linkIds": [
|
|
61
|
|
],
|
|
"pos": [
|
|
-1597.533203125,
|
|
594
|
|
]
|
|
},
|
|
{
|
|
"id": "e27ba0c5-697f-44f4-b475-c2dcfa594724",
|
|
"name": "clip_name",
|
|
"type": "COMBO",
|
|
"linkIds": [
|
|
62
|
|
],
|
|
"pos": [
|
|
-1597.533203125,
|
|
614
|
|
]
|
|
},
|
|
{
|
|
"id": "75c25d8e-b881-46e4-aca7-d2ada9e147d0",
|
|
"name": "vae_name",
|
|
"type": "COMBO",
|
|
"linkIds": [
|
|
63
|
|
],
|
|
"pos": [
|
|
-1597.533203125,
|
|
634
|
|
]
|
|
},
|
|
{
|
|
"id": "82c3b713-d4fb-4723-8171-44e3cf9f661f",
|
|
"name": "inpaint_image",
|
|
"type": "IMAGE",
|
|
"linkIds": [
|
|
629,
|
|
635
|
|
],
|
|
"label": "inpaint_image",
|
|
"pos": [
|
|
-1597.533203125,
|
|
654
|
|
]
|
|
},
|
|
{
|
|
"id": "bdf878cf-e03c-4407-98ad-e956e0e855ac",
|
|
"name": "inpaint_mask",
|
|
"type": "MASK",
|
|
"linkIds": [
|
|
630,
|
|
636
|
|
],
|
|
"label": "inpaint_mask",
|
|
"pos": [
|
|
-1597.533203125,
|
|
674
|
|
]
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"id": "e4073813-752d-4584-96b5-6e42eac355dd",
|
|
"name": "IMAGE",
|
|
"type": "IMAGE",
|
|
"linkIds": [
|
|
637
|
|
],
|
|
"localized_name": "IMAGE",
|
|
"pos": [
|
|
1584,
|
|
520
|
|
]
|
|
}
|
|
],
|
|
"widgets": [],
|
|
"nodes": [
|
|
{
|
|
"id": 6,
|
|
"type": "CLIPTextEncode",
|
|
"pos": [
|
|
100,
|
|
-250
|
|
],
|
|
"size": [
|
|
480,
|
|
420
|
|
],
|
|
"flags": {},
|
|
"order": 2,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "clip",
|
|
"name": "clip",
|
|
"type": "CLIP",
|
|
"link": 10
|
|
},
|
|
{
|
|
"localized_name": "text",
|
|
"name": "text",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "text"
|
|
},
|
|
"link": 40
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "CONDITIONING",
|
|
"name": "CONDITIONING",
|
|
"type": "CONDITIONING",
|
|
"slot_index": 0,
|
|
"links": [
|
|
4,
|
|
13
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "CLIPTextEncode",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
"A high-contrast, hyper-stylized fashion editorial portrait shot against a saturated mustard-yellow seamless backdrop, with the central figure rendered in crisp desaturated black-and-white, creating a striking duotone aesthetic reminiscent of David LaChapelle meets Helmut Newton with a punk-gothic edge.\n\nThe subject is a fierce young woman with a platinum-bleached, spiked liberty mohawk crown of hair, her expression cold and commanding as she stares directly into the lens. She wears a cropped black leather biker jacket exploding with oversized metallic conical studs and spikes across the shoulders, paired with a minimal black bikini bottom, sheer black thigh-high stockings, and chunky knee-high lace-up combat platform boots. Her toned, athletic physique is fully exposed at the midriff.\n\nShe sits regally upon an ornate throne carved in the shape of a snarling, fanged beast's head \u2014 part dragon, part demonic feline \u2014 its silver-grey surface intricately detailed with bones, scales, and gothic ornamentation. Her booted foot rests on a battered metal road case wrapped in heavy chains and covered in stickers and band decals.\n\nIn her right hand she grips a massive medieval war scythe, its long wooden shaft wrapped in leather, the enormous curved blade arcing dramatically over her head. Perched on her left fist, talons gripping her knuckles, is a majestic American bald eagle with pristine white head feathers and a sharp yellow beak, staring off to the side with predatory alertness.\n\nStudio lighting is hard and theatrical, casting crisp shadows. The composition is symmetrical, iconic, and poster-like \u2014 punk rock goddess of war meets American mythology. Hyperrealistic, high-fashion photography, 8k, sharp detail, magazine cover quality."
|
|
],
|
|
"color": "#232",
|
|
"bgcolor": "#353"
|
|
},
|
|
{
|
|
"id": 10,
|
|
"type": "UNETLoader",
|
|
"pos": [
|
|
-410,
|
|
-240
|
|
],
|
|
"size": [
|
|
450,
|
|
140
|
|
],
|
|
"flags": {},
|
|
"order": 4,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "unet_name",
|
|
"name": "unet_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "unet_name"
|
|
},
|
|
"link": 61
|
|
},
|
|
{
|
|
"localized_name": "weight_dtype",
|
|
"name": "weight_dtype",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "weight_dtype"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "MODEL",
|
|
"name": "MODEL",
|
|
"type": "MODEL",
|
|
"links": [
|
|
16,
|
|
28
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "UNETLoader",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0",
|
|
"models": [
|
|
{
|
|
"name": "krea2_turbo_fp8_scaled.safetensors",
|
|
"url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/diffusion_models/krea2_turbo_fp8_scaled.safetensors",
|
|
"directory": "diffusion_models"
|
|
}
|
|
]
|
|
},
|
|
"widgets_values": [
|
|
"krea2_turbo_fp8_scaled.safetensors",
|
|
"default"
|
|
]
|
|
},
|
|
{
|
|
"id": 11,
|
|
"type": "CLIPLoader",
|
|
"pos": [
|
|
-410,
|
|
150
|
|
],
|
|
"size": [
|
|
450,
|
|
170
|
|
],
|
|
"flags": {},
|
|
"order": 5,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "clip_name",
|
|
"name": "clip_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "clip_name"
|
|
},
|
|
"link": 62
|
|
},
|
|
{
|
|
"localized_name": "type",
|
|
"name": "type",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "type"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "device",
|
|
"name": "device",
|
|
"shape": 7,
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "device"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "CLIP",
|
|
"name": "CLIP",
|
|
"type": "CLIP",
|
|
"links": [
|
|
10,
|
|
18
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "CLIPLoader",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0",
|
|
"models": [
|
|
{
|
|
"name": "qwen3vl_4b_fp8_scaled.safetensors",
|
|
"url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors",
|
|
"directory": "text_encoders"
|
|
}
|
|
]
|
|
},
|
|
"widgets_values": [
|
|
"qwen3vl_4b_fp8_scaled.safetensors",
|
|
"krea2",
|
|
"default"
|
|
]
|
|
},
|
|
{
|
|
"id": 13,
|
|
"type": "ConditioningZeroOut",
|
|
"pos": [
|
|
350,
|
|
220
|
|
],
|
|
"size": [
|
|
230,
|
|
30
|
|
],
|
|
"flags": {
|
|
"collapsed": true
|
|
},
|
|
"order": 7,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "conditioning",
|
|
"name": "conditioning",
|
|
"type": "CONDITIONING",
|
|
"link": 13
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "CONDITIONING",
|
|
"name": "CONDITIONING",
|
|
"type": "CONDITIONING",
|
|
"links": [
|
|
14
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "ConditioningZeroOut",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": []
|
|
},
|
|
{
|
|
"id": 15,
|
|
"type": "LoraLoaderModelOnly",
|
|
"pos": [
|
|
-410,
|
|
-50
|
|
],
|
|
"size": [
|
|
450,
|
|
170
|
|
],
|
|
"flags": {},
|
|
"order": 8,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "model",
|
|
"name": "model",
|
|
"type": "MODEL",
|
|
"link": 16
|
|
},
|
|
{
|
|
"localized_name": "lora_name",
|
|
"name": "lora_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "lora_name"
|
|
},
|
|
"link": 58
|
|
},
|
|
{
|
|
"localized_name": "strength_model",
|
|
"name": "strength_model",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "strength_model"
|
|
},
|
|
"link": 59
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "MODEL",
|
|
"name": "MODEL",
|
|
"type": "MODEL",
|
|
"links": [
|
|
29
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "LoraLoaderModelOnly",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0",
|
|
"models": [
|
|
{
|
|
"name": "krea2_darkbrush.safetensors",
|
|
"url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/loras/krea2_darkbrush.safetensors",
|
|
"directory": "loras"
|
|
}
|
|
]
|
|
},
|
|
"widgets_values": [
|
|
"krea2_darkbrush.safetensors",
|
|
0.8
|
|
]
|
|
},
|
|
{
|
|
"id": 16,
|
|
"type": "TextGenerate",
|
|
"pos": [
|
|
60,
|
|
650
|
|
],
|
|
"size": [
|
|
400,
|
|
412
|
|
],
|
|
"flags": {},
|
|
"order": 9,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "clip",
|
|
"name": "clip",
|
|
"type": "CLIP",
|
|
"link": 18
|
|
},
|
|
{
|
|
"localized_name": "image",
|
|
"name": "image",
|
|
"shape": 7,
|
|
"type": "IMAGE",
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "video",
|
|
"name": "video",
|
|
"shape": 7,
|
|
"type": "IMAGE",
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "audio",
|
|
"name": "audio",
|
|
"shape": 7,
|
|
"type": "AUDIO",
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "prompt",
|
|
"name": "prompt",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "prompt"
|
|
},
|
|
"link": 19
|
|
},
|
|
{
|
|
"localized_name": "max_length",
|
|
"name": "max_length",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "max_length"
|
|
},
|
|
"link": 49
|
|
},
|
|
{
|
|
"localized_name": "sampling_mode",
|
|
"name": "sampling_mode",
|
|
"type": "COMFY_DYNAMICCOMBO_V3",
|
|
"widget": {
|
|
"name": "sampling_mode"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "temperature",
|
|
"name": "sampling_mode.temperature",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "sampling_mode.temperature"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "top_k",
|
|
"name": "sampling_mode.top_k",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "sampling_mode.top_k"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "top_p",
|
|
"name": "sampling_mode.top_p",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "sampling_mode.top_p"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "min_p",
|
|
"name": "sampling_mode.min_p",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "sampling_mode.min_p"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "repetition_penalty",
|
|
"name": "sampling_mode.repetition_penalty",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "sampling_mode.repetition_penalty"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "seed",
|
|
"name": "sampling_mode.seed",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "sampling_mode.seed"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "presence_penalty",
|
|
"name": "sampling_mode.presence_penalty",
|
|
"shape": 7,
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "sampling_mode.presence_penalty"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "thinking",
|
|
"name": "thinking",
|
|
"shape": 7,
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "thinking"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "use_default_template",
|
|
"name": "use_default_template",
|
|
"shape": 7,
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "use_default_template"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "generated_text",
|
|
"name": "generated_text",
|
|
"type": "STRING",
|
|
"links": [
|
|
33
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "TextGenerate",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
"",
|
|
512,
|
|
"on",
|
|
0.7,
|
|
64,
|
|
0.95,
|
|
0.05,
|
|
1.05,
|
|
0,
|
|
0,
|
|
false,
|
|
true
|
|
]
|
|
},
|
|
{
|
|
"id": 17,
|
|
"type": "StringConcatenate",
|
|
"pos": [
|
|
-210,
|
|
1310
|
|
],
|
|
"size": [
|
|
230,
|
|
40
|
|
],
|
|
"flags": {
|
|
"collapsed": true
|
|
},
|
|
"order": 10,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "string_a",
|
|
"name": "string_a",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "string_a"
|
|
},
|
|
"link": 21
|
|
},
|
|
{
|
|
"localized_name": "string_b",
|
|
"name": "string_b",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "string_b"
|
|
},
|
|
"link": 22
|
|
},
|
|
{
|
|
"localized_name": "delimiter",
|
|
"name": "delimiter",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "delimiter"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "STRING",
|
|
"name": "STRING",
|
|
"type": "STRING",
|
|
"links": [
|
|
19
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "StringConcatenate",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
"",
|
|
"",
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"id": 18,
|
|
"type": "PrimitiveStringMultiline",
|
|
"pos": [
|
|
-430,
|
|
650
|
|
],
|
|
"size": [
|
|
460,
|
|
610
|
|
],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "value",
|
|
"name": "value",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "value"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "STRING",
|
|
"name": "STRING",
|
|
"type": "STRING",
|
|
"links": [
|
|
21
|
|
]
|
|
}
|
|
],
|
|
"title": "Text String (System Prompt)",
|
|
"properties": {
|
|
"Node name for S&R": "PrimitiveStringMultiline",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
"You are an expert prompt engineer for text-to-image models. Your task is to expand the user's prompt into a highly effective image-generation prompt.\n\nThink step by step about the request before writing the answer:\n- What is the subject and mood?\n- What visual styles, mediums, and lighting options would fit? Consider two or three alternatives and pick the one that best serves the caption.\n- What composition, framing, and grounded details will help the text-to-image model?\n\nThen output a single expanded prompt paragraph.\n\nFollow these rules strictly:\n1. **Faithfulness First:** Preserve all original subjects, actions, colors, and spatial relationships. Do not add new objects, props, characters, or animals unless the user clearly implies them.\n2. **Practical T2I Structure:** Write a prompt that a text-to-image model can parse cleanly. Group subjects with their own attributes and actions. Use grounded phrasing for poses, interactions, and spatial layout.\n3. **Style Planning Stays Internal:** Use your internal reasoning to choose style, medium, framing, and lighting. Do not emit planning tags or wrappers in the visible answer body.\n4. **Text Rendering:** If the user requests visible text, quotes, labels, or typography, specify the exact text clearly and wrap requested words in quotes.\n5. **Avoid Over-Specification:** Do not invent highly specific clothing, colors, materials, or scene details unless the input supports them.\n6. **Structure:** Write one cohesive paragraph after the thinking block. No bullets, JSON, or markdown.\n7. **Respect Existing Detail:** If the user's prompt is already detailed, lightly polish and finalize rather than heavily expanding \u2014 preserve their phrasing and direction.\n8. **Respect the Human Form:** Treat depictions of people with dignity. Assume clothing covers genitals and intimate anatomy.\n9. **Preserve User Medium:** When the user explicitly requests a medium (e.g. \"photo of\", \"photograph of\", \"illustration of\", \"painting of\", \"sketch of\", \"3D render of\"), honor it. Do not pivot to a different medium to avoid difficulty \u2014 match the user's stated intent.\n\nUser's Input:\n\n"
|
|
]
|
|
},
|
|
{
|
|
"id": 19,
|
|
"type": "PrimitiveStringMultiline",
|
|
"pos": [
|
|
-1070,
|
|
-290
|
|
],
|
|
"size": [
|
|
570,
|
|
800
|
|
],
|
|
"flags": {},
|
|
"order": 11,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "value",
|
|
"name": "value",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "value"
|
|
},
|
|
"link": 45
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "STRING",
|
|
"name": "STRING",
|
|
"type": "STRING",
|
|
"links": [
|
|
22,
|
|
34
|
|
]
|
|
}
|
|
],
|
|
"title": "Text String (User Prompt)",
|
|
"properties": {
|
|
"Node name for S&R": "PrimitiveStringMultiline",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
"A high-resolution, surreal digital illustration showing a women's hand in red glove holding a martini glass. The image is overlaid with whimsical, expressive ink-style doodles, including a cartoon figure inside the glass, a drawn citrus wedge on the rim, and various abstract sketches and faces surrounding the glass against a clean, white background. The style seamlessly blends a realistic, lit photograph with loose, hand-drawn marker artistry, creating a playful and artistic juxtaposition."
|
|
],
|
|
"color": "#322",
|
|
"bgcolor": "#533"
|
|
},
|
|
{
|
|
"id": 20,
|
|
"type": "PreviewAny",
|
|
"pos": [
|
|
500,
|
|
660
|
|
],
|
|
"size": [
|
|
470,
|
|
550
|
|
],
|
|
"flags": {
|
|
"collapsed": false
|
|
},
|
|
"order": 12,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "source",
|
|
"name": "source",
|
|
"type": "*",
|
|
"link": 27
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "STRING",
|
|
"name": "STRING",
|
|
"type": "STRING",
|
|
"links": [
|
|
41,
|
|
37
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "PreviewAny",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
null,
|
|
null,
|
|
null
|
|
]
|
|
},
|
|
{
|
|
"id": 21,
|
|
"type": "ComfySwitchNode",
|
|
"pos": [
|
|
170,
|
|
1270
|
|
],
|
|
"size": [
|
|
270,
|
|
130
|
|
],
|
|
"flags": {},
|
|
"order": 13,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "on_false",
|
|
"name": "on_false",
|
|
"type": "STRING",
|
|
"link": 34
|
|
},
|
|
{
|
|
"localized_name": "on_true",
|
|
"name": "on_true",
|
|
"type": "STRING",
|
|
"link": 33
|
|
},
|
|
{
|
|
"localized_name": "switch",
|
|
"name": "switch",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "switch"
|
|
},
|
|
"link": 32
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "output",
|
|
"name": "output",
|
|
"type": "STRING",
|
|
"links": [
|
|
27
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "ComfySwitchNode",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
false
|
|
]
|
|
},
|
|
{
|
|
"id": 22,
|
|
"type": "ComfySwitchNode",
|
|
"pos": [
|
|
640,
|
|
-270
|
|
],
|
|
"size": [
|
|
320,
|
|
130
|
|
],
|
|
"flags": {},
|
|
"order": 14,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "on_false",
|
|
"name": "on_false",
|
|
"type": "MODEL",
|
|
"link": 28
|
|
},
|
|
{
|
|
"localized_name": "on_true",
|
|
"name": "on_true",
|
|
"type": "MODEL",
|
|
"link": 29
|
|
},
|
|
{
|
|
"localized_name": "switch",
|
|
"name": "switch",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "switch"
|
|
},
|
|
"link": 31
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "output",
|
|
"name": "output",
|
|
"type": "MODEL",
|
|
"links": [
|
|
30
|
|
]
|
|
}
|
|
],
|
|
"title": "Switch (Model)",
|
|
"properties": {
|
|
"Node name for S&R": "ComfySwitchNode",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
false
|
|
]
|
|
},
|
|
{
|
|
"id": 24,
|
|
"type": "PrimitiveBoolean",
|
|
"pos": [
|
|
-910,
|
|
840
|
|
],
|
|
"size": [
|
|
270,
|
|
110
|
|
],
|
|
"flags": {},
|
|
"order": 16,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "value",
|
|
"name": "value",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "value"
|
|
},
|
|
"link": 46
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "BOOLEAN",
|
|
"name": "BOOLEAN",
|
|
"type": "BOOLEAN",
|
|
"links": [
|
|
32
|
|
]
|
|
}
|
|
],
|
|
"title": "Boolean (Refine Prompt?)",
|
|
"properties": {
|
|
"Node name for S&R": "PrimitiveBoolean",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
true
|
|
]
|
|
},
|
|
{
|
|
"id": 27,
|
|
"type": "StringConcatenate",
|
|
"pos": [
|
|
1030,
|
|
960
|
|
],
|
|
"size": [
|
|
350,
|
|
250
|
|
],
|
|
"flags": {
|
|
"collapsed": false
|
|
},
|
|
"order": 17,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "string_a",
|
|
"name": "string_a",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "string_a"
|
|
},
|
|
"link": 41
|
|
},
|
|
{
|
|
"localized_name": "string_b",
|
|
"name": "string_b",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "string_b"
|
|
},
|
|
"link": 60
|
|
},
|
|
{
|
|
"localized_name": "delimiter",
|
|
"name": "delimiter",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "delimiter"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "STRING",
|
|
"name": "STRING",
|
|
"type": "STRING",
|
|
"links": [
|
|
38
|
|
]
|
|
}
|
|
],
|
|
"title": "Concatenate Text (LoRA Trigger Word)",
|
|
"properties": {
|
|
"Node name for S&R": "StringConcatenate",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
"",
|
|
"muted minimalist sketch style",
|
|
", "
|
|
]
|
|
},
|
|
{
|
|
"id": 28,
|
|
"type": "ComfySwitchNode",
|
|
"pos": [
|
|
1050,
|
|
670
|
|
],
|
|
"size": [
|
|
340,
|
|
130
|
|
],
|
|
"flags": {},
|
|
"order": 18,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "on_false",
|
|
"name": "on_false",
|
|
"type": "STRING",
|
|
"link": 37
|
|
},
|
|
{
|
|
"localized_name": "on_true",
|
|
"name": "on_true",
|
|
"type": "STRING",
|
|
"link": 38
|
|
},
|
|
{
|
|
"localized_name": "switch",
|
|
"name": "switch",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "switch"
|
|
},
|
|
"link": 42
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "output",
|
|
"name": "output",
|
|
"type": "STRING",
|
|
"links": [
|
|
40
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "ComfySwitchNode",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
false
|
|
]
|
|
},
|
|
{
|
|
"id": 23,
|
|
"type": "PrimitiveBoolean",
|
|
"pos": [
|
|
-910,
|
|
670
|
|
],
|
|
"size": [
|
|
270,
|
|
110
|
|
],
|
|
"flags": {},
|
|
"order": 15,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "value",
|
|
"name": "value",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "value"
|
|
},
|
|
"link": 57
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "BOOLEAN",
|
|
"name": "BOOLEAN",
|
|
"type": "BOOLEAN",
|
|
"links": [
|
|
31,
|
|
42
|
|
]
|
|
}
|
|
],
|
|
"title": "Boolean (Enable LoRA?)",
|
|
"properties": {
|
|
"Node name for S&R": "PrimitiveBoolean",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
false
|
|
]
|
|
},
|
|
{
|
|
"id": 12,
|
|
"type": "VAELoader",
|
|
"pos": [
|
|
-410,
|
|
390
|
|
],
|
|
"size": [
|
|
450,
|
|
120
|
|
],
|
|
"flags": {},
|
|
"order": 6,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "vae_name",
|
|
"name": "vae_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "vae_name"
|
|
},
|
|
"link": 63
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "VAE",
|
|
"name": "VAE",
|
|
"type": "VAE",
|
|
"links": [
|
|
631,
|
|
634
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "VAELoader",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.25.0",
|
|
"models": [
|
|
{
|
|
"name": "qwen_image_vae.safetensors",
|
|
"url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors",
|
|
"directory": "vae"
|
|
}
|
|
]
|
|
},
|
|
"widgets_values": [
|
|
"qwen_image_vae.safetensors"
|
|
]
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": "LanPaint_KSampler",
|
|
"pos": [
|
|
640,
|
|
-100
|
|
],
|
|
"size": [
|
|
320,
|
|
590
|
|
],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "model",
|
|
"name": "model",
|
|
"type": "MODEL",
|
|
"link": 30
|
|
},
|
|
{
|
|
"localized_name": "positive",
|
|
"name": "positive",
|
|
"type": "CONDITIONING",
|
|
"link": 4
|
|
},
|
|
{
|
|
"localized_name": "negative",
|
|
"name": "negative",
|
|
"type": "CONDITIONING",
|
|
"link": 14
|
|
},
|
|
{
|
|
"localized_name": "latent_image",
|
|
"name": "latent_image",
|
|
"type": "LATENT",
|
|
"link": 632
|
|
},
|
|
{
|
|
"localized_name": "seed",
|
|
"name": "seed",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "seed"
|
|
},
|
|
"link": 56
|
|
},
|
|
{
|
|
"localized_name": "steps",
|
|
"name": "steps",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "steps"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "cfg",
|
|
"name": "cfg",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "cfg"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "sampler_name",
|
|
"name": "sampler_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "sampler_name"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "scheduler",
|
|
"name": "scheduler",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "scheduler"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "denoise",
|
|
"name": "denoise",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "denoise"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "LanPaint_NumSteps",
|
|
"name": "LanPaint_NumSteps",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "LanPaint_NumSteps"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "LanPaint_PromptMode",
|
|
"name": "LanPaint_PromptMode",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "LanPaint_PromptMode"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "LanPaint_Info",
|
|
"name": "LanPaint_Info",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "LanPaint_Info"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "Inpainting_mode",
|
|
"name": "Inpainting_mode",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "Inpainting_mode"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "LATENT",
|
|
"name": "LATENT",
|
|
"type": "LATENT",
|
|
"slot_index": 0,
|
|
"links": [
|
|
633
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "KSampler",
|
|
"cnr_id": "LanPaint",
|
|
"ver": "0.25.0"
|
|
},
|
|
"widgets_values": [
|
|
0,
|
|
1,
|
|
15,
|
|
1,
|
|
"euler",
|
|
"simple",
|
|
1,
|
|
5,
|
|
"Image First",
|
|
"LanPaint KSampler.",
|
|
"\ud83d\uddbc\ufe0f Image Inpainting",
|
|
"lanpaint_star_button"
|
|
]
|
|
},
|
|
{
|
|
"id": 411,
|
|
"type": "LanPaint_ImageEncode",
|
|
"pos": [
|
|
7110,
|
|
2000
|
|
],
|
|
"size": [
|
|
270,
|
|
110
|
|
],
|
|
"flags": {},
|
|
"order": 50,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "image",
|
|
"name": "image",
|
|
"type": "IMAGE",
|
|
"link": 629
|
|
},
|
|
{
|
|
"localized_name": "vae",
|
|
"name": "vae",
|
|
"type": "VAE",
|
|
"link": 631
|
|
},
|
|
{
|
|
"localized_name": "mask",
|
|
"name": "mask",
|
|
"type": "MASK",
|
|
"link": 630
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "latent",
|
|
"name": "latent",
|
|
"type": "LATENT",
|
|
"links": [
|
|
632
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "LanPaint_ImageEncode",
|
|
"cnr_id": "LanPaint"
|
|
},
|
|
"widgets_values": []
|
|
},
|
|
{
|
|
"id": 412,
|
|
"type": "LanPaint_ImageDecode",
|
|
"pos": [
|
|
7420,
|
|
2000
|
|
],
|
|
"size": [
|
|
270,
|
|
150
|
|
],
|
|
"flags": {},
|
|
"order": 51,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "samples",
|
|
"name": "samples",
|
|
"type": "LATENT",
|
|
"link": 633
|
|
},
|
|
{
|
|
"localized_name": "vae",
|
|
"name": "vae",
|
|
"type": "VAE",
|
|
"link": 634
|
|
},
|
|
{
|
|
"localized_name": "image",
|
|
"name": "image",
|
|
"type": "IMAGE",
|
|
"link": 635
|
|
},
|
|
{
|
|
"localized_name": "mask",
|
|
"name": "mask",
|
|
"type": "MASK",
|
|
"link": 636
|
|
},
|
|
{
|
|
"localized_name": "blend_overlap",
|
|
"name": "blend_overlap",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "blend_overlap"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "image",
|
|
"name": "image",
|
|
"type": "IMAGE",
|
|
"links": [
|
|
637
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "LanPaint_ImageDecode",
|
|
"cnr_id": "LanPaint"
|
|
},
|
|
"widgets_values": [
|
|
9
|
|
]
|
|
}
|
|
],
|
|
"groups": [
|
|
{
|
|
"id": 1,
|
|
"title": "Models",
|
|
"bounding": [
|
|
-430,
|
|
-320,
|
|
490,
|
|
850
|
|
],
|
|
"color": "#3f789e",
|
|
"flags": {}
|
|
},
|
|
{
|
|
"id": 4,
|
|
"title": "Prompt Enhancement",
|
|
"bounding": [
|
|
-440,
|
|
580,
|
|
1940,
|
|
840
|
|
],
|
|
"color": "#3f789e",
|
|
"flags": {}
|
|
},
|
|
{
|
|
"id": 5,
|
|
"title": "Group",
|
|
"bounding": [
|
|
-1080,
|
|
-360,
|
|
610,
|
|
910
|
|
],
|
|
"color": "#3f789e",
|
|
"flags": {}
|
|
},
|
|
{
|
|
"id": 6,
|
|
"title": "Image Generation",
|
|
"bounding": [
|
|
-440,
|
|
-360,
|
|
1940,
|
|
910
|
|
],
|
|
"color": "#3f789e",
|
|
"flags": {}
|
|
},
|
|
{
|
|
"id": 7,
|
|
"title": "Prompt",
|
|
"bounding": [
|
|
90,
|
|
-320,
|
|
500,
|
|
570
|
|
],
|
|
"color": "#3f789e",
|
|
"flags": {}
|
|
},
|
|
{
|
|
"id": 8,
|
|
"title": "Size",
|
|
"bounding": [
|
|
90,
|
|
270,
|
|
500,
|
|
260
|
|
],
|
|
"color": "#3f789e",
|
|
"flags": {}
|
|
},
|
|
{
|
|
"id": 9,
|
|
"title": "Feature Switch",
|
|
"bounding": [
|
|
-1080,
|
|
580,
|
|
610,
|
|
400
|
|
],
|
|
"color": "#3f789e",
|
|
"flags": {}
|
|
}
|
|
],
|
|
"links": [
|
|
{
|
|
"id": 10,
|
|
"origin_id": 11,
|
|
"origin_slot": 0,
|
|
"target_id": 6,
|
|
"target_slot": 0,
|
|
"type": "CLIP"
|
|
},
|
|
{
|
|
"id": 40,
|
|
"origin_id": 28,
|
|
"origin_slot": 0,
|
|
"target_id": 6,
|
|
"target_slot": 1,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 30,
|
|
"origin_id": 22,
|
|
"origin_slot": 0,
|
|
"target_id": 3,
|
|
"target_slot": 0,
|
|
"type": "MODEL"
|
|
},
|
|
{
|
|
"id": 4,
|
|
"origin_id": 6,
|
|
"origin_slot": 0,
|
|
"target_id": 3,
|
|
"target_slot": 1,
|
|
"type": "CONDITIONING"
|
|
},
|
|
{
|
|
"id": 14,
|
|
"origin_id": 13,
|
|
"origin_slot": 0,
|
|
"target_id": 3,
|
|
"target_slot": 2,
|
|
"type": "CONDITIONING"
|
|
},
|
|
{
|
|
"id": 13,
|
|
"origin_id": 6,
|
|
"origin_slot": 0,
|
|
"target_id": 13,
|
|
"target_slot": 0,
|
|
"type": "CONDITIONING"
|
|
},
|
|
{
|
|
"id": 16,
|
|
"origin_id": 10,
|
|
"origin_slot": 0,
|
|
"target_id": 15,
|
|
"target_slot": 0,
|
|
"type": "MODEL"
|
|
},
|
|
{
|
|
"id": 18,
|
|
"origin_id": 11,
|
|
"origin_slot": 0,
|
|
"target_id": 16,
|
|
"target_slot": 0,
|
|
"type": "CLIP"
|
|
},
|
|
{
|
|
"id": 19,
|
|
"origin_id": 17,
|
|
"origin_slot": 0,
|
|
"target_id": 16,
|
|
"target_slot": 4,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 21,
|
|
"origin_id": 18,
|
|
"origin_slot": 0,
|
|
"target_id": 17,
|
|
"target_slot": 0,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 22,
|
|
"origin_id": 19,
|
|
"origin_slot": 0,
|
|
"target_id": 17,
|
|
"target_slot": 1,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 27,
|
|
"origin_id": 21,
|
|
"origin_slot": 0,
|
|
"target_id": 20,
|
|
"target_slot": 0,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 34,
|
|
"origin_id": 19,
|
|
"origin_slot": 0,
|
|
"target_id": 21,
|
|
"target_slot": 0,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 33,
|
|
"origin_id": 16,
|
|
"origin_slot": 0,
|
|
"target_id": 21,
|
|
"target_slot": 1,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 32,
|
|
"origin_id": 24,
|
|
"origin_slot": 0,
|
|
"target_id": 21,
|
|
"target_slot": 2,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 28,
|
|
"origin_id": 10,
|
|
"origin_slot": 0,
|
|
"target_id": 22,
|
|
"target_slot": 0,
|
|
"type": "MODEL"
|
|
},
|
|
{
|
|
"id": 29,
|
|
"origin_id": 15,
|
|
"origin_slot": 0,
|
|
"target_id": 22,
|
|
"target_slot": 1,
|
|
"type": "MODEL"
|
|
},
|
|
{
|
|
"id": 31,
|
|
"origin_id": 23,
|
|
"origin_slot": 0,
|
|
"target_id": 22,
|
|
"target_slot": 2,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 41,
|
|
"origin_id": 20,
|
|
"origin_slot": 0,
|
|
"target_id": 27,
|
|
"target_slot": 0,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 37,
|
|
"origin_id": 20,
|
|
"origin_slot": 0,
|
|
"target_id": 28,
|
|
"target_slot": 0,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 38,
|
|
"origin_id": 27,
|
|
"origin_slot": 0,
|
|
"target_id": 28,
|
|
"target_slot": 1,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 42,
|
|
"origin_id": 23,
|
|
"origin_slot": 0,
|
|
"target_id": 28,
|
|
"target_slot": 2,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 45,
|
|
"origin_id": -10,
|
|
"origin_slot": 0,
|
|
"target_id": 19,
|
|
"target_slot": 0,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 46,
|
|
"origin_id": -10,
|
|
"origin_slot": 1,
|
|
"target_id": 24,
|
|
"target_slot": 0,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 49,
|
|
"origin_id": -10,
|
|
"origin_slot": 2,
|
|
"target_id": 16,
|
|
"target_slot": 5,
|
|
"type": "INT"
|
|
},
|
|
{
|
|
"id": 56,
|
|
"origin_id": -10,
|
|
"origin_slot": 3,
|
|
"target_id": 3,
|
|
"target_slot": 4,
|
|
"type": "INT"
|
|
},
|
|
{
|
|
"id": 57,
|
|
"origin_id": -10,
|
|
"origin_slot": 4,
|
|
"target_id": 23,
|
|
"target_slot": 0,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 58,
|
|
"origin_id": -10,
|
|
"origin_slot": 5,
|
|
"target_id": 15,
|
|
"target_slot": 1,
|
|
"type": "COMBO"
|
|
},
|
|
{
|
|
"id": 59,
|
|
"origin_id": -10,
|
|
"origin_slot": 6,
|
|
"target_id": 15,
|
|
"target_slot": 2,
|
|
"type": "FLOAT"
|
|
},
|
|
{
|
|
"id": 60,
|
|
"origin_id": -10,
|
|
"origin_slot": 7,
|
|
"target_id": 27,
|
|
"target_slot": 1,
|
|
"type": "STRING"
|
|
},
|
|
{
|
|
"id": 61,
|
|
"origin_id": -10,
|
|
"origin_slot": 8,
|
|
"target_id": 10,
|
|
"target_slot": 0,
|
|
"type": "COMBO"
|
|
},
|
|
{
|
|
"id": 62,
|
|
"origin_id": -10,
|
|
"origin_slot": 9,
|
|
"target_id": 11,
|
|
"target_slot": 0,
|
|
"type": "COMBO"
|
|
},
|
|
{
|
|
"id": 63,
|
|
"origin_id": -10,
|
|
"origin_slot": 10,
|
|
"target_id": 12,
|
|
"target_slot": 0,
|
|
"type": "COMBO"
|
|
},
|
|
{
|
|
"id": 629,
|
|
"origin_id": -10,
|
|
"origin_slot": 11,
|
|
"target_id": 411,
|
|
"target_slot": 0,
|
|
"type": "IMAGE"
|
|
},
|
|
{
|
|
"id": 630,
|
|
"origin_id": -10,
|
|
"origin_slot": 12,
|
|
"target_id": 411,
|
|
"target_slot": 2,
|
|
"type": "MASK"
|
|
},
|
|
{
|
|
"id": 631,
|
|
"origin_id": 12,
|
|
"origin_slot": 0,
|
|
"target_id": 411,
|
|
"target_slot": 1,
|
|
"type": "VAE"
|
|
},
|
|
{
|
|
"id": 632,
|
|
"origin_id": 411,
|
|
"origin_slot": 0,
|
|
"target_id": 3,
|
|
"target_slot": 3,
|
|
"type": "LATENT"
|
|
},
|
|
{
|
|
"id": 633,
|
|
"origin_id": 3,
|
|
"origin_slot": 0,
|
|
"target_id": 412,
|
|
"target_slot": 0,
|
|
"type": "LATENT"
|
|
},
|
|
{
|
|
"id": 634,
|
|
"origin_id": 12,
|
|
"origin_slot": 0,
|
|
"target_id": 412,
|
|
"target_slot": 1,
|
|
"type": "VAE"
|
|
},
|
|
{
|
|
"id": 635,
|
|
"origin_id": -10,
|
|
"origin_slot": 11,
|
|
"target_id": 412,
|
|
"target_slot": 2,
|
|
"type": "IMAGE"
|
|
},
|
|
{
|
|
"id": 636,
|
|
"origin_id": -10,
|
|
"origin_slot": 12,
|
|
"target_id": 412,
|
|
"target_slot": 3,
|
|
"type": "MASK"
|
|
},
|
|
{
|
|
"id": 637,
|
|
"origin_id": 412,
|
|
"origin_slot": 0,
|
|
"target_id": -20,
|
|
"target_slot": 0,
|
|
"type": "IMAGE"
|
|
}
|
|
],
|
|
"extra": {}
|
|
}
|
|
]
|
|
},
|
|
"config": {},
|
|
"extra": {
|
|
"frontendVersion": "1.45.19",
|
|
"VHS_latentpreview": false,
|
|
"VHS_latentpreviewrate": 0,
|
|
"VHS_MetadataImage": true,
|
|
"VHS_KeepIntermediate": true,
|
|
"ds": {
|
|
"scale": 1.537274438720535,
|
|
"offset": [
|
|
27.961010983492418,
|
|
114.39660597537825
|
|
]
|
|
}
|
|
},
|
|
"version": 0.4
|
|
} |