Files
kanryu-ComfyUI-Text-Driven-…/examples/text_driven_prompting_sample.json
T

691 lines
14 KiB
JSON

{
"id": "1d4e4326-6985-4b88-a21b-a8a603a38a6b",
"revision": 0,
"last_node_id": 13,
"last_link_id": 24,
"nodes": [
{
"id": 10,
"type": "TextDrivenJoinStrings",
"pos": [
624.0013774104677,
387.48467630854066
],
"size": [
231.97501237517213,
98
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"label": "string0",
"name": "string_inputs.string0",
"type": "STRING",
"link": 17
},
{
"label": "string1",
"name": "string_inputs.string1",
"shape": 7,
"type": "STRING",
"link": 18
},
{
"label": "string2",
"name": "string_inputs.string2",
"shape": 7,
"type": "STRING",
"link": null
}
],
"outputs": [
{
"name": "string_out",
"type": "STRING",
"links": [
19
]
}
],
"properties": {
"Node name for S&R": "TextDrivenJoinStrings"
},
"widgets_values": [
","
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 7,
"type": "KSampler",
"pos": [
1134.633264462809,
527.0919421487622
],
"size": [
270,
262
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 12
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 13
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 14
},
{
"name": "latent_image",
"type": "LATENT",
"link": 11
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
10
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.19.3",
"Node name for S&R": "KSampler"
},
"widgets_values": [
893386370465587,
"randomize",
30,
7,
"euler",
"normal",
1
]
},
{
"id": 8,
"type": "VAEDecode",
"pos": [
1136.0795454545457,
441.47727272727286
],
"size": [
140,
46
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 10
},
{
"name": "vae",
"type": "VAE",
"link": 20
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
9
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.19.3",
"Node name for S&R": "VAEDecode"
},
"widgets_values": []
},
{
"id": 11,
"type": "TextDrivenResolutionSelector",
"pos": [
624.0013774104659,
684.5748966942159
],
"size": [
259.2310546875,
132
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "width",
"type": "INT",
"links": [
23
]
},
{
"name": "height",
"type": "INT",
"links": [
24
]
}
],
"properties": {
"Node name for S&R": "TextDrivenResolutionSelector"
},
"widgets_values": [
"768x1024 (3:4)\n832x1216 (13:19)\n960x1280 (3:4)\n1024x1365 (3:4)\n1024x1496 (paper)\n1080x1440 (3:4)\n1152x1536 (3:4)\n1280x1728 (3:4)\n1536x1536 (1:1)",
"1024x1365 (3:4)"
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 6,
"type": "EmptyLatentImage",
"pos": [
905.3719008264499,
660.0292699724531
],
"size": [
210,
106
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 23
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 24
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
11
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.19.3",
"Node name for S&R": "EmptyLatentImage"
},
"widgets_values": [
1024,
1024,
1
]
},
{
"id": 9,
"type": "SaveImage",
"pos": [
1134.8467630854004,
66.0898760330579
],
"size": [
237.07128099173542,
324.3567493112946
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 9
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.19.3",
"Node name for S&R": "SaveImage"
},
"widgets_values": [
"ComfyUI_TextDriven"
]
},
{
"id": 2,
"type": "TextDrivenTextLinePrompt",
"pos": [
378.7964876033059,
152.6687327823689
],
"size": [
322.43457300275486,
180.97451790633613
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "optional_text_in",
"shape": 7,
"type": "STRING",
"link": null
}
],
"outputs": [
{
"name": "string_out",
"type": "STRING",
"links": [
17
]
}
],
"properties": {
"Node name for S&R": "TextDrivenTextLinePrompt"
},
"widgets_values": [
"1girl, solo, emilia \\(re:zero\\), blonde hair,\n(abstract background:1.5),\nthree quarter view, speed lines,\n(by carnelian:0.6),",
"2: (abstract background:1.5)",
1.5,
true
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 3,
"type": "TextDrivenMultiPrompts",
"pos": [
383.41081267217646,
390.4872589531677
],
"size": [
222.9048828125,
364
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "optional_text_in",
"shape": 7,
"type": "STRING",
"link": null
}
],
"outputs": [
{
"name": "string_out",
"type": "STRING",
"links": [
18
]
}
],
"properties": {
"Node name for S&R": "TextDrivenMultiPrompts"
},
"widgets_values": [
"3",
"cinematic lighting, volumetric lighting",
1,
true,
"sundress, ruffled, cotton",
1.2,
true,
"masterpiece, delicate, serene atmosphere",
0.8,
true,
"",
1,
true,
"",
1,
true,
"",
1,
true,
"",
1,
true,
"",
1,
true,
"",
1,
true,
"",
1,
true
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 13,
"type": "MarkdownNote",
"pos": [
717.6652892561983,
64.05148071625365
],
"size": [
388.06301652892535,
270.0120523415977
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"# Text-Driven Prompting Workflow Guide\n\nThis workflow streamlines prompt management and eliminates manual weight tweaking by utilizing two custom nodes for layered control.\n\n---\n\n## Node Overview\n\n### 1. Text Line Prompt (Text-Driven)\nManages a list of prompt assets or concepts line by line.\n* **Bi-directional Sync:** Select a line via the dropdown menu to modify its multiplier or active state. The raw text area updates automatically in real-time.\n* **Muting Function:** Deactivating a line prepends `//` to comment it out. These lines are completely skipped during backend execution to output a clean string.\n* **Regex Parsing:** Properly handles character LoRA escaped brackets `\\( \\)` and safely bypasses rows containing multiple unescaped brackets.\n\n### 2. Multi Prompts (Text-Driven)\nProvides centralized layer-control for multiple modifiers.\n* **Dynamic UI Layout:** Input fields dynamically hide or show based on the \"num_prompts\" value (up to 10 slots) to keep the canvas clean.\n* **Granular Controls:** Allows you to adjust individual multipliers and toggle the active state of each prompt fragment with a single click.\n\n---\n\n## Workflow Pipeline\n\nThe nodes are connected in a relay structure to compile the final prompt:\n\n1. **Base Generation:** [Text Line Prompt] manages base characters, core concepts, or specific styles.\n2. **Modifier Stacking:** The selected base prompt is fed into [Multi Prompts] via the hidden `optional_text_in` input pin.\n3. **Final Output:** [Multi Prompts] appends aesthetic modifiers (lighting, attire, quality tokens), then sends the fully combined string directly to the SDXL CLIP Text Encode.\n\n### Quick Start\n1. Choose a row in **Text Line Prompt** using the dropdown menu.\n2. Tweak individual weights or toggle active states in **Multi Prompts**.\n3. Click **Queue Prompt** to execute."
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 4,
"type": "CLIPTextEncode",
"pos": [
896.5909090909092,
387.07816804407724
],
"size": [
218.659765625,
88
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 15
},
{
"name": "text",
"type": "STRING",
"widget": {
"name": "text"
},
"link": 19
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
13
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.19.3",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
""
]
},
{
"id": 5,
"type": "CLIPTextEncode",
"pos": [
897.3226584022048,
524.1477272727292
],
"size": [
218.659765625,
88
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 16
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
14
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.19.3",
"Node name for S&R": "CLIPTextEncode"
},
"widgets_values": [
"blurry, low quality, text, error, cropped, worst quality"
]
},
{
"id": 1,
"type": "CheckpointLoaderSimple",
"pos": [
628.323002754823,
530.5096418732777
],
"size": [
210,
98
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
12
]
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
15,
16
]
},
{
"name": "VAE",
"type": "VAE",
"links": [
20
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.19.3",
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": ["sd_xl_base_1.0.safetensors"]
}
],
"links": [
[
null,
null,
null,
null,
null,
null
],
[
9,
8,
0,
9,
0,
"IMAGE"
],
[
10,
7,
0,
8,
0,
"LATENT"
],
[
11,
6,
0,
7,
3,
"LATENT"
],
[
12,
1,
0,
7,
0,
"MODEL"
],
[
13,
4,
0,
7,
1,
"CONDITIONING"
],
[
14,
5,
0,
7,
2,
"CONDITIONING"
],
[
15,
1,
1,
4,
0,
"CLIP"
],
[
16,
1,
1,
5,
0,
"CLIP"
],
[
17,
2,
0,
10,
0,
"STRING"
],
[
18,
3,
0,
10,
1,
"STRING"
],
[
19,
10,
0,
4,
1,
"STRING"
],
[
20,
1,
2,
8,
1,
"VAE"
],
[
23,
11,
0,
6,
0,
"INT"
],
[
24,
11,
1,
6,
1,
"INT"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1.366588235294118,
"offset": [
-115.43560606060629,
107.90960743801628
]
},
"frontendVersion": "1.42.11"
},
"version": 0.4
}