{ "id": "7e411212-0e3b-4f06-86f6-044d2c5cc028", "revision": 0, "last_node_id": 42, "last_link_id": 55, "nodes": [ { "id": 29, "type": "LoadImage", "pos": [ 2200, 450 ], "size": [ 300, 375 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 34 ] }, { "name": "MASK", "type": "MASK", "links": null } ], "properties": { "cnr_id": "comfy-core", "ver": "0.18.1", "Node name for S&R": "LoadImage" }, "widgets_values": [ "fox.png", "image" ] }, { "id": 24, "type": "SimpleOllamaConnectionNode", "pos": [ 2600, 475 ], "size": [ 400, 100 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "ollama_url", "type": "STRING", "links": [ 27, 42 ] } ], "properties": { "cnr_id": "comfyui-simple-ollama", "ver": "ce6ee6b98f94d466e91f387fbd44b95ae28dd777", "Node name for S&R": "SimpleOllamaConnectionNode" }, "widgets_values": [ "http://localhost:1337", null ], "color": "#233", "bgcolor": "#355" }, { "id": 37, "type": "PreviewAny", "pos": [ 4600, 625 ], "size": [ 400, 625 ], "flags": {}, "order": 13, "mode": 0, "inputs": [ { "name": "source", "type": "*", "link": 44 } ], "outputs": [], "title": "response preview", "properties": { "cnr_id": "comfy-core", "ver": "0.18.1", "Node name for S&R": "PreviewAny" }, "widgets_values": [ null, null, null ] }, { "id": 36, "type": "Reroute", "pos": [ 3925, 475 ], "size": [ 75, 26 ], "flags": {}, "order": 3, "mode": 0, "inputs": [ { "name": "", "type": "*", "link": 42 } ], "outputs": [ { "name": "", "type": "STRING", "links": [ 43 ] } ], "properties": { "showOutputText": false, "horizontal": false } }, { "id": 33, "type": "Reroute", "pos": [ 3100, 525 ], "size": [ 75, 26 ], "flags": {}, "order": 8, "mode": 0, "inputs": [ { "name": "", "type": "*", "widget": { "name": "value" }, "link": 38 } ], "outputs": [ { "name": "", "type": "STRING", "links": [ 55 ] } ], "properties": { "showOutputText": false, "horizontal": false } }, { "id": 23, "type": "SimpleOllamaNode", "pos": [ 2600, 625 ], "size": [ 400, 625 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "name": "ollama_url_override", "shape": 7, "type": "STRING", "link": 27 }, { "name": "image", "shape": 7, "type": "IMAGE", "link": 36 } ], "outputs": [ { "name": "response", "type": "STRING", "links": [ 31, 38 ] }, { "name": "thinking", "type": "STRING", "links": [ 32 ] }, { "name": "prompt_text", "type": "STRING", "links": [] } ], "properties": { "cnr_id": "comfyui-simple-ollama", "ver": "ce6ee6b98f94d466e91f387fbd44b95ae28dd777", "Node name for S&R": "SimpleOllamaNode" }, "widgets_values": [ "http://localhost:1337", "huihui_ai/gemma-4-abliterated:e2b", null, null, "Make the fox chase the owl. Keep the style.", 42, "fixed", 1024, 0.7, 5, true, "You are an expert prompt engineer for Google's Nano Banana image model. Create a single, detailed text‑to‑image prompt that seamlessly combines two subjects or concepts into one unified scene, not a collage. Use this structure and fill it with specific, visual details:\n\nFusion concept: Clearly describe how Subject A and Subject B are merged or interact as one coherent idea or object.\n\nSubject & details: Physical appearance, key attributes from both subjects, and how they visually blend.\n\nAction: What is happening in the scene.\n\nSetting & environment: Place, time of day, background elements that support the fusion.\n\nComposition & camera: Shot type (close‑up, medium, wide), angle (eye‑level, low, high), lens feel (e.g., 35mm, 85mm), aspect ratio if important.\n\nLighting & mood: Type of light, color temperature, atmosphere, emotional tone.\n\nStyle & quality: Photo/3D/illustration/anime, level of realism, level of detail, any style references.\n\nConstraints (optional): What to avoid (e.g., “no text”, “no extra characters”).\nOutput only the final Nano Banana prompt text, no explanations.\nInsert the two user‑provided concepts wherever appropriate as [SUBJECT A] and [SUBJECT B], and make sure the result reads like a natural prompt without brackets. Aim for 3–6 descriptive sentences, not a keyword list.\n\n" ], "color": "#233", "bgcolor": "#355" }, { "id": 32, "type": "ImageBatch", "pos": [ 2350, 400 ], "size": [ 200, 75 ], "flags": { "collapsed": true }, "order": 4, "mode": 0, "inputs": [ { "name": "image1", "type": "IMAGE", "link": 34 }, { "name": "image2", "type": "IMAGE", "link": 35 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 36, 54 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.52", "Node name for S&R": "ImageBatch", "ue_properties": { "widget_ue_connectable": {}, "version": "7.1", "input_ue_unconnectable": {} } }, "widgets_values": [] }, { "id": 30, "type": "LoadImage", "pos": [ 2200, 875 ], "size": [ 300, 375 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 35 ] }, { "name": "MASK", "type": "MASK", "links": null } ], "properties": { "cnr_id": "comfy-core", "ver": "0.18.1", "Node name for S&R": "LoadImage" }, "widgets_values": [ "owl.png", "image" ] }, { "id": 38, "type": "SaveImage", "pos": [ 3600, 625 ], "size": [ 400, 625 ], "flags": {}, "order": 11, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 45 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.18.5" }, "widgets_values": [ "ComfyUI" ] }, { "id": 25, "type": "SimpleOllamaNode", "pos": [ 4100, 625 ], "size": [ 400, 625 ], "flags": {}, "order": 12, "mode": 0, "inputs": [ { "name": "ollama_url_override", "shape": 7, "type": "STRING", "link": 43 }, { "name": "image", "shape": 7, "type": "IMAGE", "link": 53 } ], "outputs": [ { "name": "response", "type": "STRING", "links": [ 44 ] }, { "name": "thinking", "type": "STRING", "links": null }, { "name": "prompt_text", "type": "STRING", "links": null } ], "properties": { "cnr_id": "comfyui-simple-ollama", "ver": "ce6ee6b98f94d466e91f387fbd44b95ae28dd777", "Node name for S&R": "SimpleOllamaNode" }, "widgets_values": [ "http://localhost:1337", "huihui_ai/gemma-4-abliterated:e2b", null, null, "Look at the image and write a poem about it.", 42, "fixed", 1024, 0.7, 5, true, "" ], "color": "#233", "bgcolor": "#355" }, { "id": 22, "type": "GeminiImage2Node", "pos": [ 3700, 550 ], "size": [ 400, 625 ], "flags": { "collapsed": true }, "order": 10, "mode": 0, "inputs": [ { "name": "images", "shape": 7, "type": "IMAGE", "link": 51 }, { "name": "files", "shape": 7, "type": "GEMINI_INPUT_FILES", "link": null }, { "name": "prompt", "type": "STRING", "widget": { "name": "prompt" }, "link": 55 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 45, 53 ] }, { "name": "STRING", "type": "STRING", "links": null } ], "properties": { "cnr_id": "comfy-core", "ver": "0.5.1", "Node name for S&R": "GeminiImage2Node" }, "widgets_values": [ "", "Nano Banana 2 (Gemini 3.1 Flash Image)", 42, "fixed", "9:16", "1K", "IMAGE+TEXT", "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests." ], "color": "#432", "bgcolor": "#653" }, { "id": 42, "type": "Reroute", "pos": [ 3525, 375 ], "size": [ 75, 26 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "", "type": "*", "link": 54 } ], "outputs": [ { "name": "", "type": "IMAGE", "links": [ 51 ] } ], "properties": { "showOutputText": false, "horizontal": false } }, { "id": 26, "type": "PreviewAny", "pos": [ 3100, 625 ], "size": [ 400, 200 ], "flags": {}, "order": 7, "mode": 0, "inputs": [ { "name": "source", "type": "*", "link": 31 } ], "outputs": [], "title": "response preview", "properties": { "cnr_id": "comfy-core", "ver": "0.18.1", "Node name for S&R": "PreviewAny" }, "widgets_values": [ null, null, null ], "shape": 1 }, { "id": 27, "type": "PreviewAny", "pos": [ 3100, 875 ], "size": [ 400, 375 ], "flags": {}, "order": 9, "mode": 0, "inputs": [ { "name": "source", "type": "*", "link": 32 } ], "outputs": [], "title": "thinking preview", "properties": { "cnr_id": "comfy-core", "ver": "0.18.1", "Node name for S&R": "PreviewAny" }, "widgets_values": [ null, null, null ], "shape": 1 } ], "links": [ [ 27, 24, 0, 23, 0, "STRING" ], [ 31, 23, 0, 26, 0, "STRING" ], [ 32, 23, 1, 27, 0, "STRING" ], [ 34, 29, 0, 32, 0, "IMAGE" ], [ 35, 30, 0, 32, 1, "IMAGE" ], [ 36, 32, 0, 23, 1, "IMAGE" ], [ 38, 23, 0, 33, 0, "STRING" ], [ 42, 24, 0, 36, 0, "STRING" ], [ 43, 36, 0, 25, 0, "STRING" ], [ 44, 25, 0, 37, 0, "STRING" ], [ 45, 22, 0, 38, 0, "IMAGE" ], [ 51, 42, 0, 22, 0, "IMAGE" ], [ 53, 22, 0, 25, 1, "IMAGE" ], [ 54, 32, 0, 42, 0, "IMAGE" ], [ 55, 33, 0, 22, 2, "STRING" ] ], "groups": [], "config": {}, "extra": { "ds": { "scale": 0.886261093448746, "offset": [ -1666.7056006411558, -0.12143723234395665 ] }, "frontendVersion": "1.41.21", "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true, "workflowRendererVersion": "LG" }, "version": 0.4 }