Files
if@impactframes.ai 7a1f12efaf fix(gemini): Refine image generation logic and config handling
Resolved an issue where Gemini API would not return images in 'generate' mode when an input image was present. The logic now only passes images in 'edit' or 'variation' modes. Fixed a bug where the ResolutionSelector's 'size' output was being overridden by a default 'aspect_ratio' in the Gemini config node. Updated presets and example workflows to align with these changes.
2025-09-06 11:11:37 +01:00

973 lines
17 KiB
JSON

{
"id": "a277eea5-14e2-4695-8172-2182587aaac4",
"revision": 0,
"last_node_id": 149,
"last_link_id": 225,
"nodes": [
{
"id": 89,
"type": "LoadImage",
"pos": [
3276.79150390625,
-835.3958740234375
],
"size": [
274.080078125,
314
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
128
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage",
"cnr_id": "comfy-core",
"ver": "0.3.43"
},
"widgets_values": [
"comfydeploy_FAST_kontext_raw__00001_.png",
"image"
]
},
{
"id": 88,
"type": "ImageResizeKJv2",
"pos": [
3584.998779296875,
-837.769287109375
],
"size": [
270,
286
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 128
},
{
"name": "mask",
"shape": 7,
"type": "MASK",
"link": null
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 129
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 130
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
144
]
},
{
"name": "width",
"type": "INT",
"links": null
},
{
"name": "height",
"type": "INT",
"links": null
},
{
"name": "mask",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "ImageResizeKJv2",
"cnr_id": "comfyui-kjnodes",
"ver": "f9118e0bbb39347ea7becb84ec03e397dfb4f644"
},
"widgets_values": [
512,
512,
"nearest-exact",
"resize",
"0, 0, 0",
"center",
2,
"cpu"
]
},
{
"id": 109,
"type": "SaveImage",
"pos": [
4923.62109375,
-1092.3970947265625
],
"size": [
270,
270
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 178
}
],
"outputs": [],
"properties": {
"Node name for S&R": "SaveImage",
"cnr_id": "comfy-core",
"ver": "0.3.43"
},
"widgets_values": [
"ComfyUI"
]
},
{
"id": 87,
"type": "ImageResizeKJv2",
"pos": [
3583.63330078125,
-1206.517578125
],
"size": [
270,
336
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 127
},
{
"name": "mask",
"shape": 7,
"type": "MASK",
"link": null
},
{
"name": "width",
"type": "INT",
"widget": {
"name": "width"
},
"link": 125
},
{
"name": "height",
"type": "INT",
"widget": {
"name": "height"
},
"link": 126
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
143,
205
]
},
{
"name": "width",
"type": "INT",
"links": null
},
{
"name": "height",
"type": "INT",
"links": null
},
{
"name": "mask",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "ImageResizeKJv2",
"cnr_id": "comfyui-kjnodes",
"ver": "f9118e0bbb39347ea7becb84ec03e397dfb4f644"
},
"widgets_values": [
512,
512,
"nearest-exact",
"resize",
"0, 0, 0",
"center",
2,
"cpu",
"<tr><td>Output: </td><td><b>1</b> x <b>864</b> x <b>1152 | 11.39MB</b></td></tr>"
]
},
{
"id": 74,
"type": "ImageBatch",
"pos": [
3905.247802734375,
-980.0052490234375
],
"size": [
140,
46
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "image1",
"type": "IMAGE",
"link": 143
},
{
"name": "image2",
"type": "IMAGE",
"link": 144
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": []
}
],
"properties": {
"Node name for S&R": "ImageBatch",
"cnr_id": "comfy-core",
"ver": "0.3.43"
},
"widgets_values": []
},
{
"id": 143,
"type": "PreviewAny",
"pos": [
4336.90673828125,
-348.3333740234375
],
"size": [
210,
88
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 217
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny"
},
"widgets_values": []
},
{
"id": 144,
"type": "PreviewAny",
"pos": [
4102.13720703125,
-321.41729736328125
],
"size": [
210,
89.62671661376953
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "source",
"type": "*",
"link": 218
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewAny"
},
"widgets_values": []
},
{
"id": 129,
"type": "APIProviderSelectorNode",
"pos": [
3906.39111328125,
-1184.7598876953125
],
"size": [
333.0874938964844,
130
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "context",
"shape": 7,
"type": "*",
"link": null
}
],
"outputs": [
{
"name": "context",
"type": "*",
"links": [
200
]
}
],
"properties": {
"Node name for S&R": "APIProviderSelectorNode"
},
"widgets_values": [
"openrouter",
"google/gemini-2.5-flash-image-preview",
""
]
},
{
"id": 110,
"type": "PreviewImage",
"pos": [
4940.9384765625,
-754.3715209960938
],
"size": [
217.51910400390625,
258
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 179
}
],
"outputs": [],
"properties": {
"Node name for S&R": "PreviewImage",
"cnr_id": "comfy-core",
"ver": "0.3.43"
},
"widgets_values": []
},
{
"id": 120,
"type": "GenerateImage",
"pos": [
4420.8466796875,
-856.208984375
],
"size": [
426.96319580078125,
340
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "context",
"shape": 7,
"type": "*",
"link": 222
}
],
"outputs": [
{
"name": "context",
"type": "*",
"links": null
},
{
"name": "image",
"type": "IMAGE",
"links": [
178,
179
]
}
],
"properties": {
"Node name for S&R": "GenerateImage",
"cnr_id": "llm-toolkit",
"ver": "1.0.2"
},
"widgets_values": [
"",
"generate"
]
},
{
"id": 130,
"type": "LLMPromptManager",
"pos": [
4156.09716796875,
-896.6332397460938
],
"size": [
175.29257202148438,
126
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "context",
"shape": 7,
"type": "*",
"link": 200
},
{
"name": "context_1",
"type": "*",
"link": 224
},
{
"name": "context_2",
"type": "*",
"link": 202
},
{
"name": "context_3",
"type": "*",
"link": 205
},
{
"name": "context_4",
"type": "*",
"link": 216
},
{
"name": "context_5",
"type": "*",
"link": null
}
],
"outputs": [
{
"name": "context",
"type": "*",
"links": [
221
]
}
],
"properties": {
"Node name for S&R": "LLMPromptManager"
},
"widgets_values": [],
"dynamicInputCount": 6
},
{
"id": 85,
"type": "LoadImage",
"pos": [
3275.426025390625,
-1204.14404296875
],
"size": [
274.080078125,
314
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
127
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"Node name for S&R": "LoadImage",
"cnr_id": "comfy-core",
"ver": "0.3.43"
},
"widgets_values": [
"268577cd918cd1fc7952da4a8164f773.jpg",
"image"
]
},
{
"id": 69,
"type": "ResolutionSelector",
"pos": [
3732.511962890625,
-469.1967468261719
],
"size": [
301.4302673339844,
214
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "context",
"shape": 7,
"type": "*",
"link": null
}
],
"outputs": [
{
"name": "width",
"type": "INT",
"links": [
125,
129
]
},
{
"name": "height",
"type": "INT",
"links": [
126,
130
]
},
{
"name": "size_string",
"type": "STRING",
"links": [
217
]
},
{
"name": "context",
"type": "*",
"links": [
216,
218
]
}
],
"properties": {
"Node name for S&R": "ResolutionSelector",
"cnr_id": "llm-toolkit",
"ver": "1.0.2"
},
"widgets_values": [
"NANO_BANANA",
"Portrait (9:16)",
"HQ",
false,
128
]
},
{
"id": 148,
"type": "BananaTaskGenerator",
"pos": [
3908.712158203125,
-1362.925537109375
],
"size": [
373.5562438964844,
102
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "context",
"shape": 7,
"type": "*",
"link": null
}
],
"outputs": [
{
"name": "context",
"type": "*",
"links": []
},
{
"name": "system_prompt",
"type": "STRING",
"links": [
224
]
}
],
"properties": {
"Node name for S&R": "BananaTaskGenerator"
},
"widgets_values": [
"33 Illustration to Commercialized 1/7-Scale Figurine",
false
]
},
{
"id": 94,
"type": "ComfyUIDeployExternalText",
"pos": [
3468.291015625,
-1459.2178955078125
],
"size": [
395.5683898925781,
190
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "text",
"type": "STRING",
"links": [
202
]
}
],
"title": "PROMPT",
"properties": {
"Node name for S&R": "ComfyUIDeployExternalText",
"cnr_id": "comfyui-deploy",
"ver": "b889f79baf9e099d5e54bd20bab4aa1e7c3296c0",
"widget_ue_connectable": {}
},
"widgets_values": [
"ACTION_MANUAL_PROMPT",
"\"IMPACTFRAMES\" is printed on the box",
"MANUA_PROMPT ",
"IF there is no OPENAI_API_KEY on the machine secrets. You will need to enter your full prompt and delete the AI_SYSTEM_PROMPT \n\nOtherwise you can use this to add a The Task to be preform by the model for example \"replace the cat from image1 with the dog on image2\" \n\nshe is wearing the same clothes but it has the logo on the swimsuit make sure it looks well integrated and part of the same material with the fabric and not just an overlay the logo should wrap with the swinsuit to the body of the model "
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 147,
"type": "ConfigGenerateImageOpenRouter",
"pos": [
4376.265625,
-1064.466064453125
],
"size": [
464.6246032714844,
106
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "context",
"shape": 7,
"type": "*",
"link": 221
},
{
"name": "seed",
"shape": 7,
"type": "INT",
"widget": {
"name": "seed"
},
"link": 225
}
],
"outputs": [
{
"name": "context",
"type": "*",
"links": [
222
]
}
],
"properties": {
"Node name for S&R": "ConfigGenerateImageOpenRouter"
},
"widgets_values": [
1,
931990909816074,
"randomize"
]
},
{
"id": 149,
"type": "ComfyUIDeployExternalNumberInt",
"pos": [
4395.90185546875,
-1356.9892578125
],
"size": [
400,
200
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "value",
"type": "INT",
"links": [
225
]
}
],
"properties": {
"Node name for S&R": "ComfyUIDeployExternalNumberInt"
},
"widgets_values": [
"seed",
2147483517,
"",
""
],
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
125,
69,
0,
87,
2,
"INT"
],
[
126,
69,
1,
87,
3,
"INT"
],
[
127,
85,
0,
87,
0,
"IMAGE"
],
[
128,
89,
0,
88,
0,
"IMAGE"
],
[
129,
69,
0,
88,
2,
"INT"
],
[
130,
69,
1,
88,
3,
"INT"
],
[
143,
87,
0,
74,
0,
"IMAGE"
],
[
144,
88,
0,
74,
1,
"IMAGE"
],
[
178,
120,
1,
109,
0,
"IMAGE"
],
[
179,
120,
1,
110,
0,
"IMAGE"
],
[
200,
129,
0,
130,
0,
"*"
],
[
202,
94,
0,
130,
2,
"*"
],
[
205,
87,
0,
130,
3,
"*"
],
[
216,
69,
3,
130,
4,
"*"
],
[
217,
69,
2,
143,
0,
"*"
],
[
218,
69,
3,
144,
0,
"*"
],
[
221,
130,
0,
147,
0,
"*"
],
[
222,
147,
0,
120,
0,
"*"
],
[
224,
148,
1,
130,
1,
"*"
],
[
225,
149,
0,
147,
1,
"INT"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.6140930644007897,
"offset": [
-2847.6172303244625,
1459.447649440557
]
},
"frontendVersion": "1.25.11",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}