Download Moss Image_Layout.json from axiomgraph/Live_Stream_workflows: direct link, hf CLI and curl.
- Browser
- Download file 37.6 kB
-
https://huggingface.co/axiomgraph/Live_Stream_workflows/resolve/main/Moss%20Image_Layout.json
- Command line
-
hf download 'hf://axiomgraph/Live_Stream_workflows/Moss Image_Layout.json'
-
curl -L -o 'Moss Image_Layout.json' https://huggingface.co/axiomgraph/Live_Stream_workflows/resolve/main/Moss%20Image_Layout.json
37.6 kB
{
"id": "c6c853c5-f3aa-4e87-b7b0-0b8697b9d285",
"revision": 0,
"last_node_id": 34,
"last_link_id": 54,
"nodes": [
{
"id": 1,
"type": "UNETLoader",
"pos": [
-864.6174614109282,
-510.523090141049
],
"size": [
270,
82
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
54
]
}
],
"properties": {
"Node name for S&R": "UNETLoader"
},
"widgets_values": [
"moss_image_base_bf16.safetensors",
"default"
],
"widgets_values_named": {
"unet_name": "moss_image_base_bf16.safetensors",
"weight_dtype": "default"
}
},
{
"id": 2,
"type": "CLIPLoader",
"pos": [
-864.6174614109282,
-365.9718501262867
],
"size": [
270,
106
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
1,
2
]
}
],
"properties": {
"Node name for S&R": "CLIPLoader"
},
"widgets_values": [
"qwen3.5_9b_int8_convrot.safetensors",
"moss_image",
"default"
],
"widgets_values_named": {
"clip_name": "qwen3.5_9b_int8_convrot.safetensors",
"type": "moss_image",
"device": "default"
}
},
{
"id": 3,
"type": "VAELoader",
"pos": [
-864.6174614109282,
-197.42061011152464
],
"size": [
270,
58
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"links": [
14
]
}
],
"properties": {
"Node name for S&R": "VAELoader"
},
"widgets_values": [
"flux2-vae.safetensors"
],
"widgets_values_named": {
"vae_name": "flux2-vae.safetensors"
}
},
{
"id": 6,
"type": "CLIPTextEncode",
"pos": [
-94.63521968307832,
94.86553949329497
],
"size": [
400,
200
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 1
},
{
"name": "text",
"type": "STRING",
"widget": {
"name": "text"
},
"link": 46
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
23
]
}
],
"title": "CLIP Text Encode (Positive Prompt)",
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"Create an experimental typographic art poster with a vivid lime-green background and enormous black condensed lettering. The exact main text is “BREAK THE GRID”. Arrange the letters in an unconventional but readable composition with controlled cropping, overlapping geometric blocks, sharp diagonal shapes, and asymmetrical balance. Add the small secondary text “A STUDY IN VISUAL CHAOS” at the bottom. High-impact contemporary graphic design, bold contrast, precise letterforms, clean edges, intentional negative space. Do not introduce any additional letters or words. Vertical A3 poster format."
],
"widgets_values_named": {
"text": "Create an experimental typographic art poster with a vivid lime-green background and enormous black condensed lettering. The exact main text is “BREAK THE GRID”. Arrange the letters in an unconventional but readable composition with controlled cropping, overlapping geometric blocks, sharp diagonal shapes, and asymmetrical balance. Add the small secondary text “A STUDY IN VISUAL CHAOS” at the bottom. High-impact contemporary graphic design, bold contrast, precise letterforms, clean edges, intentional negative space. Do not introduce any additional letters or words. Vertical A3 poster format."
}
},
{
"id": 7,
"type": "CLIPTextEncode",
"pos": [
-94.02417088777928,
343.12389018226753
],
"size": [
400,
200
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 2
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
24
]
}
],
"title": "CLIP Text Encode (Negative Prompt)",
"properties": {
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"nsfw, worst quality, bad anatomy, watermark, jpeg artifact"
],
"widgets_values_named": {
"text": "nsfw, worst quality, bad anatomy, watermark, jpeg artifact"
}
},
{
"id": 12,
"type": "EmptyFlux2LatentImage",
"pos": [
357.0925881347687,
-118.12583840354883
],
"size": [
270,
106
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 27
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 28
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
21
]
}
],
"properties": {
"Node name for S&R": "EmptyFlux2LatentImage"
},
"widgets_values": [
1024,
1024,
1
],
"widgets_values_named": {
"width": 1024,
"height": 1024,
"batch_size": 1
}
},
{
"id": 13,
"type": "VAEDecode",
"pos": [
401.6078572636088,
-540.3173594728796
],
"size": [
140,
46
],
"flags": {},
"order": 18,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 20
},
{
"name": "vae",
"type": "VAE",
"link": 14
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
15
]
}
],
"properties": {
"Node name for S&R": "VAEDecode"
}
},
{
"id": 14,
"type": "SaveImageAdvanced",
"pos": [
655.7378988839755,
-434.45697248474215
],
"size": [
769.5311070708017,
563.7197208590027
],
"flags": {},
"order": 19,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 15
}
],
"outputs": [
{
"name": "images",
"type": "IMAGE",
"links": [
44
]
}
],
"properties": {},
"widgets_values": [
"ComfyUI",
"png",
"8-bit",
"sRGB"
],
"widgets_values_named": {
"filename_prefix": "ComfyUI",
"format": "png",
"format.bit_depth": "8-bit",
"format.input_color_space": "sRGB"
}
},
{
"id": 15,
"type": "ModelSamplingAuraFlow",
"pos": [
-504.4343019656409,
-703.7353787610801
],
"size": [
270,
82
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 54
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
25
]
}
],
"properties": {
"Node name for S&R": "ModelSamplingAuraFlow"
},
"widgets_values": [
5,
"flow"
],
"widgets_values_named": {
"shift": 5,
"sampling": "flow"
}
},
{
"id": 17,
"type": "KSampler",
"pos": [
355.6009508193837,
-436.1187217089269
],
"size": [
270,
262
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 26
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 23
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 24
},
{
"name": "latent_image",
"type": "LATENT",
"link": 21
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
20
]
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
856125964772716,
"randomize",
50,
3,
"euler",
"simple",
1
],
"widgets_values_named": {
"seed": 856125964772716,
"control_after_generate": "randomize",
"steps": 50,
"cfg": 3,
"sampler_name": "euler",
"scheduler": "simple",
"denoise": 1
}
},
{
"id": 18,
"type": "SkipLayerGuidanceDiTSimple",
"pos": [
-189.46808184376027,
-754.0982879951505
],
"size": [
295.4009765625,
130
],
"flags": {},
"order": 10,
"mode": 0,
"showAdvanced": true,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 25
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
26
]
}
],
"properties": {
"Node name for S&R": "SkipLayerGuidanceDiTSimple"
},
"widgets_values": [
"",
"22",
0,
1
],
"widgets_values_named": {
"double_layers": "",
"single_layers": "22",
"start_percent": 0,
"end_percent": 1
}
},
{
"id": 20,
"type": "ResolutionSelector",
"pos": [
-864.7078141265615,
171.03661523924245
],
"size": [
269.99996373649657,
190.00001890433614
],
"flags": {},
"order": 3,
"mode": 0,
"showAdvanced": true,
"inputs": [],
"outputs": [
{
"name": "width",
"type": "INT",
"links": [
27,
29,
33
]
},
{
"name": "height",
"type": "INT",
"links": [
28,
30,
34
]
}
],
"properties": {
"Node name for S&R": "ResolutionSelector"
},
"widgets_values": [
"9:16 (Portrait Widescreen)",
1,
16
],
"widgets_values_named": {
"aspect_ratio": "9:16 (Portrait Widescreen)",
"megapixels": 1,
"multiple": 16
}
},
{
"id": 21,
"type": "CreateBoundingBoxes",
"pos": [
-530.3238377931995,
-444.3139695151198
],
"size": [
395.9343813006631,
847.9308732954987
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "background",
"shape": 7,
"type": "IMAGE",
"link": 31
},
{
"name": "bboxes",
"shape": 7,
"type": "BOUNDING_BOX,ARRAY,STRING",
"link": null
}
],
"outputs": [
{
"name": "preview",
"type": "IMAGE",
"links": [
43
]
},
{
"name": "bboxes",
"type": "BOUNDING_BOX",
"links": null
},
{
"name": "elements",
"type": "ARRAY",
"links": [
32
]
}
],
"properties": {
"Node name for S&R": "CreateBoundingBoxes"
},
"widgets_values": [
768,
1360,
[
{
"x": 96,
"y": 608,
"width": 544,
"height": 128,
"metadata": {
"type": "text",
"text": "HELLO WORLD",
"desc": "bold, glowing,",
"palette": [
"#ff0000"
]
}
},
{
"x": 224,
"y": 864,
"width": 320,
"height": 496,
"metadata": {
"type": "obj",
"text": "",
"desc": "an alien looking into the camera",
"palette": []
}
}
],
[]
],
"widgets_values_named": {
"width": 768,
"height": 1360,
"editor_state": [
{
"x": 96,
"y": 608,
"width": 544,
"height": 128,
"metadata": {
"type": "text",
"text": "HELLO WORLD",
"desc": "bold, glowing,",
"palette": [
"#ff0000"
]
}
},
{
"x": 224,
"y": 864,
"width": 320,
"height": 496,
"metadata": {
"type": "obj",
"text": "",
"desc": "an alien looking into the camera",
"palette": []
}
}
],
"last_incoming": []
}
},
{
"id": 22,
"type": "EmptyImage",
"pos": [
-862.8965671825241,
-21.221443890549956
],
"size": [
270,
130
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 29
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 30
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
31
]
}
],
"properties": {
"Node name for S&R": "EmptyImage"
},
"widgets_values": [
512,
512,
1,
0
],
"widgets_values_named": {
"width": 512,
"height": 512,
"batch_size": 1,
"color": 0
}
},
{
"id": 23,
"type": "MOSSImageLayoutPrompt",
"pos": [
-100.02364586366492,
-448.0483008920434
],
"size": [
408.1121376837033,
350.6703446363414
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "element",
"type": "ARRAY",
"link": 32
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 33
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 34
}
],
"outputs": [
{
"name": "prompt",
"type": "STRING",
"links": [
35,
45
]
}
],
"properties": {
"Node name for S&R": "MOSSImageLayoutPrompt"
},
"widgets_values": [
"a poster of a movie",
1024,
1024,
""
],
"widgets_values_named": {
"prompt": "a poster of a movie",
"width": 1024,
"height": 1024,
"character_boxes": ""
}
},
{
"id": 24,
"type": "TextGenerate",
"pos": [
-191.1330913504462,
-1308.9718200456894
],
"size": [
400,
456
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 37
},
{
"name": "image",
"shape": 7,
"type": "IMAGE",
"link": null
},
{
"name": "video",
"shape": 7,
"type": "IMAGE",
"link": null
},
{
"name": "audio",
"shape": 7,
"type": "AUDIO",
"link": null
},
{
"name": "system_prompt",
"shape": 7,
"type": "STRING",
"link": 36
},
{
"name": "prompt",
"type": "STRING",
"widget": {
"name": "prompt"
},
"link": 35
}
],
"outputs": [
{
"name": "generated_text",
"type": "STRING",
"links": [
50,
51
]
},
{
"name": "thinking",
"type": "STRING",
"links": null
}
],
"properties": {
"Node name for S&R": "TextGenerate"
},
"widgets_values": [
"",
512,
"on",
0.7,
64,
0.95,
0.05,
1.05,
0,
0,
false,
true,
"auto"
],
"widgets_values_named": {
"prompt": "",
"max_length": 512,
"sampling_mode": "on",
"sampling_mode.temperature": 0.7,
"sampling_mode.top_k": 64,
"sampling_mode.top_p": 0.95,
"sampling_mode.min_p": 0.05,
"sampling_mode.repetition_penalty": 1.05,
"sampling_mode.seed": 0,
"sampling_mode.presence_penalty": 0,
"thinking": false,
"use_default_template": true,
"mtp": "auto"
}
},
{
"id": 25,
"type": "PrimitiveStringMultiline",
"pos": [
-724.6287265790891,
-1131.2971258274335
],
"size": [
437.4115993440638,
292.7498549897893
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": [
36
]
}
],
"properties": {
"Node name for S&R": "PrimitiveStringMultiline"
},
"widgets_values": [
"# Image Prompt and Layout Enhancer\n\n## STRICT OUTPUT RULES\n\n- Output exactly one valid JSON object and nothing else.\n- Do not output reasoning, analysis, explanations, or thinking text.\n- Never output thinking markers or channel tokens, including `<think>`, `</think>`, `analysis`, or `reasoning`.\n- The first character of the response must be `{`.\n- The last character of the response must be `}`.\n- Do not include Markdown code fences, comments, introductions, conclusions, or text outside the JSON object.\n- Plan the composition internally, then output only the final JSON object.\n- Ensure the result can be parsed by a standard JSON parser.\n- Follow the input preservation rules below before making any enhancements.\n\n# ROLE\n\nYou are an expert image composition planner and visual prompt enhancer. Your task is to transform a user's rough image idea or existing structured image layout into a detailed, visually coherent JSON representation.\n\nEnhance visual descriptions, subject details, lighting, color, typography, and overall visual clarity while preserving the user's explicit instructions and existing layout data.\n\nYou do not need prior knowledge of any image-generation model, software, or layout system. Treat this specification as your complete set of instructions.\n\n# HIGHEST-PRIORITY RULE: PRESERVE INCOMING BOUNDING BOXES\n\n**Any bounding-box coordinates provided in the input are immutable and must be preserved exactly as received.**\n\nThis rule takes priority over all composition improvements, layout optimization, aesthetic preferences, and other instructions in this template.\n\n## Bounding-box preservation requirements\n\n1. If an input item contains a `bbox` field, copy its four coordinate values into the corresponding output item's `bbox` field without any modification.\n\n2. Preserve the exact coordinate values and their order:\n `[left, top, right, bottom]`.\n\n3. Never move, resize, shift, expand, shrink, center, reposition, recalculate, normalize, round, scale, clamp, or otherwise transform an incoming bounding box.\n\n4. Never replace incoming coordinates with newly estimated coordinates, even if the existing box appears poorly positioned, too small, too large, asymmetrical, or visually unbalanced.\n\n5. Never convert coordinates between absolute pixels, relative coordinates, percentages, normalized values, or model-specific coordinate systems.\n\n6. Do not infer new coordinates from the item's caption, subject, text, image dimensions, or surrounding elements when an incoming `bbox` already exists.\n\n7. Preserve the association between each incoming bounding box and its corresponding visual element. Do not assign one item's coordinates to another item.\n\n8. Preserve the original numeric values and their order. Do not change integers into rounded approximations, calculate replacement values, or introduce coordinate offsets.\n\n9. If an incoming bounding box is represented by `[120, 80, 640, 400]`, the output must contain exactly `[120, 80, 640, 400]` for that item.\n\n10. If the input contains existing items with bounding boxes, enhance the descriptions within those existing regions rather than changing their positions or dimensions.\n\n11. Do not regenerate the entire layout from scratch when an existing structured layout is provided. Treat the incoming layout as the authoritative spatial plan.\n\n12. If a bounding box appears invalid or extends beyond the canvas, preserve it exactly rather than silently correcting it. Do not invent replacement coordinates.\n\n13. If the input contains bounding boxes but omits canvas dimensions, do not modify the coordinates to fit an assumed canvas. Use explicitly provided dimensions or choose suitable dimensions without altering the incoming boxes.\n\n14. If a requested enhancement seems to require changing a bounding box, adapt the visual description or composition guidance instead. Coordinate preservation is mandatory.\n\n## Coordinate preservation applies to every item\n\nThe rule applies equally to items labeled:\n\n- `object`\n- `character`\n- `text`\n\nIt also applies to every item in multi-panel layouts, collages, thumbnails, posters, advertisements, diagrams, and other image compositions.\n\n**Never change an incoming `bbox` value for any reason.**\n\n# INPUT HANDLING\n\nThe user may provide:\n\n- A plain-language image idea without structured data.\n- A JSON layout containing items and bounding boxes.\n- A mixture of an existing JSON layout and additional visual instructions.\n- An existing layout with instructions to improve the captions, style, text appearance, or overall visual quality.\n\nHandle each case as follows.\n\n## Case 1: No existing bounding boxes\n\nIf the input contains no existing bounding boxes, create appropriate bounding boxes according to the layout specification and the user's intended composition.\n\n## Case 2: Existing bounding boxes\n\nIf the input contains existing bounding boxes, preserve every one exactly. Enhance the descriptions and other permitted fields without modifying the coordinates.\n\n## Case 3: Existing layout with new instructions\n\nApply the user's new instructions to visual descriptions, styling, and other permitted fields while preserving all incoming bounding boxes and their associations.\n\nIf the user asks for a different composition but supplies existing bounding boxes, do not move the boxes. Adapt the visual descriptions to the existing layout.\n\n## Case 4: Existing JSON layout\n\nWhen the input is an existing JSON object, preserve the overall structure and all supported fields unless a change is necessary to satisfy the output schema or an explicit user instruction.\n\nNever discard an existing item simply because its caption is incomplete, its placement is unusual, or its visual purpose is unclear.\n\nIf the input contains additional unsupported fields, omit unsupported fields from the final output, but never modify"
],
"widgets_values_named": {
"value": "# Image Prompt and Layout Enhancer\n\n## STRICT OUTPUT RULES\n\n- Output exactly one valid JSON object and nothing else.\n- Do not output reasoning, analysis, explanations, or thinking text.\n- Never output thinking markers or channel tokens, including `<think>`, `</think>`, `analysis`, or `reasoning`.\n- The first character of the response must be `{`.\n- The last character of the response must be `}`.\n- Do not include Markdown code fences, comments, introductions, conclusions, or text outside the JSON object.\n- Plan the composition internally, then output only the final JSON object.\n- Ensure the result can be parsed by a standard JSON parser.\n- Follow the input preservation rules below before making any enhancements.\n\n# ROLE\n\nYou are an expert image composition planner and visual prompt enhancer. Your task is to transform a user's rough image idea or existing structured image layout into a detailed, visually coherent JSON representation.\n\nEnhance visual descriptions, subject details, lighting, color, typography, and overall visual clarity while preserving the user's explicit instructions and existing layout data.\n\nYou do not need prior knowledge of any image-generation model, software, or layout system. Treat this specification as your complete set of instructions.\n\n# HIGHEST-PRIORITY RULE: PRESERVE INCOMING BOUNDING BOXES\n\n**Any bounding-box coordinates provided in the input are immutable and must be preserved exactly as received.**\n\nThis rule takes priority over all composition improvements, layout optimization, aesthetic preferences, and other instructions in this template.\n\n## Bounding-box preservation requirements\n\n1. If an input item contains a `bbox` field, copy its four coordinate values into the corresponding output item's `bbox` field without any modification.\n\n2. Preserve the exact coordinate values and their order:\n `[left, top, right, bottom]`.\n\n3. Never move, resize, shift, expand, shrink, center, reposition, recalculate, normalize, round, scale, clamp, or otherwise transform an incoming bounding box.\n\n4. Never replace incoming coordinates with newly estimated coordinates, even if the existing box appears poorly positioned, too small, too large, asymmetrical, or visually unbalanced.\n\n5. Never convert coordinates between absolute pixels, relative coordinates, percentages, normalized values, or model-specific coordinate systems.\n\n6. Do not infer new coordinates from the item's caption, subject, text, image dimensions, or surrounding elements when an incoming `bbox` already exists.\n\n7. Preserve the association between each incoming bounding box and its corresponding visual element. Do not assign one item's coordinates to another item.\n\n8. Preserve the original numeric values and their order. Do not change integers into rounded approximations, calculate replacement values, or introduce coordinate offsets.\n\n9. If an incoming bounding box is represented by `[120, 80, 640, 400]`, the output must contain exactly `[120, 80, 640, 400]` for that item.\n\n10. If the input contains existing items with bounding boxes, enhance the descriptions within those existing regions rather than changing their positions or dimensions.\n\n11. Do not regenerate the entire layout from scratch when an existing structured layout is provided. Treat the incoming layout as the authoritative spatial plan.\n\n12. If a bounding box appears invalid or extends beyond the canvas, preserve it exactly rather than silently correcting it. Do not invent replacement coordinates.\n\n13. If the input contains bounding boxes but omits canvas dimensions, do not modify the coordinates to fit an assumed canvas. Use explicitly provided dimensions or choose suitable dimensions without altering the incoming boxes.\n\n14. If a requested enhancement seems to require changing a bounding box, adapt the visual description or composition guidance instead. Coordinate preservation is mandatory.\n\n## Coordinate preservation applies to every item\n\nThe rule applies equally to items labeled:\n\n- `object`\n- `character`\n- `text`\n\nIt also applies to every item in multi-panel layouts, collages, thumbnails, posters, advertisements, diagrams, and other image compositions.\n\n**Never change an incoming `bbox` value for any reason.**\n\n# INPUT HANDLING\n\nThe user may provide:\n\n- A plain-language image idea without structured data.\n- A JSON layout containing items and bounding boxes.\n- A mixture of an existing JSON layout and additional visual instructions.\n- An existing layout with instructions to improve the captions, style, text appearance, or overall visual quality.\n\nHandle each case as follows.\n\n## Case 1: No existing bounding boxes\n\nIf the input contains no existing bounding boxes, create appropriate bounding boxes according to the layout specification and the user's intended composition.\n\n## Case 2: Existing bounding boxes\n\nIf the input contains existing bounding boxes, preserve every one exactly. Enhance the descriptions and other permitted fields without modifying the coordinates.\n\n## Case 3: Existing layout with new instructions\n\nApply the user's new instructions to visual descriptions, styling, and other permitted fields while preserving all incoming bounding boxes and their associations.\n\nIf the user asks for a different composition but supplies existing bounding boxes, do not move the boxes. Adapt the visual descriptions to the existing layout.\n\n## Case 4: Existing JSON layout\n\nWhen the input is an existing JSON object, preserve the overall structure and all supported fields unless a change is necessary to satisfy the output schema or an explicit user instruction.\n\nNever discard an existing item simply because its caption is incomplete, its placement is unusual, or its visual purpose is unclear.\n\nIf the input contains additional unsupported fields, omit unsupported fields from the final output, but never modify"
}
},
{
"id": 26,
"type": "CLIPLoader",
"pos": [
-712.7782237779106,
-1312.5319013125804
],
"size": [
270,
106
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
37
]
}
],
"properties": {
"Node name for S&R": "CLIPLoader"
},
"widgets_values": [
"qwen3.5_9b_int8_convrot.safetensors",
"stable_diffusion",
"default"
],
"widgets_values_named": {
"clip_name": "qwen3.5_9b_int8_convrot.safetensors",
"type": "stable_diffusion",
"device": "default"
}
},
{
"id": 27,
"type": "PreviewAny",
"pos": [
276.65931453934604,
-1302.2766679973633
],
"size": [
614.0868007652799,
439.1750582673176
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 50
}
],
"outputs": [
{
"name": "STRING",
"type": "STRING",
"links": null
}
],
"properties": {
"Node name for S&R": "PreviewAny"
},
"widgets_values": [],
"widgets_values_named": {}
},
{
"id": 31,
"type": "ImageCompare",
"pos": [
1468.0329657839836,
-434.3148143624523
],
"size": [
690.7200646807406,
563.558405080212
],
"flags": {},
"order": 20,
"mode": 0,
"inputs": [
{
"name": "image_a",
"shape": 7,
"type": "IMAGE",
"link": 44
},
{
"name": "image_b",
"shape": 7,
"type": "IMAGE",
"link": 43
}
],
"outputs": [],
"properties": {
"Node name for S&R": "ImageCompare"
},
"widgets_values": [],
"widgets_values_named": {}
},
{
"id": 32,
"type": "ComfySwitchNode",
"pos": [
-95.21482277508032,
-53.26702349059981
],
"size": [
270,
78
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "on_false",
"shape": 7,
"type": "STRING",
"link": 45
},
{
"name": "on_true",
"shape": 7,
"type": "STRING",
"link": 51
}
],
"outputs": [
{
"name": "output",
"type": "STRING",
"links": [
46
]
}
],
"title": "Enhance Prompt",
"properties": {
"Node name for S&R": "ComfySwitchNode"
},
"widgets_values": [
true
],
"widgets_values_named": {
"switch": true
}
}
],
"links": [
[
1,
2,
0,
6,
0,
"CLIP"
],
[
2,
2,
0,
7,
0,
"CLIP"
],
[
14,
3,
0,
13,
1,
"VAE"
],
[
20,
17,
0,
13,
0,
"LATENT"
],
[
21,
12,
0,
17,
3,
"LATENT"
],
[
23,
6,
0,
17,
1,
"CONDITIONING"
],
[
24,
7,
0,
17,
2,
"CONDITIONING"
],
[
25,
15,
0,
18,
0,
"MODEL"
],
[
26,
18,
0,
17,
0,
"MODEL"
],
[
27,
20,
0,
12,
0,
"INT"
],
[
28,
20,
1,
12,
1,
"INT"
],
[
29,
20,
0,
22,
0,
"INT"
],
[
30,
20,
1,
22,
1,
"INT"
],
[
31,
22,
0,
21,
0,
"IMAGE"
],
[
32,
21,
2,
23,
0,
"ARRAY"
],
[
33,
20,
0,
23,
1,
"INT"
],
[
34,
20,
1,
23,
2,
"INT"
],
[
43,
21,
0,
31,
1,
"IMAGE"
],
[
44,
14,
0,
31,
0,
"IMAGE"
],
[
45,
23,
0,
32,
0,
"STRING"
],
[
46,
32,
0,
6,
1,
"STRING"
],
[
50,
24,
0,
27,
0,
"STRING"
],
[
51,
24,
0,
32,
1,
"STRING"
],
[
15,
13,
0,
14,
0,
"IMAGE"
],
[
37,
26,
0,
24,
0,
"CLIP"
],
[
36,
25,
0,
24,
4,
"STRING"
],
[
35,
23,
0,
24,
5,
"STRING"
],
[
54,
1,
0,
15,
0,
"MODEL"
]
],
"groups": [
{
"id": 1,
"title": "Enhance Prompt",
"bounding": [
-734.6287265790891,
-1382.5319013125804,
1635.374841883715,
553.9846304749362
],
"color": "#3f789e",
"flags": {}
},
{
"id": 2,
"title": "Load Models",
"bounding": [
-874.6174614109282,
-580.523090141049,
290,
451.1024800295245
],
"color": "#3f789e",
"flags": {}
},
{
"id": 3,
"title": "Resolution",
"bounding": [
-874.7078141265615,
-91.22144389054998,
291.8112469440374,
462.2580780341285
],
"color": "#3f789e",
"flags": {}
},
{
"id": 4,
"title": "Prompt",
"bounding": [
-540.3238377931995,
-518.0483008920434,
858.4123296132378,
1109.3437063769236
],
"color": "#3f789e",
"flags": {}
}
],
"config": {},
"extra": {
"ds": {
"scale": 0.7010567229897771,
"offset": [
1407.8222641274708,
850.2732100484037
]
},
"frontendVersion": "1.55.17",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
{
"id": "c6c853c5-f3aa-4e87-b7b0-0b8697b9d285",
"revision": 0,
"last_node_id": 34,
"last_link_id": 54,
"nodes": [
{
"id": 1,
"type": "UNETLoader",
"pos": [
-864.6174614109282,
-510.523090141049
],
"size": [
270,
82
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
54
]
}
],
"properties": {
"Node name for S&R": "UNETLoader"
},
"widgets_values": [
"moss_image_base_bf16.safetensors",
"default"
],
"widgets_values_named": {
"unet_name": "moss_image_base_bf16.safetensors",
"weight_dtype": "default"
}
},
{
"id": 2,
"type": "CLIPLoader",
"pos": [
-864.6174614109282,
-365.9718501262867
],
"size": [
270,
106
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
1,
2
]
}
],
"properties": {
"Node name for S&R": "CLIPLoader"
},
"widgets_values": [
"qwen3.5_9b_int8_convrot.safetensors",
"moss_image",
"default"
],
"widgets_values_named": {
"clip_name": "qwen3.5_9b_int8_convrot.safetensors",
"type": "moss_image",
"device": "default"
}
},
{
"id": 3,
"type": "VAELoader",
"pos": [
-864.6174614109282,
-197.42061011152464
],
"size": [
270,
58
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",