axiomgraph commited on
Commit
27b90ae
·
verified ·
1 Parent(s): 85fcfa2

Upload Fibo_2_0_Turbo_Edit_Prompt_Builder.json

Browse files
Fibo_2_0_Turbo_Edit_Prompt_Builder.json ADDED
@@ -0,0 +1,1408 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "id": "1c632289-3b43-474e-896a-fcba131de19f",
3
+ "revision": 0,
4
+ "last_node_id": 37,
5
+ "last_link_id": 57,
6
+ "nodes": [
7
+ {
8
+ "id": 1,
9
+ "type": "UNETLoader",
10
+ "pos": [
11
+ -710.4735376407708,
12
+ 211.2588137209418
13
+ ],
14
+ "size": [
15
+ 270,
16
+ 82
17
+ ],
18
+ "flags": {},
19
+ "order": 0,
20
+ "mode": 0,
21
+ "inputs": [],
22
+ "outputs": [
23
+ {
24
+ "name": "MODEL",
25
+ "type": "MODEL",
26
+ "links": [
27
+ 5
28
+ ]
29
+ }
30
+ ],
31
+ "properties": {
32
+ "Node name for S&R": "UNETLoader"
33
+ },
34
+ "widgets_values": [
35
+ "fibo2_edit_turbo_bf16.safetensors",
36
+ "default"
37
+ ],
38
+ "widgets_values_named": {
39
+ "unet_name": "fibo2_edit_turbo_bf16.safetensors",
40
+ "weight_dtype": "default"
41
+ }
42
+ },
43
+ {
44
+ "id": 3,
45
+ "type": "CLIPLoader",
46
+ "pos": [
47
+ -708.9704945882166,
48
+ 336.01170243471876
49
+ ],
50
+ "size": [
51
+ 270,
52
+ 106
53
+ ],
54
+ "flags": {},
55
+ "order": 1,
56
+ "mode": 0,
57
+ "inputs": [],
58
+ "outputs": [
59
+ {
60
+ "name": "CLIP",
61
+ "type": "CLIP",
62
+ "links": [
63
+ 12
64
+ ]
65
+ }
66
+ ],
67
+ "properties": {
68
+ "Node name for S&R": "CLIPLoader"
69
+ },
70
+ "widgets_values": [
71
+ "qwen3vl_4b_fp8_scaled.safetensors",
72
+ "fibo2",
73
+ "default"
74
+ ],
75
+ "widgets_values_named": {
76
+ "clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
77
+ "type": "fibo2",
78
+ "device": "default"
79
+ }
80
+ },
81
+ {
82
+ "id": 4,
83
+ "type": "VAELoader",
84
+ "pos": [
85
+ -709.1113995482527,
86
+ 484.27368623763334
87
+ ],
88
+ "size": [
89
+ 270,
90
+ 58
91
+ ],
92
+ "flags": {},
93
+ "order": 2,
94
+ "mode": 0,
95
+ "inputs": [],
96
+ "outputs": [
97
+ {
98
+ "name": "VAE",
99
+ "type": "VAE",
100
+ "links": [
101
+ 8,
102
+ 13
103
+ ]
104
+ }
105
+ ],
106
+ "properties": {
107
+ "Node name for S&R": "VAELoader"
108
+ },
109
+ "widgets_values": [
110
+ "flux2-vae.safetensors"
111
+ ],
112
+ "widgets_values_named": {
113
+ "vae_name": "flux2-vae.safetensors"
114
+ }
115
+ },
116
+ {
117
+ "id": 7,
118
+ "type": "KSampler",
119
+ "pos": [
120
+ 768.1913002590342,
121
+ 180.93412194848048
122
+ ],
123
+ "size": [
124
+ 270,
125
+ 262
126
+ ],
127
+ "flags": {},
128
+ "order": 17,
129
+ "mode": 0,
130
+ "inputs": [
131
+ {
132
+ "name": "model",
133
+ "type": "MODEL",
134
+ "link": 5
135
+ },
136
+ {
137
+ "name": "positive",
138
+ "type": "CONDITIONING",
139
+ "link": 10
140
+ },
141
+ {
142
+ "name": "negative",
143
+ "type": "CONDITIONING",
144
+ "link": 11
145
+ },
146
+ {
147
+ "name": "latent_image",
148
+ "type": "LATENT",
149
+ "link": 32
150
+ }
151
+ ],
152
+ "outputs": [
153
+ {
154
+ "name": "LATENT",
155
+ "type": "LATENT",
156
+ "links": [
157
+ 7
158
+ ]
159
+ }
160
+ ],
161
+ "properties": {
162
+ "Node name for S&R": "KSampler"
163
+ },
164
+ "widgets_values": [
165
+ 61665748384023,
166
+ "fixed",
167
+ 4,
168
+ 1,
169
+ "euler",
170
+ "simple",
171
+ 1
172
+ ],
173
+ "widgets_values_named": {
174
+ "seed": 61665748384023,
175
+ "control_after_generate": "fixed",
176
+ "steps": 4,
177
+ "cfg": 1,
178
+ "sampler_name": "euler",
179
+ "scheduler": "simple",
180
+ "denoise": 1
181
+ }
182
+ },
183
+ {
184
+ "id": 9,
185
+ "type": "VAEDecode",
186
+ "pos": [
187
+ 891.5977324990437,
188
+ 86.12307605596307
189
+ ],
190
+ "size": [
191
+ 140,
192
+ 46
193
+ ],
194
+ "flags": {},
195
+ "order": 19,
196
+ "mode": 0,
197
+ "inputs": [
198
+ {
199
+ "name": "samples",
200
+ "type": "LATENT",
201
+ "link": 7
202
+ },
203
+ {
204
+ "name": "vae",
205
+ "type": "VAE",
206
+ "link": 8
207
+ }
208
+ ],
209
+ "outputs": [
210
+ {
211
+ "name": "IMAGE",
212
+ "type": "IMAGE",
213
+ "links": [
214
+ 9
215
+ ]
216
+ }
217
+ ],
218
+ "properties": {
219
+ "Node name for S&R": "VAEDecode"
220
+ }
221
+ },
222
+ {
223
+ "id": 10,
224
+ "type": "SaveImageAdvanced",
225
+ "pos": [
226
+ 1059.427183227938,
227
+ 86.26265152850722
228
+ ],
229
+ "size": [
230
+ 887.7473109706641,
231
+ 721.4992976250799
232
+ ],
233
+ "flags": {},
234
+ "order": 21,
235
+ "mode": 0,
236
+ "inputs": [
237
+ {
238
+ "name": "images",
239
+ "type": "IMAGE",
240
+ "link": 9
241
+ }
242
+ ],
243
+ "outputs": [
244
+ {
245
+ "name": "images",
246
+ "type": "IMAGE",
247
+ "links": [
248
+ 24
249
+ ]
250
+ }
251
+ ],
252
+ "properties": {},
253
+ "widgets_values": [
254
+ "ComfyUI",
255
+ "png",
256
+ "8-bit",
257
+ "sRGB"
258
+ ],
259
+ "widgets_values_named": {
260
+ "filename_prefix": "ComfyUI",
261
+ "format": "png",
262
+ "format.bit_depth": "8-bit",
263
+ "format.input_color_space": "sRGB"
264
+ }
265
+ },
266
+ {
267
+ "id": 11,
268
+ "type": "TextEncodeFibo2",
269
+ "pos": [
270
+ 238.7958994048496,
271
+ 173.20477957525748
272
+ ],
273
+ "size": [
274
+ 487.86447999999996,
275
+ 664.8799865722656
276
+ ],
277
+ "flags": {},
278
+ "order": 13,
279
+ "mode": 0,
280
+ "inputs": [
281
+ {
282
+ "name": "clip",
283
+ "type": "CLIP",
284
+ "link": 12
285
+ },
286
+ {
287
+ "name": "images.image_1",
288
+ "shape": 7,
289
+ "type": "IMAGE",
290
+ "link": 14
291
+ },
292
+ {
293
+ "name": "images.image_2",
294
+ "shape": 7,
295
+ "type": "IMAGE",
296
+ "link": 26
297
+ },
298
+ {
299
+ "name": "images.image_3",
300
+ "shape": 7,
301
+ "type": "IMAGE",
302
+ "link": 27
303
+ },
304
+ {
305
+ "name": "images.image_4",
306
+ "shape": 7,
307
+ "type": "IMAGE",
308
+ "link": 30
309
+ },
310
+ {
311
+ "name": "images.image_5",
312
+ "shape": 7,
313
+ "type": "IMAGE",
314
+ "link": null
315
+ },
316
+ {
317
+ "name": "vae",
318
+ "shape": 7,
319
+ "type": "VAE",
320
+ "link": 13
321
+ }
322
+ ],
323
+ "outputs": [
324
+ {
325
+ "name": "positive",
326
+ "type": "CONDITIONING",
327
+ "links": [
328
+ 10
329
+ ]
330
+ },
331
+ {
332
+ "name": "negative",
333
+ "type": "CONDITIONING",
334
+ "links": [
335
+ 11
336
+ ]
337
+ },
338
+ {
339
+ "name": "latent",
340
+ "type": "LATENT",
341
+ "links": [
342
+ 32
343
+ ]
344
+ }
345
+ ],
346
+ "properties": {
347
+ "Node name for S&R": "TextEncodeFibo2"
348
+ },
349
+ "widgets_values": [
350
+ "{\n \"short_description\": \"A stylish man in a beige and black striped shirt and beige turtleneck holding a coffee cup, standing against a large stone column. The only change is that his beige hat has been replaced with a red hat.\",\n \"objects\": [\n {\n \"description\": \"A man with dark skin, wearing glasses, a beige turtleneck, a beige and black striped shirt, beige pants, and now a red hat.\",\n \"location\": \"Center of the frame, standing in front of a large stone column.\",\n \"relationship\": \"The primary subject of the image.\",\n \"relative_size\": \"Large, occupying the majority of the vertical space.\",\n \"shape_and_color\": \"Male figure. Wearing a solid red fedora-style hat. Face is visible through wire-rimmed glasses.\",\n \"texture\": \"Skin appears smooth. Clothing is made of fabric (striped shirt, knit sweater). Hat appears to be felt or similar material.\",\n \"appearance_details\": \"Reference: <image_1> - The original face, glasses, facial hair, body posture, clothing, and accessories are preserved. Reference: <image_1> - The hat is replaced; original color removed.\",\n \"pose\": \"Standing upright, leaning slightly against the column with his right arm bent at the elbow, holding a coffee cup.\",\n \"expression\": \"Neutral to contemplative expression.\",\n \"clothing\": \"Beige turtleneck sweater underneath an unbuttoned long-sleeved shirt with vertical black and white stripes. Beige trousers. Multiple beaded bracelets on the left wrist. Holding a grey jacket or folded garment in his right hand along with the coffee cup.\",\n \"action\": \"Holding a disposable coffee cup with a black lid.\",\n \"gender\": \"Male\",\n \"skin_tone_and_texture\": \"Dark skin tone.\",\n \"orientation\": \"Facing forward but looking off to the left side of the frame.\"\n }\n ],\n \"background_setting\": \"An urban outdoor setting featuring a massive, curved stone column with horizontal seams, likely part of a modern building's exterior. To the right, a paved walkway and glass windows are partially visible.\",\n \"lighting\": {\n \"conditions\": \"Natural daylight, soft and diffused, suggesting an overcast day or shaded area.\",\n \"direction\": \"Light appears to be coming from the front-left, illuminating the man's face and the left side of the column.\",\n \"shadows\": \"Soft shadows are cast on the man's right side and on the column behind him.\"\n },\n \"aesthetics\": {\n \"composition\": \"Medium shot, portrait orientation. The subject is centered with negative space to the left and right, framed by the column.\",\n \"color_scheme\": \"Neutral palette dominated by beige, cream, black, and white. The new red hat introduces a strong accent color.\",\n \"mood_atmosphere\": \"Calm, sophisticated, urban, and stylish.\"\n },\n \"photographic_characteristics\": {\n \"depth_of_field\": \"Moderate depth of field; the man is in sharp focus while the background is slightly softer.\",\n \"focus\": \"Primary focus is on the man's face and upper body.\",\n \"camera_angle\": \"Eye-level shot, slightly low angle.\",\n \"lens_focal_length\": \"Estimated around 50mm-85mm, typical for fashion/portrait photography.\"\n },\n \"style_medium\": \"Photograph\",\n \"text_render\": [],\n \"context\": \"Urban street style portrait. A well-dressed individual waiting or pausing during a break.\",\n \"artistic_style\": \"Modern fashion photography, clean and minimalist aesthetic.\",\n \"edit_instruction\": \"Replace the man's current beige fedora hat with a red hat. Preserve all other elements including his face, glasses, facial hair, clothing (beige turtleneck, striped shirt, beige pants), accessories (bracelets), pose (leaning against the column), and the background environment (stone column, urban setting).\"\n}",
351
+ "",
352
+ 0,
353
+ 0,
354
+ 1
355
+ ],
356
+ "widgets_values_named": {
357
+ "prompt": "{\n \"short_description\": \"A stylish man in a beige and black striped shirt and beige turtleneck holding a coffee cup, standing against a large stone column. The only change is that his beige hat has been replaced with a red hat.\",\n \"objects\": [\n {\n \"description\": \"A man with dark skin, wearing glasses, a beige turtleneck, a beige and black striped shirt, beige pants, and now a red hat.\",\n \"location\": \"Center of the frame, standing in front of a large stone column.\",\n \"relationship\": \"The primary subject of the image.\",\n \"relative_size\": \"Large, occupying the majority of the vertical space.\",\n \"shape_and_color\": \"Male figure. Wearing a solid red fedora-style hat. Face is visible through wire-rimmed glasses.\",\n \"texture\": \"Skin appears smooth. Clothing is made of fabric (striped shirt, knit sweater). Hat appears to be felt or similar material.\",\n \"appearance_details\": \"Reference: <image_1> - The original face, glasses, facial hair, body posture, clothing, and accessories are preserved. Reference: <image_1> - The hat is replaced; original color removed.\",\n \"pose\": \"Standing upright, leaning slightly against the column with his right arm bent at the elbow, holding a coffee cup.\",\n \"expression\": \"Neutral to contemplative expression.\",\n \"clothing\": \"Beige turtleneck sweater underneath an unbuttoned long-sleeved shirt with vertical black and white stripes. Beige trousers. Multiple beaded bracelets on the left wrist. Holding a grey jacket or folded garment in his right hand along with the coffee cup.\",\n \"action\": \"Holding a disposable coffee cup with a black lid.\",\n \"gender\": \"Male\",\n \"skin_tone_and_texture\": \"Dark skin tone.\",\n \"orientation\": \"Facing forward but looking off to the left side of the frame.\"\n }\n ],\n \"background_setting\": \"An urban outdoor setting featuring a massive, curved stone column with horizontal seams, likely part of a modern building's exterior. To the right, a paved walkway and glass windows are partially visible.\",\n \"lighting\": {\n \"conditions\": \"Natural daylight, soft and diffused, suggesting an overcast day or shaded area.\",\n \"direction\": \"Light appears to be coming from the front-left, illuminating the man's face and the left side of the column.\",\n \"shadows\": \"Soft shadows are cast on the man's right side and on the column behind him.\"\n },\n \"aesthetics\": {\n \"composition\": \"Medium shot, portrait orientation. The subject is centered with negative space to the left and right, framed by the column.\",\n \"color_scheme\": \"Neutral palette dominated by beige, cream, black, and white. The new red hat introduces a strong accent color.\",\n \"mood_atmosphere\": \"Calm, sophisticated, urban, and stylish.\"\n },\n \"photographic_characteristics\": {\n \"depth_of_field\": \"Moderate depth of field; the man is in sharp focus while the background is slightly softer.\",\n \"focus\": \"Primary focus is on the man's face and upper body.\",\n \"camera_angle\": \"Eye-level shot, slightly low angle.\",\n \"lens_focal_length\": \"Estimated around 50mm-85mm, typical for fashion/portrait photography.\"\n },\n \"style_medium\": \"Photograph\",\n \"text_render\": [],\n \"context\": \"Urban street style portrait. A well-dressed individual waiting or pausing during a break.\",\n \"artistic_style\": \"Modern fashion photography, clean and minimalist aesthetic.\",\n \"edit_instruction\": \"Replace the man's current beige fedora hat with a red hat. Preserve all other elements including his face, glasses, facial hair, clothing (beige turtleneck, striped shirt, beige pants), accessories (bracelets), pose (leaning against the column), and the background environment (stone column, urban setting).\"\n}",
358
+ "negative_prompt": "",
359
+ "width": 0,
360
+ "height": 0,
361
+ "batch_size": 1
362
+ }
363
+ },
364
+ {
365
+ "id": 12,
366
+ "type": "LoadImage",
367
+ "pos": [
368
+ -389.1060337466012,
369
+ 212.6145749792149
370
+ ],
371
+ "size": [
372
+ 282.798828125,
373
+ 314
374
+ ],
375
+ "flags": {},
376
+ "order": 3,
377
+ "mode": 0,
378
+ "inputs": [],
379
+ "outputs": [
380
+ {
381
+ "name": "IMAGE",
382
+ "type": "IMAGE",
383
+ "links": [
384
+ 14,
385
+ 25,
386
+ 46
387
+ ]
388
+ },
389
+ {
390
+ "name": "MASK",
391
+ "type": "MASK",
392
+ "links": null
393
+ }
394
+ ],
395
+ "title": "Image 1",
396
+ "properties": {
397
+ "Node name for S&R": "LoadImage"
398
+ },
399
+ "widgets_values": [
400
+ "pexels-theo-decker-5447787.jpg",
401
+ "image"
402
+ ],
403
+ "widgets_values_named": {
404
+ "image": "pexels-theo-decker-5447787.jpg",
405
+ "upload": "image"
406
+ }
407
+ },
408
+ {
409
+ "id": 15,
410
+ "type": "PrimitiveStringMultiline",
411
+ "pos": [
412
+ -702.6417434140417,
413
+ -810.5268220059716
414
+ ],
415
+ "size": [
416
+ 532.7537499572755,
417
+ 347.1788389743042
418
+ ],
419
+ "flags": {},
420
+ "order": 4,
421
+ "mode": 0,
422
+ "inputs": [],
423
+ "outputs": [
424
+ {
425
+ "name": "STRING",
426
+ "type": "STRING",
427
+ "links": [
428
+ 21
429
+ ]
430
+ }
431
+ ],
432
+ "properties": {
433
+ "Node name for S&R": "PrimitiveStringMultiline"
434
+ },
435
+ "widgets_values": [
436
+ "# Fibo 2.0 VGL Multi-Reference Prompt Builder\n\n## ROLE AND PRIMARY OBJECTIVE\n\nYou are a visual scene analyst and structured JSON prompt generator for Fibo 2.0.\n\nYour ONLY task is to analyze attached reference images and the user's requested transformation, then write a structured JSON prompt describing the intended final image.\n\n### STRICT TEXT-ONLY MODE — HIGHEST PRIORITY\n\n- NEVER edit, generate, transform, modify, or return an image.\n- NEVER invoke image generation, image editing, drawing, or other visual creation tools.\n- NEVER attempt to execute the user's image-editing instruction yourself.\n- Treat all editing instructions as descriptions of the desired operation for a separate downstream image model.\n- Your output must be text containing one valid JSON object and nothing else.\n- Even when the user says \"remove the woman,\" \"change the background,\" \"replace the car,\" or \"combine these images,\" describe the requested result in JSON. Do not perform the operation.\n- Do not respond with an edited image, an image preview, or a statement that the edit has been completed.\n- These restrictions apply to every user instruction and every reference image.\n\n## USER INSTRUCTION\n\n{userinput}\n\n## 1. REFERENCE IMAGE ANALYSIS\n\nInspect all attached reference images before writing the JSON.\n\n- References are identified as `<image_1>`, `<image_2>`, `<image_3>`, and `<image_4>`, in the order supplied. Fewer images may be attached.\n- Determine each image's role from the user's instruction and its actual visual content.\n- A reference can provide a person's identity, face, hairstyle, clothing, accessories, pose, an animal's markings, a vehicle's appearance, an object's design, the background, composition, lighting, or artistic style.\n- Multiple references can contribute different attributes to the same object. One reference can also supply attributes for multiple objects.\n- Follow explicit reference-to-attribute mappings provided by the user.\n- Preserve reference identifiers such as `<image_1>` in `appearance_details` and `edit_instruction` when they clarify the origin of an attribute.\n- Do not assume that one reference supplies an entire object or scene if the user requests only a particular attribute.\n- Do not transfer unrelated details between references.\n- Do not invent details that are not visible or reasonably inferable.\n\n## 2. DESCRIBE THE INTENDED FINAL IMAGE\n\nDescribe the image that should exist AFTER the requested transformation, without performing that transformation.\n\n- `short_description` summarizes the intended final scene.\n- `objects` describes the important subjects and objects that should remain in the final image.\n- For removal requests, exclude the removed subject from the final `objects` array.\n- For replacement requests, describe the replacement in its intended final state.\n- For modifications, describe the updated attribute rather than the original attribute.\n- For multi-reference compositions, describe the coherent final scene and identify the relevant reference sources.\n- Preserve all unrelated details from the original image, including secondary objects, background elements, spatial relationships, framing, perspective, lighting, color palette, depth of field, and style.\n- Do not unnecessarily simplify or redesign the original scene.\n- Do not invent motion, actions, environmental details, or hidden background features without evidence.\n- Where removal exposes an area previously hidden by a subject, describe a natural reconstruction consistent with the surrounding environment without inventing unsupported specifics.\n- Distinguish camera position from subject orientation and pose.\n\n## 3. SOURCE-IMAGE PRESERVATION\n\nFor editing requests, change only what the user asks to change.\n\n- Preserve unrelated people, vehicles, objects, signs, furniture, architecture, and other visible details.\n- Keep their original appearance, location, size, and relationships as consistent with the source as possible.\n- Preserve the original composition, camera viewpoint, perspective, lighting, shadows, color grading, and photographic style unless the user requests a change.\n- Do not omit important secondary details simply because they are not the primary subject.\n- Do not introduce additional objects or aesthetic enhancements.\n- Do not describe uncertain visual details as facts.\n- Make `edit_instruction` explicitly state both the requested change and the important elements that must remain unchanged.\n\n## 4. OBJECT DESCRIPTION RULES\n\nEach entry in `objects` must be a structured JSON object.\n\nUse applicable fields from the following list:\n\n- `description`: Main visual description.\n- `location`: Position within the frame.\n- `relationship`: Spatial or functional relationship to other objects.\n- `relative_size`: Relative size within the frame.\n- `shape_and_color`: Shape, colors, patterns, and distinctive features.\n- `texture`: Visible surface materials and textures.\n- `appearance_details`: Specific characteristics and relevant reference-image mappings.\n- `pose`: Pose or physical configuration, when applicable.\n- `expression`: Visible facial expression, when applicable.\n- `clothing`: Clothing and accessories, when applicable.\n- `action`: Visible action, when applicable.\n- `gender`: Include only when relevant and reasonably inferable.\n- `skin_tone_and_texture`: Visible skin characteristics, when relevant.\n- `orientation`: Direction the subject or object faces.\n\nInclude only relevant attributes. Do not force irrelevant fields onto objects or fill gaps with guesses.\n\nDescribe important secondary objects individually when doing so improves fidelity to the source image.\n\n## 5. BACKGROUND AND VISUAL CHARACTERISTICS\n\nDescribe the intended final scene accurately.\n\n- `background_setting`: Specific environment, architecture, terrain, structures, and background features.\n- `lighting.conditions`: Overall lighting conditions.\n- `lighting.direction`: Direction and quality of light.\n- `lighting.shadows`: Visible shadow characteristics.\n- `aesthetics.composition`: Framing, arrangement, leading lines, and visual hierarchy.\n- `aesthetics.color_scheme`: Dominant colors and their relationships.\n- `aesthetics.mood_atmosphere`: Visual atmosphere supported by the image.\n- `photographic_characteristics.depth_of_field`: Depth-of-field characteristics.\n- `photographic_characteristics.focus`: Primary focus and relative sharpness.\n- `photographic_characteristics.camera_angle`: Camera viewpoint.\n- `photographic_characteristics.lens_focal_length`: A cautious estimate only when useful and supported.\n- `style_medium`: Photograph, illustration, painting, 3D render, or another appropriate medium.\n- `context`: Relevant scene context without invented narrative.\n- `artistic_style`: Visible or requested artistic style.\n\nDo not automatically add cinematic effects, shallow depth of field, dramatic lighting, or specific camera settings.\n\n## 6. TEXT RENDERING\n\n- If the user requests visible text in the final image, include it in `text_render`.\n- Preserve exact wording, capitalization, punctuation, and spelling.\n- Describe placement and appearance when specified or reasonably necessary.\n- Do not invent text or claim unreadable signage has exact wording.\n- If no text is requested, return an empty array.\n\n## 7. EDIT INSTRUCTION\n\nFor image editing or multi-reference composition, `edit_instruction` must:\n\n- Describe the requested transformation clearly and concisely.\n- Identify the target by its visible appearance or location when necessary.\n- Specify reference-image mappings using the correct identifiers.\n- State which important elements must remain unchanged.\n- Describe natural integration or background reconstruction when needed.\n- Avoid vague instructions such as \"make it better\" or \"combine the images.\"\n- Never claim that the edit has already been performed.\n\nFor text-to-image generation without an editing operation, use an empty string for `edit_instruction`.\n\n## 8. REQUIRED JSON SCHEMA\n\nReturn exactly one JSON object using this structure:\n\n{\n \"short_description\": \"\",\n \"objects\": [\n {\n \"description\": \"\",\n \"location\": \"\",\n \"relationship\": \"\",\n \"relative_size\": \"\",\n \"shape_and_color\": \"\",\n \"texture\": \"\",\n \"appearance_details\": \"\",\n \"pose\": \"\",\n \"expression\": \"\",\n \"clothing\": \"\",\n \"action\": \"\",\n \"gender\": \"\",\n \"skin_tone_and_texture\": \"\",\n \"orientation\": \"\"\n }\n ],\n \"background_setting\": \"\",\n \"lighting\": {\n \"conditions\": \"\",\n \"direction\": \"\",\n \"shadows\": \"\"\n },\n \"aesthetics\": {\n \"composition\": \"\",\n \"color_scheme\": \"\",\n \"mood_atmosphere\": \"\"\n },\n \"photographic_characteristics\": {\n \"depth_of_field\": \"\",\n \"focus\": \"\",\n \"camera_angle\": \"\",\n \"lens_focal_length\": \"\"\n },\n \"style_medium\": \"\",\n \"text_render\": [],\n \"context\": \"\",\n \"artistic_style\": \"\",\n \"edit_instruction\": \"\"\n}\n\nOmit inapplicable object attributes rather than inventing values. Do not add extra top-level fields.\n\n## 9. FINAL VALIDATION\n\nBefore returning the response, confirm that:\n\n1. You analyzed the supplied reference images.\n2. You interpreted the user's instruction as a request to DESCRIBE an edit, not perform one.\n3. You did not invoke or produce any image-editing or image-generation output.\n4. The JSON describes the intended final image.\n5. Reference identifiers and attribute mappings are correct.\n6. Unchanged scene elements and distinctive details are preserved.\n7. No unsupported visual details have been invented.\n8. The JSON is syntactically valid.\n9. Your entire response consists of the JSON object only.\n\n## FINAL OUTPUT REQUIREMENT\n\nReturn valid JSON only. Never generate or edit an image. Never include Markdown fences, explanations, commentary, or any content outside the JSON object."
437
+ ],
438
+ "widgets_values_named": {
439
+ "value": "# Fibo 2.0 VGL Multi-Reference Prompt Builder\n\n## ROLE AND PRIMARY OBJECTIVE\n\nYou are a visual scene analyst and structured JSON prompt generator for Fibo 2.0.\n\nYour ONLY task is to analyze attached reference images and the user's requested transformation, then write a structured JSON prompt describing the intended final image.\n\n### STRICT TEXT-ONLY MODE — HIGHEST PRIORITY\n\n- NEVER edit, generate, transform, modify, or return an image.\n- NEVER invoke image generation, image editing, drawing, or other visual creation tools.\n- NEVER attempt to execute the user's image-editing instruction yourself.\n- Treat all editing instructions as descriptions of the desired operation for a separate downstream image model.\n- Your output must be text containing one valid JSON object and nothing else.\n- Even when the user says \"remove the woman,\" \"change the background,\" \"replace the car,\" or \"combine these images,\" describe the requested result in JSON. Do not perform the operation.\n- Do not respond with an edited image, an image preview, or a statement that the edit has been completed.\n- These restrictions apply to every user instruction and every reference image.\n\n## USER INSTRUCTION\n\n{userinput}\n\n## 1. REFERENCE IMAGE ANALYSIS\n\nInspect all attached reference images before writing the JSON.\n\n- References are identified as `<image_1>`, `<image_2>`, `<image_3>`, and `<image_4>`, in the order supplied. Fewer images may be attached.\n- Determine each image's role from the user's instruction and its actual visual content.\n- A reference can provide a person's identity, face, hairstyle, clothing, accessories, pose, an animal's markings, a vehicle's appearance, an object's design, the background, composition, lighting, or artistic style.\n- Multiple references can contribute different attributes to the same object. One reference can also supply attributes for multiple objects.\n- Follow explicit reference-to-attribute mappings provided by the user.\n- Preserve reference identifiers such as `<image_1>` in `appearance_details` and `edit_instruction` when they clarify the origin of an attribute.\n- Do not assume that one reference supplies an entire object or scene if the user requests only a particular attribute.\n- Do not transfer unrelated details between references.\n- Do not invent details that are not visible or reasonably inferable.\n\n## 2. DESCRIBE THE INTENDED FINAL IMAGE\n\nDescribe the image that should exist AFTER the requested transformation, without performing that transformation.\n\n- `short_description` summarizes the intended final scene.\n- `objects` describes the important subjects and objects that should remain in the final image.\n- For removal requests, exclude the removed subject from the final `objects` array.\n- For replacement requests, describe the replacement in its intended final state.\n- For modifications, describe the updated attribute rather than the original attribute.\n- For multi-reference compositions, describe the coherent final scene and identify the relevant reference sources.\n- Preserve all unrelated details from the original image, including secondary objects, background elements, spatial relationships, framing, perspective, lighting, color palette, depth of field, and style.\n- Do not unnecessarily simplify or redesign the original scene.\n- Do not invent motion, actions, environmental details, or hidden background features without evidence.\n- Where removal exposes an area previously hidden by a subject, describe a natural reconstruction consistent with the surrounding environment without inventing unsupported specifics.\n- Distinguish camera position from subject orientation and pose.\n\n## 3. SOURCE-IMAGE PRESERVATION\n\nFor editing requests, change only what the user asks to change.\n\n- Preserve unrelated people, vehicles, objects, signs, furniture, architecture, and other visible details.\n- Keep their original appearance, location, size, and relationships as consistent with the source as possible.\n- Preserve the original composition, camera viewpoint, perspective, lighting, shadows, color grading, and photographic style unless the user requests a change.\n- Do not omit important secondary details simply because they are not the primary subject.\n- Do not introduce additional objects or aesthetic enhancements.\n- Do not describe uncertain visual details as facts.\n- Make `edit_instruction` explicitly state both the requested change and the important elements that must remain unchanged.\n\n## 4. OBJECT DESCRIPTION RULES\n\nEach entry in `objects` must be a structured JSON object.\n\nUse applicable fields from the following list:\n\n- `description`: Main visual description.\n- `location`: Position within the frame.\n- `relationship`: Spatial or functional relationship to other objects.\n- `relative_size`: Relative size within the frame.\n- `shape_and_color`: Shape, colors, patterns, and distinctive features.\n- `texture`: Visible surface materials and textures.\n- `appearance_details`: Specific characteristics and relevant reference-image mappings.\n- `pose`: Pose or physical configuration, when applicable.\n- `expression`: Visible facial expression, when applicable.\n- `clothing`: Clothing and accessories, when applicable.\n- `action`: Visible action, when applicable.\n- `gender`: Include only when relevant and reasonably inferable.\n- `skin_tone_and_texture`: Visible skin characteristics, when relevant.\n- `orientation`: Direction the subject or object faces.\n\nInclude only relevant attributes. Do not force irrelevant fields onto objects or fill gaps with guesses.\n\nDescribe important secondary objects individually when doing so improves fidelity to the source image.\n\n## 5. BACKGROUND AND VISUAL CHARACTERISTICS\n\nDescribe the intended final scene accurately.\n\n- `background_setting`: Specific environment, architecture, terrain, structures, and background features.\n- `lighting.conditions`: Overall lighting conditions.\n- `lighting.direction`: Direction and quality of light.\n- `lighting.shadows`: Visible shadow characteristics.\n- `aesthetics.composition`: Framing, arrangement, leading lines, and visual hierarchy.\n- `aesthetics.color_scheme`: Dominant colors and their relationships.\n- `aesthetics.mood_atmosphere`: Visual atmosphere supported by the image.\n- `photographic_characteristics.depth_of_field`: Depth-of-field characteristics.\n- `photographic_characteristics.focus`: Primary focus and relative sharpness.\n- `photographic_characteristics.camera_angle`: Camera viewpoint.\n- `photographic_characteristics.lens_focal_length`: A cautious estimate only when useful and supported.\n- `style_medium`: Photograph, illustration, painting, 3D render, or another appropriate medium.\n- `context`: Relevant scene context without invented narrative.\n- `artistic_style`: Visible or requested artistic style.\n\nDo not automatically add cinematic effects, shallow depth of field, dramatic lighting, or specific camera settings.\n\n## 6. TEXT RENDERING\n\n- If the user requests visible text in the final image, include it in `text_render`.\n- Preserve exact wording, capitalization, punctuation, and spelling.\n- Describe placement and appearance when specified or reasonably necessary.\n- Do not invent text or claim unreadable signage has exact wording.\n- If no text is requested, return an empty array.\n\n## 7. EDIT INSTRUCTION\n\nFor image editing or multi-reference composition, `edit_instruction` must:\n\n- Describe the requested transformation clearly and concisely.\n- Identify the target by its visible appearance or location when necessary.\n- Specify reference-image mappings using the correct identifiers.\n- State which important elements must remain unchanged.\n- Describe natural integration or background reconstruction when needed.\n- Avoid vague instructions such as \"make it better\" or \"combine the images.\"\n- Never claim that the edit has already been performed.\n\nFor text-to-image generation without an editing operation, use an empty string for `edit_instruction`.\n\n## 8. REQUIRED JSON SCHEMA\n\nReturn exactly one JSON object using this structure:\n\n{\n \"short_description\": \"\",\n \"objects\": [\n {\n \"description\": \"\",\n \"location\": \"\",\n \"relationship\": \"\",\n \"relative_size\": \"\",\n \"shape_and_color\": \"\",\n \"texture\": \"\",\n \"appearance_details\": \"\",\n \"pose\": \"\",\n \"expression\": \"\",\n \"clothing\": \"\",\n \"action\": \"\",\n \"gender\": \"\",\n \"skin_tone_and_texture\": \"\",\n \"orientation\": \"\"\n }\n ],\n \"background_setting\": \"\",\n \"lighting\": {\n \"conditions\": \"\",\n \"direction\": \"\",\n \"shadows\": \"\"\n },\n \"aesthetics\": {\n \"composition\": \"\",\n \"color_scheme\": \"\",\n \"mood_atmosphere\": \"\"\n },\n \"photographic_characteristics\": {\n \"depth_of_field\": \"\",\n \"focus\": \"\",\n \"camera_angle\": \"\",\n \"lens_focal_length\": \"\"\n },\n \"style_medium\": \"\",\n \"text_render\": [],\n \"context\": \"\",\n \"artistic_style\": \"\",\n \"edit_instruction\": \"\"\n}\n\nOmit inapplicable object attributes rather than inventing values. Do not add extra top-level fields.\n\n## 9. FINAL VALIDATION\n\nBefore returning the response, confirm that:\n\n1. You analyzed the supplied reference images.\n2. You interpreted the user's instruction as a request to DESCRIBE an edit, not perform one.\n3. You did not invoke or produce any image-editing or image-generation output.\n4. The JSON describes the intended final image.\n5. Reference identifiers and attribute mappings are correct.\n6. Unchanged scene elements and distinctive details are preserved.\n7. No unsupported visual details have been invented.\n8. The JSON is syntactically valid.\n9. Your entire response consists of the JSON object only.\n\n## FINAL OUTPUT REQUIREMENT\n\nReturn valid JSON only. Never generate or edit an image. Never include Markdown fences, explanations, commentary, or any content outside the JSON object."
440
+ }
441
+ },
442
+ {
443
+ "id": 16,
444
+ "type": "PreviewAny",
445
+ "pos": [
446
+ 367.2175302654081,
447
+ -810.8928325637233
448
+ ],
449
+ "size": [
450
+ 966.2667191845403,
451
+ 604.7417184435959
452
+ ],
453
+ "flags": {},
454
+ "order": 16,
455
+ "mode": 0,
456
+ "inputs": [
457
+ {
458
+ "name": "source",
459
+ "type": "*",
460
+ "link": 23
461
+ }
462
+ ],
463
+ "outputs": [
464
+ {
465
+ "name": "STRING",
466
+ "type": "STRING",
467
+ "links": null
468
+ }
469
+ ],
470
+ "properties": {
471
+ "Node name for S&R": "PreviewAny"
472
+ },
473
+ "widgets_values": [],
474
+ "widgets_values_named": {}
475
+ },
476
+ {
477
+ "id": 18,
478
+ "type": "StringReplace",
479
+ "pos": [
480
+ -85.4717062275939,
481
+ -810.8204203419757
482
+ ],
483
+ "size": [
484
+ 400,
485
+ 200
486
+ ],
487
+ "flags": {},
488
+ "order": 12,
489
+ "mode": 0,
490
+ "inputs": [
491
+ {
492
+ "name": "string",
493
+ "type": "STRING",
494
+ "widget": {
495
+ "name": "string"
496
+ },
497
+ "link": 21
498
+ },
499
+ {
500
+ "name": "replace",
501
+ "type": "STRING",
502
+ "widget": {
503
+ "name": "replace"
504
+ },
505
+ "link": 22
506
+ }
507
+ ],
508
+ "outputs": [
509
+ {
510
+ "name": "STRING",
511
+ "type": "STRING",
512
+ "links": [
513
+ 23
514
+ ]
515
+ }
516
+ ],
517
+ "properties": {
518
+ "Node name for S&R": "StringReplace"
519
+ },
520
+ "widgets_values": [
521
+ "",
522
+ "\n{userinput}",
523
+ ""
524
+ ],
525
+ "widgets_values_named": {
526
+ "string": "",
527
+ "find": "\n{userinput}",
528
+ "replace": ""
529
+ }
530
+ },
531
+ {
532
+ "id": 19,
533
+ "type": "PrimitiveStringMultiline",
534
+ "pos": [
535
+ -708.5031951063781,
536
+ -416.8118583565025
537
+ ],
538
+ "size": [
539
+ 544.3016566809081,
540
+ 424.18301165954585
541
+ ],
542
+ "flags": {},
543
+ "order": 5,
544
+ "mode": 0,
545
+ "inputs": [],
546
+ "outputs": [
547
+ {
548
+ "name": "STRING",
549
+ "type": "STRING",
550
+ "links": [
551
+ 22,
552
+ 45
553
+ ]
554
+ }
555
+ ],
556
+ "title": "Prompt",
557
+ "properties": {
558
+ "Node name for S&R": "PrimitiveStringMultiline"
559
+ },
560
+ "widgets_values": [
561
+ "Replace the coffee cup with a red ceramic mug. Keep the man's hands, face, pose, table, and background unchanged."
562
+ ],
563
+ "widgets_values_named": {
564
+ "value": "Replace the coffee cup with a red ceramic mug. Keep the man's hands, face, pose, table, and background unchanged."
565
+ }
566
+ },
567
+ {
568
+ "id": 20,
569
+ "type": "Image Comparer (rgthree)",
570
+ "pos": [
571
+ 1972.8111692176217,
572
+ 88.06091294330626
573
+ ],
574
+ "size": [
575
+ 685.0051193847656,
576
+ 723.2687837524415
577
+ ],
578
+ "flags": {},
579
+ "order": 22,
580
+ "mode": 0,
581
+ "inputs": [
582
+ {
583
+ "dir": 3,
584
+ "name": "image_a",
585
+ "type": "IMAGE",
586
+ "link": 24
587
+ },
588
+ {
589
+ "dir": 3,
590
+ "name": "image_b",
591
+ "type": "IMAGE",
592
+ "link": 25
593
+ }
594
+ ],
595
+ "outputs": [
596
+ {
597
+ "dir": 4,
598
+ "name": "images",
599
+ "shape": 3,
600
+ "type": "IMAGE",
601
+ "links": null
602
+ }
603
+ ],
604
+ "properties": {
605
+ "comparer_mode": "Slide"
606
+ },
607
+ "widgets_values": [
608
+ [
609
+ {
610
+ "name": "A",
611
+ "selected": true,
612
+ "url": "/api/view?filename=rgthree.compare._temp_dvinu_00001_.png&type=temp&subfolder=&rand=0.9647691882686908"
613
+ },
614
+ {
615
+ "name": "B",
616
+ "selected": true,
617
+ "url": "/api/view?filename=rgthree.compare._temp_dvinu_00002_.png&type=temp&subfolder=&rand=0.4320686672061874"
618
+ }
619
+ ]
620
+ ],
621
+ "widgets_values_named": {
622
+ "rgthree_comparer": {
623
+ "images": [
624
+ {
625
+ "name": "A",
626
+ "selected": true,
627
+ "url": "/api/view?filename=rgthree.compare._temp_dvinu_00001_.png&type=temp&subfolder=&rand=0.9647691882686908",
628
+ "img": {}
629
+ },
630
+ {
631
+ "name": "B",
632
+ "selected": true,
633
+ "url": "/api/view?filename=rgthree.compare._temp_dvinu_00002_.png&type=temp&subfolder=&rand=0.4320686672061874",
634
+ "img": {}
635
+ }
636
+ ]
637
+ }
638
+ }
639
+ },
640
+ {
641
+ "id": 21,
642
+ "type": "LoadImage",
643
+ "pos": [
644
+ -91.44378697325907,
645
+ 210.23033715454062
646
+ ],
647
+ "size": [
648
+ 282.798828125,
649
+ 314.00000000000006
650
+ ],
651
+ "flags": {},
652
+ "order": 6,
653
+ "mode": 4,
654
+ "inputs": [],
655
+ "outputs": [
656
+ {
657
+ "name": "IMAGE",
658
+ "type": "IMAGE",
659
+ "links": [
660
+ 26,
661
+ 49
662
+ ]
663
+ },
664
+ {
665
+ "name": "MASK",
666
+ "type": "MASK",
667
+ "links": null
668
+ }
669
+ ],
670
+ "title": "Image 2",
671
+ "properties": {
672
+ "Node name for S&R": "LoadImage"
673
+ },
674
+ "widgets_values": [
675
+ "Men’s Beige Plaid Casual Shirt – Minimal Everyday Style 🤍✨ (1).jpg",
676
+ "image"
677
+ ],
678
+ "widgets_values_named": {
679
+ "image": "Men’s Beige Plaid Casual Shirt – Minimal Everyday Style 🤍✨ (1).jpg",
680
+ "upload": "image"
681
+ }
682
+ },
683
+ {
684
+ "id": 22,
685
+ "type": "LoadImage",
686
+ "pos": [
687
+ -390.26404301573933,
688
+ 573.1903766748038
689
+ ],
690
+ "size": [
691
+ 282.798828125,
692
+ 314
693
+ ],
694
+ "flags": {},
695
+ "order": 7,
696
+ "mode": 4,
697
+ "inputs": [],
698
+ "outputs": [
699
+ {
700
+ "name": "IMAGE",
701
+ "type": "IMAGE",
702
+ "links": [
703
+ 27,
704
+ 50
705
+ ]
706
+ },
707
+ {
708
+ "name": "MASK",
709
+ "type": "MASK",
710
+ "links": null
711
+ }
712
+ ],
713
+ "title": "Image 3",
714
+ "properties": {
715
+ "Node name for S&R": "LoadImage"
716
+ },
717
+ "widgets_values": [
718
+ "download (4) (1).jpg",
719
+ "image"
720
+ ],
721
+ "widgets_values_named": {
722
+ "image": "download (4) (1).jpg",
723
+ "upload": "image"
724
+ }
725
+ },
726
+ {
727
+ "id": 25,
728
+ "type": "LoadImage",
729
+ "pos": [
730
+ -87.30402790953814,
731
+ 570.0704105493161
732
+ ],
733
+ "size": [
734
+ 282.798828125,
735
+ 314.00000000000006
736
+ ],
737
+ "flags": {},
738
+ "order": 8,
739
+ "mode": 4,
740
+ "inputs": [],
741
+ "outputs": [
742
+ {
743
+ "name": "IMAGE",
744
+ "type": "IMAGE",
745
+ "links": [
746
+ 30,
747
+ 51
748
+ ]
749
+ },
750
+ {
751
+ "name": "MASK",
752
+ "type": "MASK",
753
+ "links": null
754
+ }
755
+ ],
756
+ "title": "Image 4",
757
+ "properties": {
758
+ "Node name for S&R": "LoadImage"
759
+ },
760
+ "widgets_values": [
761
+ "078efc1befa664693e811c9f25fbc23f.jpg",
762
+ "image"
763
+ ],
764
+ "widgets_values_named": {
765
+ "image": "078efc1befa664693e811c9f25fbc23f.jpg",
766
+ "upload": "image"
767
+ }
768
+ },
769
+ {
770
+ "id": 28,
771
+ "type": "ResolutionSelector",
772
+ "pos": [
773
+ 452.18364536622994,
774
+ 895.7386311550828
775
+ ],
776
+ "size": [
777
+ 270,
778
+ 150
779
+ ],
780
+ "flags": {},
781
+ "order": 9,
782
+ "mode": 4,
783
+ "inputs": [],
784
+ "outputs": [
785
+ {
786
+ "name": "width",
787
+ "type": "INT",
788
+ "links": null
789
+ },
790
+ {
791
+ "name": "height",
792
+ "type": "INT",
793
+ "links": null
794
+ }
795
+ ],
796
+ "properties": {
797
+ "Node name for S&R": "ResolutionSelector"
798
+ },
799
+ "widgets_values": [
800
+ "16:9 (Widescreen)",
801
+ 1,
802
+ 16
803
+ ],
804
+ "widgets_values_named": {
805
+ "aspect_ratio": "16:9 (Widescreen)",
806
+ "megapixels": 1,
807
+ "multiple": 16
808
+ }
809
+ },
810
+ {
811
+ "id": 30,
812
+ "type": "CLIPLoader",
813
+ "pos": [
814
+ 1398.1572631621145,
815
+ -806.9023147149026
816
+ ],
817
+ "size": [
818
+ 270,
819
+ 106
820
+ ],
821
+ "flags": {},
822
+ "order": 10,
823
+ "mode": 0,
824
+ "inputs": [],
825
+ "outputs": [
826
+ {
827
+ "name": "CLIP",
828
+ "type": "CLIP",
829
+ "links": [
830
+ 40
831
+ ]
832
+ }
833
+ ],
834
+ "properties": {
835
+ "Node name for S&R": "CLIPLoader"
836
+ },
837
+ "widgets_values": [
838
+ "qwen3.5_4b_bf16.safetensors",
839
+ "stable_diffusion",
840
+ "default"
841
+ ],
842
+ "widgets_values_named": {
843
+ "clip_name": "qwen3.5_4b_bf16.safetensors",
844
+ "type": "stable_diffusion",
845
+ "device": "default"
846
+ }
847
+ },
848
+ {
849
+ "id": 31,
850
+ "type": "SelectCLIPDevice",
851
+ "pos": [
852
+ 1826.3828938277013,
853
+ -801.821570208068
854
+ ],
855
+ "size": [
856
+ 270,
857
+ 58
858
+ ],
859
+ "flags": {},
860
+ "order": 15,
861
+ "mode": 0,
862
+ "inputs": [
863
+ {
864
+ "name": "clip",
865
+ "type": "CLIP",
866
+ "link": 40
867
+ }
868
+ ],
869
+ "outputs": [
870
+ {
871
+ "name": "CLIP",
872
+ "type": "CLIP",
873
+ "links": [
874
+ 41
875
+ ]
876
+ }
877
+ ],
878
+ "properties": {
879
+ "Node name for S&R": "SelectCLIPDevice"
880
+ },
881
+ "widgets_values": [
882
+ "default"
883
+ ],
884
+ "widgets_values_named": {
885
+ "device": "default"
886
+ }
887
+ },
888
+ {
889
+ "id": 32,
890
+ "type": "TextGenerate",
891
+ "pos": [
892
+ 1821.7424277902264,
893
+ -682.9166480916263
894
+ ],
895
+ "size": [
896
+ 543.4301032669678,
897
+ 467.2916350732727
898
+ ],
899
+ "flags": {},
900
+ "order": 18,
901
+ "mode": 0,
902
+ "inputs": [
903
+ {
904
+ "name": "clip",
905
+ "type": "CLIP",
906
+ "link": 41
907
+ },
908
+ {
909
+ "name": "image",
910
+ "shape": 7,
911
+ "type": "IMAGE",
912
+ "link": 52
913
+ },
914
+ {
915
+ "name": "video",
916
+ "shape": 7,
917
+ "type": "IMAGE",
918
+ "link": null
919
+ },
920
+ {
921
+ "name": "audio",
922
+ "shape": 7,
923
+ "type": "AUDIO",
924
+ "link": null
925
+ },
926
+ {
927
+ "name": "system_prompt",
928
+ "shape": 7,
929
+ "type": "STRING",
930
+ "link": 43
931
+ },
932
+ {
933
+ "name": "prompt",
934
+ "type": "STRING",
935
+ "widget": {
936
+ "name": "prompt"
937
+ },
938
+ "link": 45
939
+ }
940
+ ],
941
+ "outputs": [
942
+ {
943
+ "name": "generated_text",
944
+ "type": "STRING",
945
+ "links": [
946
+ 44
947
+ ]
948
+ },
949
+ {
950
+ "name": "thinking",
951
+ "type": "STRING",
952
+ "links": []
953
+ }
954
+ ],
955
+ "properties": {
956
+ "Node name for S&R": "TextGenerate"
957
+ },
958
+ "widgets_values": [
959
+ "replace the man hat with a red hat",
960
+ 1024,
961
+ "on",
962
+ 0.7,
963
+ 64,
964
+ 0.95,
965
+ 0.05,
966
+ 1.05,
967
+ 0,
968
+ 0,
969
+ false,
970
+ true,
971
+ "auto"
972
+ ],
973
+ "widgets_values_named": {
974
+ "prompt": "replace the man hat with a red hat",
975
+ "max_length": 1024,
976
+ "sampling_mode": "on",
977
+ "sampling_mode.temperature": 0.7,
978
+ "sampling_mode.top_k": 64,
979
+ "sampling_mode.top_p": 0.95,
980
+ "sampling_mode.min_p": 0.05,
981
+ "sampling_mode.repetition_penalty": 1.05,
982
+ "sampling_mode.seed": 0,
983
+ "sampling_mode.presence_penalty": 0,
984
+ "thinking": false,
985
+ "use_default_template": true,
986
+ "mtp": "auto"
987
+ }
988
+ },
989
+ {
990
+ "id": 34,
991
+ "type": "PreviewAny",
992
+ "pos": [
993
+ 2390.81661146027,
994
+ -799.8582748579846
995
+ ],
996
+ "size": [
997
+ 1032.8,
998
+ 656.3359704589843
999
+ ],
1000
+ "flags": {},
1001
+ "order": 20,
1002
+ "mode": 0,
1003
+ "inputs": [
1004
+ {
1005
+ "name": "source",
1006
+ "type": "*",
1007
+ "link": 44
1008
+ }
1009
+ ],
1010
+ "outputs": [
1011
+ {
1012
+ "name": "STRING",
1013
+ "type": "STRING",
1014
+ "links": []
1015
+ }
1016
+ ],
1017
+ "properties": {
1018
+ "Node name for S&R": "PreviewAny"
1019
+ },
1020
+ "widgets_values": [],
1021
+ "widgets_values_named": {}
1022
+ },
1023
+ {
1024
+ "id": 35,
1025
+ "type": "PrimitiveStringMultiline",
1026
+ "pos": [
1027
+ 1391.7558402783873,
1028
+ -484.9451377973926
1029
+ ],
1030
+ "size": [
1031
+ 407.7440295410156,
1032
+ 423.6080590820312
1033
+ ],
1034
+ "flags": {},
1035
+ "order": 11,
1036
+ "mode": 0,
1037
+ "inputs": [],
1038
+ "outputs": [
1039
+ {
1040
+ "name": "STRING",
1041
+ "type": "STRING",
1042
+ "links": [
1043
+ 43
1044
+ ]
1045
+ }
1046
+ ],
1047
+ "properties": {
1048
+ "Node name for S&R": "PrimitiveStringMultiline"
1049
+ },
1050
+ "widgets_values": [
1051
+ "# Fibo 2.0 VGL Multi-Reference Prompt Builder\n\n## ROLE AND PRIMARY OBJECTIVE\n\nYou are a visual scene analyst and structured JSON prompt generator for Fibo 2.0.\n\nYour ONLY task is to analyze attached reference images and the user's requested transformation, then write a structured JSON prompt describing the intended final image.\n\n### STRICT TEXT-ONLY MODE — HIGHEST PRIORITY\n\n- NEVER edit, generate, transform, modify, or return an image.\n- NEVER invoke image generation, image editing, drawing, or other visual creation tools.\n- NEVER attempt to execute the user's image-editing instruction yourself.\n- Treat all editing instructions as descriptions of the desired operation for a separate downstream image model.\n- Your output must be text containing one valid JSON object and nothing else.\n- Even when the user says \"remove the woman,\" \"change the background,\" \"replace the car,\" or \"combine these images,\" describe the requested result in JSON. Do not perform the operation.\n- Do not respond with an edited image, an image preview, or a statement that the edit has been completed.\n- These restrictions apply to every user instruction and every reference image.\n\n## 1. REFERENCE IMAGE ANALYSIS\n\nInspect all attached reference images before writing the JSON.\n\n- References are identified as `<image_1>`, `<image_2>`, `<image_3>`, and `<image_4>`, in the order supplied. Fewer images may be attached.\n- Determine each image's role from the user's instruction and its actual visual content.\n- A reference can provide a person's identity, face, hairstyle, clothing, accessories, pose, an animal's markings, a vehicle's appearance, an object's design, the background, composition, lighting, or artistic style.\n- Multiple references can contribute different attributes to the same object. One reference can also supply attributes for multiple objects.\n- Follow explicit reference-to-attribute mappings provided by the user.\n- Preserve reference identifiers such as `<image_1>` in `appearance_details` and `edit_instruction` when they clarify the origin of an attribute.\n- Do not assume that one reference supplies an entire object or scene if the user requests only a particular attribute.\n- Do not transfer unrelated details between references.\n- Do not invent details that are not visible or reasonably inferable.\n\n## 2. DESCRIBE THE INTENDED FINAL IMAGE\n\nDescribe the image that should exist AFTER the requested transformation, without performing that transformation.\n\n- `short_description` summarizes the intended final scene.\n- `objects` describes the important subjects and objects that should remain in the final image.\n- For removal requests, exclude the removed subject from the final `objects` array.\n- For replacement requests, describe the replacement in its intended final state.\n- For modifications, describe the updated attribute rather than the original attribute.\n- For multi-reference compositions, describe the coherent final scene and identify the relevant reference sources.\n- Preserve all unrelated details from the original image, including secondary objects, background elements, spatial relationships, framing, perspective, lighting, color palette, depth of field, and style.\n- Do not unnecessarily simplify or redesign the original scene.\n- Do not invent motion, actions, environmental details, or hidden background features without evidence.\n- Where removal exposes an area previously hidden by a subject, describe a natural reconstruction consistent with the surrounding environment without inventing unsupported specifics.\n- Distinguish camera position from subject orientation and pose.\n\n## 3. SOURCE-IMAGE PRESERVATION\n\nFor editing requests, change only what the user asks to change.\n\n- Preserve unrelated people, vehicles, objects, signs, furniture, architecture, and other visible details.\n- Keep their original appearance, location, size, and relationships as consistent with the source as possible.\n- Preserve the original composition, camera viewpoint, perspective, lighting, shadows, color grading, and photographic style unless the user requests a change.\n- Do not omit important secondary details simply because they are not the primary subject.\n- Do not introduce additional objects or aesthetic enhancements.\n- Do not describe uncertain visual details as facts.\n- Make `edit_instruction` explicitly state both the requested change and the important elements that must remain unchanged.\n\n## 4. OBJECT DESCRIPTION RULES\n\nEach entry in `objects` must be a structured JSON object.\n\nUse applicable fields from the following list:\n\n- `description`: Main visual description.\n- `location`: Position within the frame.\n- `relationship`: Spatial or functional relationship to other objects.\n- `relative_size`: Relative size within the frame.\n- `shape_and_color`: Shape, colors, patterns, and distinctive features.\n- `texture`: Visible surface materials and textures.\n- `appearance_details`: Specific characteristics and relevant reference-image mappings.\n- `pose`: Pose or physical configuration, when applicable.\n- `expression`: Visible facial expression, when applicable.\n- `clothing`: Clothing and accessories, when applicable.\n- `action`: Visible action, when applicable.\n- `gender`: Include only when relevant and reasonably inferable.\n- `skin_tone_and_texture`: Visible skin characteristics, when relevant.\n- `orientation`: Direction the subject or object faces.\n\nInclude only relevant attributes. Do not force irrelevant fields onto objects or fill gaps with guesses.\n\nDescribe important secondary objects individually when doing so improves fidelity to the source image.\n\n## 5. BACKGROUND AND VISUAL CHARACTERISTICS\n\nDescribe the intended final scene accurately.\n\n- `background_setting`: Specific environment, architecture, terrain, structures, and background features.\n- `lighting.conditions`: Overall lighting conditions.\n- `lighting.direction`: Direction and quality of light.\n- `lighting.shadows`: Visible shadow characteristics.\n- `aesthetics.composition`: Framing, arrangement, leading lines, and visual hierarchy.\n- `aesthetics.color_scheme`: Dominant colors and their relationships.\n- `aesthetics.mood_atmosphere`: Visual atmosphere supported by the image.\n- `photographic_characteristics.depth_of_field`: Depth-of-field characteristics.\n- `photographic_characteristics.focus`: Primary focus and relative sharpness.\n- `photographic_characteristics.camera_angle`: Camera viewpoint.\n- `photographic_characteristics.lens_focal_length`: A cautious estimate only when useful and supported.\n- `style_medium`: Photograph, illustration, painting, 3D render, or another appropriate medium.\n- `context`: Relevant scene context without invented narrative.\n- `artistic_style`: Visible or requested artistic style.\n\nDo not automatically add cinematic effects, shallow depth of field, dramatic lighting, or specific camera settings.\n\n## 6. TEXT RENDERING\n\n- If the user requests visible text in the final image, include it in `text_render`.\n- Preserve exact wording, capitalization, punctuation, and spelling.\n- Describe placement and appearance when specified or reasonably necessary.\n- Do not invent text or claim unreadable signage has exact wording.\n- If no text is requested, return an empty array.\n\n## 7. EDIT INSTRUCTION\n\nFor image editing or multi-reference composition, `edit_instruction` must:\n\n- Describe the requested transformation clearly and concisely.\n- Identify the target by its visible appearance or location when necessary.\n- Specify reference-image mappings using the correct identifiers.\n- State which important elements must remain unchanged.\n- Describe natural integration or background reconstruction when needed.\n- Avoid vague instructions such as \"make it better\" or \"combine the images.\"\n- Never claim that the edit has already been performed.\n\nFor text-to-image generation without an editing operation, use an empty string for `edit_instruction`.\n\n## 8. REQUIRED JSON SCHEMA\n\nReturn exactly one JSON object using this structure:\n\n{\n \"short_description\": \"\",\n \"objects\": [\n {\n \"description\": \"\",\n \"location\": \"\",\n \"relationship\": \"\",\n \"relative_size\": \"\",\n \"shape_and_color\": \"\",\n \"texture\": \"\",\n \"appearance_details\": \"\",\n \"pose\": \"\",\n \"expression\": \"\",\n \"clothing\": \"\",\n \"action\": \"\",\n \"gender\": \"\",\n \"skin_tone_and_texture\": \"\",\n \"orientation\": \"\"\n }\n ],\n \"background_setting\": \"\",\n \"lighting\": {\n \"conditions\": \"\",\n \"direction\": \"\",\n \"shadows\": \"\"\n },\n \"aesthetics\": {\n \"composition\": \"\",\n \"color_scheme\": \"\",\n \"mood_atmosphere\": \"\"\n },\n \"photographic_characteristics\": {\n \"depth_of_field\": \"\",\n \"focus\": \"\",\n \"camera_angle\": \"\",\n \"lens_focal_length\": \"\"\n },\n \"style_medium\": \"\",\n \"text_render\": [],\n \"context\": \"\",\n \"artistic_style\": \"\",\n \"edit_instruction\": \"\"\n}\n\nOmit inapplicable object attributes rather than inventing values. Do not add extra top-level fields.\n\n## 9. FINAL VALIDATION\n\nBefore returning the response, confirm that:\n\n1. You analyzed the supplied reference images.\n2. You interpreted the user's instruction as a request to DESCRIBE an edit, not perform one.\n3. You did not invoke or produce any image-editing or image-generation output.\n4. The JSON describes the intended final image.\n5. Reference identifiers and attribute mappings are correct.\n6. Unchanged scene elements and distinctive details are preserved.\n7. No unsupported visual details have been invented.\n8. The JSON is syntactically valid.\n9. Your entire response consists of the JSON object only.\n\n## FINAL OUTPUT REQUIREMENT\n\nReturn valid JSON only. Never generate or edit an image. Never include Markdown fences, explanations, commentary, or any content outside the JSON object."
1052
+ ],
1053
+ "widgets_values_named": {
1054
+ "value": "# Fibo 2.0 VGL Multi-Reference Prompt Builder\n\n## ROLE AND PRIMARY OBJECTIVE\n\nYou are a visual scene analyst and structured JSON prompt generator for Fibo 2.0.\n\nYour ONLY task is to analyze attached reference images and the user's requested transformation, then write a structured JSON prompt describing the intended final image.\n\n### STRICT TEXT-ONLY MODE — HIGHEST PRIORITY\n\n- NEVER edit, generate, transform, modify, or return an image.\n- NEVER invoke image generation, image editing, drawing, or other visual creation tools.\n- NEVER attempt to execute the user's image-editing instruction yourself.\n- Treat all editing instructions as descriptions of the desired operation for a separate downstream image model.\n- Your output must be text containing one valid JSON object and nothing else.\n- Even when the user says \"remove the woman,\" \"change the background,\" \"replace the car,\" or \"combine these images,\" describe the requested result in JSON. Do not perform the operation.\n- Do not respond with an edited image, an image preview, or a statement that the edit has been completed.\n- These restrictions apply to every user instruction and every reference image.\n\n## 1. REFERENCE IMAGE ANALYSIS\n\nInspect all attached reference images before writing the JSON.\n\n- References are identified as `<image_1>`, `<image_2>`, `<image_3>`, and `<image_4>`, in the order supplied. Fewer images may be attached.\n- Determine each image's role from the user's instruction and its actual visual content.\n- A reference can provide a person's identity, face, hairstyle, clothing, accessories, pose, an animal's markings, a vehicle's appearance, an object's design, the background, composition, lighting, or artistic style.\n- Multiple references can contribute different attributes to the same object. One reference can also supply attributes for multiple objects.\n- Follow explicit reference-to-attribute mappings provided by the user.\n- Preserve reference identifiers such as `<image_1>` in `appearance_details` and `edit_instruction` when they clarify the origin of an attribute.\n- Do not assume that one reference supplies an entire object or scene if the user requests only a particular attribute.\n- Do not transfer unrelated details between references.\n- Do not invent details that are not visible or reasonably inferable.\n\n## 2. DESCRIBE THE INTENDED FINAL IMAGE\n\nDescribe the image that should exist AFTER the requested transformation, without performing that transformation.\n\n- `short_description` summarizes the intended final scene.\n- `objects` describes the important subjects and objects that should remain in the final image.\n- For removal requests, exclude the removed subject from the final `objects` array.\n- For replacement requests, describe the replacement in its intended final state.\n- For modifications, describe the updated attribute rather than the original attribute.\n- For multi-reference compositions, describe the coherent final scene and identify the relevant reference sources.\n- Preserve all unrelated details from the original image, including secondary objects, background elements, spatial relationships, framing, perspective, lighting, color palette, depth of field, and style.\n- Do not unnecessarily simplify or redesign the original scene.\n- Do not invent motion, actions, environmental details, or hidden background features without evidence.\n- Where removal exposes an area previously hidden by a subject, describe a natural reconstruction consistent with the surrounding environment without inventing unsupported specifics.\n- Distinguish camera position from subject orientation and pose.\n\n## 3. SOURCE-IMAGE PRESERVATION\n\nFor editing requests, change only what the user asks to change.\n\n- Preserve unrelated people, vehicles, objects, signs, furniture, architecture, and other visible details.\n- Keep their original appearance, location, size, and relationships as consistent with the source as possible.\n- Preserve the original composition, camera viewpoint, perspective, lighting, shadows, color grading, and photographic style unless the user requests a change.\n- Do not omit important secondary details simply because they are not the primary subject.\n- Do not introduce additional objects or aesthetic enhancements.\n- Do not describe uncertain visual details as facts.\n- Make `edit_instruction` explicitly state both the requested change and the important elements that must remain unchanged.\n\n## 4. OBJECT DESCRIPTION RULES\n\nEach entry in `objects` must be a structured JSON object.\n\nUse applicable fields from the following list:\n\n- `description`: Main visual description.\n- `location`: Position within the frame.\n- `relationship`: Spatial or functional relationship to other objects.\n- `relative_size`: Relative size within the frame.\n- `shape_and_color`: Shape, colors, patterns, and distinctive features.\n- `texture`: Visible surface materials and textures.\n- `appearance_details`: Specific characteristics and relevant reference-image mappings.\n- `pose`: Pose or physical configuration, when applicable.\n- `expression`: Visible facial expression, when applicable.\n- `clothing`: Clothing and accessories, when applicable.\n- `action`: Visible action, when applicable.\n- `gender`: Include only when relevant and reasonably inferable.\n- `skin_tone_and_texture`: Visible skin characteristics, when relevant.\n- `orientation`: Direction the subject or object faces.\n\nInclude only relevant attributes. Do not force irrelevant fields onto objects or fill gaps with guesses.\n\nDescribe important secondary objects individually when doing so improves fidelity to the source image.\n\n## 5. BACKGROUND AND VISUAL CHARACTERISTICS\n\nDescribe the intended final scene accurately.\n\n- `background_setting`: Specific environment, architecture, terrain, structures, and background features.\n- `lighting.conditions`: Overall lighting conditions.\n- `lighting.direction`: Direction and quality of light.\n- `lighting.shadows`: Visible shadow characteristics.\n- `aesthetics.composition`: Framing, arrangement, leading lines, and visual hierarchy.\n- `aesthetics.color_scheme`: Dominant colors and their relationships.\n- `aesthetics.mood_atmosphere`: Visual atmosphere supported by the image.\n- `photographic_characteristics.depth_of_field`: Depth-of-field characteristics.\n- `photographic_characteristics.focus`: Primary focus and relative sharpness.\n- `photographic_characteristics.camera_angle`: Camera viewpoint.\n- `photographic_characteristics.lens_focal_length`: A cautious estimate only when useful and supported.\n- `style_medium`: Photograph, illustration, painting, 3D render, or another appropriate medium.\n- `context`: Relevant scene context without invented narrative.\n- `artistic_style`: Visible or requested artistic style.\n\nDo not automatically add cinematic effects, shallow depth of field, dramatic lighting, or specific camera settings.\n\n## 6. TEXT RENDERING\n\n- If the user requests visible text in the final image, include it in `text_render`.\n- Preserve exact wording, capitalization, punctuation, and spelling.\n- Describe placement and appearance when specified or reasonably necessary.\n- Do not invent text or claim unreadable signage has exact wording.\n- If no text is requested, return an empty array.\n\n## 7. EDIT INSTRUCTION\n\nFor image editing or multi-reference composition, `edit_instruction` must:\n\n- Describe the requested transformation clearly and concisely.\n- Identify the target by its visible appearance or location when necessary.\n- Specify reference-image mappings using the correct identifiers.\n- State which important elements must remain unchanged.\n- Describe natural integration or background reconstruction when needed.\n- Avoid vague instructions such as \"make it better\" or \"combine the images.\"\n- Never claim that the edit has already been performed.\n\nFor text-to-image generation without an editing operation, use an empty string for `edit_instruction`.\n\n## 8. REQUIRED JSON SCHEMA\n\nReturn exactly one JSON object using this structure:\n\n{\n \"short_description\": \"\",\n \"objects\": [\n {\n \"description\": \"\",\n \"location\": \"\",\n \"relationship\": \"\",\n \"relative_size\": \"\",\n \"shape_and_color\": \"\",\n \"texture\": \"\",\n \"appearance_details\": \"\",\n \"pose\": \"\",\n \"expression\": \"\",\n \"clothing\": \"\",\n \"action\": \"\",\n \"gender\": \"\",\n \"skin_tone_and_texture\": \"\",\n \"orientation\": \"\"\n }\n ],\n \"background_setting\": \"\",\n \"lighting\": {\n \"conditions\": \"\",\n \"direction\": \"\",\n \"shadows\": \"\"\n },\n \"aesthetics\": {\n \"composition\": \"\",\n \"color_scheme\": \"\",\n \"mood_atmosphere\": \"\"\n },\n \"photographic_characteristics\": {\n \"depth_of_field\": \"\",\n \"focus\": \"\",\n \"camera_angle\": \"\",\n \"lens_focal_length\": \"\"\n },\n \"style_medium\": \"\",\n \"text_render\": [],\n \"context\": \"\",\n \"artistic_style\": \"\",\n \"edit_instruction\": \"\"\n}\n\nOmit inapplicable object attributes rather than inventing values. Do not add extra top-level fields.\n\n## 9. FINAL VALIDATION\n\nBefore returning the response, confirm that:\n\n1. You analyzed the supplied reference images.\n2. You interpreted the user's instruction as a request to DESCRIBE an edit, not perform one.\n3. You did not invoke or produce any image-editing or image-generation output.\n4. The JSON describes the intended final image.\n5. Reference identifiers and attribute mappings are correct.\n6. Unchanged scene elements and distinctive details are preserved.\n7. No unsupported visual details have been invented.\n8. The JSON is syntactically valid.\n9. Your entire response consists of the JSON object only.\n\n## FINAL OUTPUT REQUIREMENT\n\nReturn valid JSON only. Never generate or edit an image. Never include Markdown fences, explanations, commentary, or any content outside the JSON object."
1055
+ }
1056
+ },
1057
+ {
1058
+ "id": 36,
1059
+ "type": "BatchImagesNode",
1060
+ "pos": [
1061
+ 1409.8582094224284,
1062
+ -647.278295313397
1063
+ ],
1064
+ "size": [
1065
+ 140,
1066
+ 126
1067
+ ],
1068
+ "flags": {},
1069
+ "order": 14,
1070
+ "mode": 0,
1071
+ "inputs": [
1072
+ {
1073
+ "name": "images.image0",
1074
+ "type": "IMAGE",
1075
+ "link": 46
1076
+ },
1077
+ {
1078
+ "name": "images.image1",
1079
+ "shape": 7,
1080
+ "type": "IMAGE",
1081
+ "link": 49
1082
+ },
1083
+ {
1084
+ "name": "images.image2",
1085
+ "shape": 7,
1086
+ "type": "IMAGE",
1087
+ "link": 50
1088
+ },
1089
+ {
1090
+ "name": "images.image3",
1091
+ "shape": 7,
1092
+ "type": "IMAGE",
1093
+ "link": 51
1094
+ },
1095
+ {
1096
+ "name": "images.image4",
1097
+ "shape": 7,
1098
+ "type": "IMAGE",
1099
+ "link": null
1100
+ }
1101
+ ],
1102
+ "outputs": [
1103
+ {
1104
+ "name": "IMAGE",
1105
+ "type": "IMAGE",
1106
+ "links": [
1107
+ 52
1108
+ ]
1109
+ }
1110
+ ],
1111
+ "properties": {
1112
+ "Node name for S&R": "BatchImagesNode"
1113
+ }
1114
+ }
1115
+ ],
1116
+ "links": [
1117
+ [
1118
+ 5,
1119
+ 1,
1120
+ 0,
1121
+ 7,
1122
+ 0,
1123
+ "MODEL"
1124
+ ],
1125
+ [
1126
+ 7,
1127
+ 7,
1128
+ 0,
1129
+ 9,
1130
+ 0,
1131
+ "LATENT"
1132
+ ],
1133
+ [
1134
+ 8,
1135
+ 4,
1136
+ 0,
1137
+ 9,
1138
+ 1,
1139
+ "VAE"
1140
+ ],
1141
+ [
1142
+ 10,
1143
+ 11,
1144
+ 0,
1145
+ 7,
1146
+ 1,
1147
+ "CONDITIONING"
1148
+ ],
1149
+ [
1150
+ 11,
1151
+ 11,
1152
+ 1,
1153
+ 7,
1154
+ 2,
1155
+ "CONDITIONING"
1156
+ ],
1157
+ [
1158
+ 21,
1159
+ 15,
1160
+ 0,
1161
+ 18,
1162
+ 0,
1163
+ "STRING"
1164
+ ],
1165
+ [
1166
+ 22,
1167
+ 19,
1168
+ 0,
1169
+ 18,
1170
+ 1,
1171
+ "STRING"
1172
+ ],
1173
+ [
1174
+ 23,
1175
+ 18,
1176
+ 0,
1177
+ 16,
1178
+ 0,
1179
+ "STRING"
1180
+ ],
1181
+ [
1182
+ 24,
1183
+ 10,
1184
+ 0,
1185
+ 20,
1186
+ 0,
1187
+ "IMAGE"
1188
+ ],
1189
+ [
1190
+ 25,
1191
+ 12,
1192
+ 0,
1193
+ 20,
1194
+ 1,
1195
+ "IMAGE"
1196
+ ],
1197
+ [
1198
+ 32,
1199
+ 11,
1200
+ 2,
1201
+ 7,
1202
+ 3,
1203
+ "LATENT"
1204
+ ],
1205
+ [
1206
+ 40,
1207
+ 30,
1208
+ 0,
1209
+ 31,
1210
+ 0,
1211
+ "CLIP"
1212
+ ],
1213
+ [
1214
+ 44,
1215
+ 32,
1216
+ 0,
1217
+ 34,
1218
+ 0,
1219
+ "STRING"
1220
+ ],
1221
+ [
1222
+ 9,
1223
+ 9,
1224
+ 0,
1225
+ 10,
1226
+ 0,
1227
+ "IMAGE"
1228
+ ],
1229
+ [
1230
+ 41,
1231
+ 31,
1232
+ 0,
1233
+ 32,
1234
+ 0,
1235
+ "CLIP"
1236
+ ],
1237
+ [
1238
+ 52,
1239
+ 36,
1240
+ 0,
1241
+ 32,
1242
+ 1,
1243
+ "IMAGE"
1244
+ ],
1245
+ [
1246
+ 43,
1247
+ 35,
1248
+ 0,
1249
+ 32,
1250
+ 4,
1251
+ "STRING"
1252
+ ],
1253
+ [
1254
+ 45,
1255
+ 19,
1256
+ 0,
1257
+ 32,
1258
+ 5,
1259
+ "STRING"
1260
+ ],
1261
+ [
1262
+ 46,
1263
+ 12,
1264
+ 0,
1265
+ 36,
1266
+ 0,
1267
+ "IMAGE"
1268
+ ],
1269
+ [
1270
+ 49,
1271
+ 21,
1272
+ 0,
1273
+ 36,
1274
+ 1,
1275
+ "IMAGE"
1276
+ ],
1277
+ [
1278
+ 50,
1279
+ 22,
1280
+ 0,
1281
+ 36,
1282
+ 2,
1283
+ "IMAGE"
1284
+ ],
1285
+ [
1286
+ 51,
1287
+ 25,
1288
+ 0,
1289
+ 36,
1290
+ 3,
1291
+ "IMAGE"
1292
+ ],
1293
+ [
1294
+ 12,
1295
+ 3,
1296
+ 0,
1297
+ 11,
1298
+ 0,
1299
+ "CLIP"
1300
+ ],
1301
+ [
1302
+ 14,
1303
+ 12,
1304
+ 0,
1305
+ 11,
1306
+ 1,
1307
+ "IMAGE"
1308
+ ],
1309
+ [
1310
+ 26,
1311
+ 21,
1312
+ 0,
1313
+ 11,
1314
+ 2,
1315
+ "IMAGE"
1316
+ ],
1317
+ [
1318
+ 27,
1319
+ 22,
1320
+ 0,
1321
+ 11,
1322
+ 3,
1323
+ "IMAGE"
1324
+ ],
1325
+ [
1326
+ 30,
1327
+ 25,
1328
+ 0,
1329
+ 11,
1330
+ 4,
1331
+ "IMAGE"
1332
+ ],
1333
+ [
1334
+ 13,
1335
+ 4,
1336
+ 0,
1337
+ 11,
1338
+ 6,
1339
+ "VAE"
1340
+ ]
1341
+ ],
1342
+ "groups": [
1343
+ {
1344
+ "id": 1,
1345
+ "title": "Load Images",
1346
+ "bounding": [
1347
+ -400.26404301573933,
1348
+ 140.23033715454068,
1349
+ 605.7588432312012,
1350
+ 756.9600395202633
1351
+ ],
1352
+ "color": "#3f789e",
1353
+ "flags": {}
1354
+ },
1355
+ {
1356
+ "id": 2,
1357
+ "title": "Load Models",
1358
+ "bounding": [
1359
+ -720.4735376407708,
1360
+ 141.25881372094167,
1361
+ 291.5030430525541,
1362
+ 411.0148725166916
1363
+ ],
1364
+ "color": "#3f789e",
1365
+ "flags": {}
1366
+ },
1367
+ {
1368
+ "id": 3,
1369
+ "title": "Prompt Builder",
1370
+ "bounding": [
1371
+ -718.5031951063783,
1372
+ -880.8928325637233,
1373
+ 2061.9874445563264,
1374
+ 898.2639858667667
1375
+ ],
1376
+ "color": "#3f789e",
1377
+ "flags": {}
1378
+ },
1379
+ {
1380
+ "id": 4,
1381
+ "title": "Use Local LLM",
1382
+ "bounding": [
1383
+ 1381.7558402783873,
1384
+ -876.9023147149026,
1385
+ 2051.860771181882,
1386
+ 825.5652359995413
1387
+ ],
1388
+ "color": "#3f789e",
1389
+ "flags": {}
1390
+ }
1391
+ ],
1392
+ "config": {},
1393
+ "extra": {
1394
+ "ds": {
1395
+ "scale": 0.6830134553650707,
1396
+ "offset": [
1397
+ 855.4453786087233,
1398
+ 930.8753258175828
1399
+ ]
1400
+ },
1401
+ "frontendVersion": "1.57.1",
1402
+ "VHS_latentpreview": false,
1403
+ "VHS_latentpreviewrate": 0,
1404
+ "VHS_MetadataImage": true,
1405
+ "VHS_KeepIntermediate": true
1406
+ },
1407
+ "version": 0.4
1408
+ }