{"id":"a277eea5-14e2-4695-8172-2182587aaac4","extra":{"ds":{"scale":0.7627768444385571,"offset":[-2533.855890462748,1821.1748555953864]},"frontendVersion":"1.25.11","VHS_MetadataImage":true,"VHS_latentpreview":false,"VHS_KeepIntermediate":true,"VHS_latentpreviewrate":0},"links":[[178,120,1,109,0,"IMAGE"],[200,129,0,130,0,"*"],[202,94,0,130,2,"*"],[241,138,0,140,0,"IMAGE"],[255,146,0,129,2,"STRING"],[256,130,0,143,0,"*"],[257,143,0,120,0,"*"],[258,147,0,69,1,"COMBO"],[259,148,0,143,1,"INT"],[264,149,0,129,1,"COMBO"],[267,69,1,155,2,"INT"],[268,69,0,155,1,"INT"],[269,140,0,155,0,"IMAGE"],[270,155,0,130,3,"*"],[272,131,1,156,0,"*"],[274,131,1,130,1,"*"]],"nodes":[{"id":143,"pos":[3782.830322265625,-1237.6080322265625],"mode":0,"size":[464.6246032714844,106],"type":"ConfigGenerateImageOpenRouter","flags":{},"order":14,"inputs":[{"link":256,"name":"context","type":"*","shape":7},{"link":259,"name":"seed","type":"INT","shape":7,"widget":{"name":"seed"}}],"outputs":[{"name":"context","type":"*","links":[257]}],"properties":{"Node name for S&R":"ConfigGenerateImageOpenRouter"},"widgets_values":[1,444395183025178,"randomize"]},{"id":140,"pos":[2565.05419921875,-1560.2205810546875],"mode":0,"size":[309.1890563964844,154],"type":"ComfyUIDeployExternalImage","color":"#232","flags":{},"order":11,"inputs":[{"link":241,"name":"default_value","type":"IMAGE","shape":7}],"bgcolor":"#353","outputs":[{"name":"image","type":"IMAGE","links":[269]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalImage"},"widgets_values":["subject_image","SUBJECT IMAGE","","",""]},{"id":149,"pos":[2549.0673828125,-1315.08984375],"mode":0,"size":[338.6286926269531,426.1956787109375],"type":"ComfyUIDeployExternalEnum","color":"#232","flags":{},"order":0,"inputs":[],"bgcolor":"#353","outputs":[{"name":"text","type":"*","links":[264]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalEnum"},"widgets_values":["llm_model_free","google/gemini-2.5-flash-image-preview","[\"google/gemini-2.5-flash-image-preview\",\"google/gemini-2.5-flash-image-preview:free\"]","Models","BOTH MODES NEED YOUR API, BUT OPENROUTER HAS COURTESY IMAGES FOR A DAY ON THE FREE VERSION. You Still need to bring your own API but on the free you won't get charge "]},{"id":130,"pos":[3949.10498046875,-1547.7032470703125],"mode":0,"size":[175.29257202148438,106],"type":"LLMPromptManager","flags":{},"order":13,"inputs":[{"link":200,"name":"context","type":"*","shape":7},{"link":274,"name":"context_1","type":"*"},{"link":202,"name":"context_2","type":"*"},{"link":270,"name":"context_3","type":"*"},{"link":null,"name":"context_4","type":"*"}],"outputs":[{"name":"context","type":"*","links":[256]}],"properties":{"Node name for S&R":"LLMPromptManager"},"widgets_values":[],"dynamicInputCount":5},{"id":129,"pos":[3058.845458984375,-1538.7059326171875],"mode":0,"size":[333.0874938964844,130],"type":"APIProviderSelectorNode","flags":{},"order":8,"inputs":[{"link":null,"name":"context","type":"*","shape":7},{"link":264,"name":"llm_model","type":"COMBO","widget":{"name":"llm_model"}},{"link":255,"name":"external_api_key","type":"STRING","shape":7,"widget":{"name":"external_api_key"}}],"outputs":[{"name":"context","type":"*","links":[200]}],"properties":{"Node name for S&R":"APIProviderSelectorNode"},"widgets_values":["openrouter","google/gemini-2.5-flash-image-preview:free",""]},{"id":155,"pos":[3460,-1307.1021728515625],"mode":0,"size":[270,130],"type":"ResizeAndPadImage","flags":{},"order":12,"inputs":[{"link":269,"name":"image","type":"IMAGE"},{"link":268,"name":"target_width","type":"INT","widget":{"name":"target_width"}},{"link":267,"name":"target_height","type":"INT","widget":{"name":"target_height"}}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[270]}],"properties":{"Node name for S&R":"ResizeAndPadImage"},"widgets_values":[512,512,"white","area"]},{"id":120,"pos":[3484.595703125,-1042.759521484375],"mode":0,"size":[426.96319580078125,340],"type":"GenerateImage","flags":{},"order":15,"inputs":[{"link":257,"name":"context","type":"*","shape":7}],"outputs":[{"name":"context","type":"*","links":null},{"name":"image","type":"IMAGE","links":[178]}],"properties":{"ver":"1.0.2","cnr_id":"llm-toolkit","Node name for S&R":"GenerateImage"},"widgets_values":["","generate"]},{"id":148,"pos":[2107.828369140625,-1608.8944091796875],"mode":0,"size":[400,200],"type":"ComfyUIDeployExternalNumberInt","color":"#232","flags":{},"order":1,"inputs":[],"bgcolor":"#353","outputs":[{"name":"value","type":"INT","links":[259]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalNumberInt"},"widgets_values":["seed",2147483424,"",""]},{"id":146,"pos":[2090.498291015625,-815.0119018554688],"mode":0,"size":[400,200],"type":"ComfyUIDeployExternalText","color":"#232","flags":{},"order":2,"inputs":[],"bgcolor":"#353","outputs":[{"name":"text","type":"STRING","links":[255]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalText"},"widgets_values":["external_api_key","","EXTERNAL API KEY","ENTER YOUR API KEY TO USE THE APP"]},{"id":147,"pos":[2108.642333984375,-1119.705322265625],"mode":0,"size":[400,214],"type":"ComfyUIDeployExternalEnum","color":"#232","flags":{},"order":3,"inputs":[],"bgcolor":"#353","outputs":[{"name":"text","type":"*","links":[258]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalEnum"},"widgets_values":["aspect_ratio","Portrait (3:4)","[\"Square (1:1)\",\"Portrait (3:4)\",\"Landscape (4:3)\",\"Portrait (9:16)\",\"Landscape (16:9)\"]","","THE IMAGE WILL GET PADED TO THIS SIZE MAKE SURE TO EDIT THE IMAGE SOURCE SO IT LOOKS GOOD WITH PROPER ASPECT RATIO"]},{"id":69,"pos":[2562.396240234375,-817.2070922851562],"mode":0,"size":[301.4302673339844,214],"type":"ResolutionSelector","flags":{},"order":9,"inputs":[{"link":null,"name":"context","type":"*","shape":7},{"link":258,"name":"aspect_ratio","type":"COMBO","widget":{"name":"aspect_ratio"}}],"outputs":[{"name":"width","type":"INT","links":[268]},{"name":"height","type":"INT","links":[267]},{"name":"size_string","type":"STRING","links":[]},{"name":"context","type":"*","links":[]}],"properties":{"ver":"1.0.2","cnr_id":"llm-toolkit","Node name for S&R":"ResolutionSelector"},"widgets_values":["NANO_BANANA","Portrait (9:16)","HQ",false,128]},{"id":156,"pos":[4350.6220703125,-1485.498779296875],"mode":0,"size":[377.4967041015625,396.707275390625],"type":"PreviewAny","flags":{},"order":10,"inputs":[{"link":272,"name":"source","type":"*"}],"outputs":[],"properties":{"Node name for S&R":"PreviewAny"},"widgets_values":[]},{"id":109,"pos":[3955.744873046875,-983.2383422851562],"mode":0,"size":[270,270],"type":"SaveImage","flags":{},"order":16,"inputs":[{"link":178,"name":"images","type":"IMAGE"}],"outputs":[],"properties":{"ver":"0.3.43","cnr_id":"comfy-core","Node name for S&R":"SaveImage"},"widgets_values":["ComfyUI"]},{"id":157,"pos":[3476.986083984375,-1602.880615234375],"mode":0,"size":[400,200],"type":"PrimitiveStringMultiline","flags":{},"order":4,"inputs":[],"outputs":[{"name":"STRING","type":"STRING","links":[]}],"properties":{"Node name for S&R":"PrimitiveStringMultiline"},"widgets_values":["Image Order: IMAGE_1 is always the main SUBJECT; the LAST image is always the BACKGROUND; any middle images (IMAGE_2..IMAGE_{n-1}) are optional REFS that may represent garment/style/pose/prop or other concepts per user text. Mantaing person face and body characteristics for a photoshoot of the same person on a new portrait pose that captures extreme forshortening with anamorphic ultra wide angle lens and fujifilm film simulations. "]},{"id":131,"pos":[4210.90478515625,-1669.790283203125],"mode":0,"size":[373.5562438964844,102],"type":"BananaTaskGenerator","flags":{},"order":5,"inputs":[{"link":null,"name":"context","type":"*","shape":7}],"outputs":[{"name":"context","type":"*","links":[]},{"name":"system_prompt","type":"STRING","links":[272,274]}],"properties":{"Node name for S&R":"BananaTaskGenerator"},"widgets_values":["34 Old Photo Restoration and Enhancement",true]},{"id":138,"pos":[3111.4326171875,-1329.9244384765625],"mode":0,"size":[274.080078125,314],"type":"LoadImage","flags":{},"order":6,"inputs":[],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[241]},{"name":"MASK","type":"MASK","links":null}],"properties":{"ver":"0.3.43","cnr_id":"comfy-core","Node name for S&R":"LoadImage"},"widgets_values":["My mother looking like Padmé Amidala in her high school photo from the 1970s.jpg","image"]},{"id":94,"pos":[2101.65771484375,-1358.6383056640625],"mode":0,"size":[395.5683898925781,190],"type":"ComfyUIDeployExternalText","color":"#232","flags":{},"order":7,"title":"PROMPT","inputs":[],"bgcolor":"#353","outputs":[{"name":"text","type":"STRING","links":[202]}],"properties":{"ver":"b889f79baf9e099d5e54bd20bab4aa1e7c3296c0","cnr_id":"comfyui-deploy","Node name for S&R":"ComfyUIDeployExternalText","widget_ue_connectable":{}},"widgets_values":["user_prompt","","EXTRA_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 "]}],"config":{},"groups":[],"version":0.4,"revision":0,"environment":{"gpu":"T4","extra_args":null,"run_timeout":600,"machine_hash":"39fda76588909b44eefa08470e0025f0f1bf93c20815a5b04bfd751204b84ced","max_containers":1,"min_containers":1,"python_version":"3.11","comfyui_version":"4449e147692366ac8b9bd3b8834c771bc81e91ac","disable_metadata":true,"prestart_command":null,"scaledown_window":600,"base_docker_image":null,"docker_command_steps":{"steps":[{"id":"b084ec69-3","data":{"url":"https://github.com/comfy-deploy/comfyui-llm-toolkit","hash":"ee60b3de9b04089476791d416ae91da9079ab1f6","meta":{"message":"Update pyproject.toml","committer":{"date":"2025-09-03T11:56:47.000Z","name":"GitHub","email":"noreply@github.com"},"commit_url":"https://github.com/comfy-deploy/comfyui-llm-toolkit/commit/ee60b3de9b04089476791d416ae91da9079ab1f6","latest_hash":"ee60b3de9b04089476791d416ae91da9079ab1f6","stargazers_count":34},"name":"ComfyUI LLM Toolkit","files":["https://github.com/comfy-deploy/comfyui-llm-toolkit"],"install_type":"git-clone"},"type":"custom-node"},{"id":"66d08f8e-7","data":{"url":"https://github.com/807502278/ComfyUI-WJNodes","hash":"a3d271d5dabd3a181c06b09de73a43af13e77ce7","meta":{"message":"Merge branch 'main' of https://github.com/807502278/ComfyUI-WJNodes","committer":{"date":"2025-09-03T02:09:53.000Z","name":"807502278","email":"46019416+807502278@users.noreply.github.com"},"commit_url":"https://github.com/807502278/ComfyUI-WJNodes/commit/a3d271d5dabd3a181c06b09de73a43af13e77ce7","latest_hash":"a3d271d5dabd3a181c06b09de73a43af13e77ce7","stargazers_count":13},"name":"ComfyUI-WJNodes","files":["https://github.com/807502278/ComfyUI-WJNodes"],"install_type":"git-clone"},"type":"custom-node"},{"id":"b5bc8c49-5","data":{"url":"https://github.com/ClownsharkBatwing/RES4LYF","hash":"7750bf7800b6ad9d670308a09989fc0c04c40cec","meta":{"message":"Merge pull request #160 from drozbay/pr_30\n\nAdd files via upload","committer":{"date":"2025-08-14T22:18:56.000Z","name":"GitHub","email":"noreply@github.com"},"commit_url":"https://github.com/ClownsharkBatwing/RES4LYF/commit/7750bf7800b6ad9d670308a09989fc0c04c40cec","latest_hash":"7750bf7800b6ad9d670308a09989fc0c04c40cec","stargazers_count":583},"name":"RES4LYF","files":["https://github.com/ClownsharkBatwing/RES4LYF"],"install_type":"git-clone"},"type":"custom-node"},{"id":"e001d0ea-b","data":{"url":"https://github.com/kijai/ComfyUI-KJNodes","hash":"0adab07d1ad3d0780afc97319eaf37c3681af37d","meta":{"message":"Update lora_nodes.py","committer":{"date":"2025-09-01T16:02:21.000Z","name":"kijai","email":"40791699+kijai@users.noreply.github.com"},"commit_url":"https://github.com/kijai/ComfyUI-KJNodes/commit/0adab07d1ad3d0780afc97319eaf37c3681af37d","latest_hash":"0adab07d1ad3d0780afc97319eaf37c3681af37d","stargazers_count":1699},"name":"KJNodes for ComfyUI","files":["https://github.com/kijai/ComfyUI-KJNodes"],"install_type":"git-clone"},"type":"custom-node"},{"id":"09d536ed-5","data":{"url":"https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite","hash":"8e4d79471bf1952154768e8435a9300077b534fa","meta":{"message":"Disable serialization of animated preview widgets","committer":{"date":"2025-08-07T14:53:50.000Z","name":"AustinMroz","email":"austinmroz@utexas.edu"},"commit_url":"https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite/commit/8e4d79471bf1952154768e8435a9300077b534fa","latest_hash":"8e4d79471bf1952154768e8435a9300077b534fa","stargazers_count":1189},"name":"ComfyUI-VideoHelperSuite","files":["https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite"],"install_type":"git-clone"},"type":"custom-node"},{"id":"da0eb28b-d","data":{"url":"https://github.com/BennyKok/comfyui-deploy","hash":"31c38ddb9baf9bfb503493a8af3c5a35fdf2e5ce","meta":{"message":"version bump","committer":{"date":"2025-08-29T22:48:42.000Z","name":"bennykok","email":"itechbenny@gmail.com"},"commit_url":"https://github.com/BennyKok/comfyui-deploy/commit/31c38ddb9baf9bfb503493a8af3c5a35fdf2e5ce","latest_hash":"31c38ddb9baf9bfb503493a8af3c5a35fdf2e5ce","stargazers_count":1408},"name":"ComfyUI Deploy","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"4c002af6-b","data":{"url":"https://github.com/phuhl/quicker-connections","hash":"71f825f0ee57af574b2cbf5103b2f9490919671f","meta":{"message":"Bumps version in pyproject","committer":{"date":"2025-08-12T18:16:03.000Z","name":"phuhl","email":"git@ph-uhl.com"},"latest_hash":"71f825f0ee57af574b2cbf5103b2f9490919671f"},"name":"quicker-connections","files":["https://github.com/phuhl/quicker-connections"],"install_type":"git-clone"},"type":"custom-node"},{"id":"a5b04167-9","data":{"url":"https://github.com/if-ai/ComfyUI-IF_Gemini","hash":"74c6648c3994c33f00e980c09a7f1124e9cbe965","meta":{"message":"Update pyproject.toml\n\nbanana ana","committer":{"date":"2025-09-03T12:31:43.000Z","name":"GitHub","email":"noreply@github.com"},"latest_hash":"74c6648c3994c33f00e980c09a7f1124e9cbe965"},"name":"IF_Gemini","files":["https://github.com/if-ai/ComfyUI-IF_Gemini"],"install_type":"git-clone"},"type":"custom-node"}]},"extra_docker_commands":[],"install_custom_node_with_gpu":false},"last_link_id":274,"last_node_id":157,"workflow_api":{"69":{"_meta":{"title":"Resolution Selector (🔗LLMToolkit)"},"inputs":{"mode":"NANO_BANANA","quality":"HQ","block_size":128,"aspect_ratio":["147",0],"enable_radial_attention":false},"class_type":"ResolutionSelector"},"94":{"_meta":{"title":"PROMPT","cd_input_order":2,"cd_input_group_id":null},"inputs":{"input_id":"user_prompt","description":"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 ","display_name":"EXTRA_PROMPT","default_value":""},"class_type":"ComfyUIDeployExternalText"},"109":{"_meta":{"title":"Save Image"},"inputs":{"images":["120",1],"filename_prefix":"ComfyUI"},"class_type":"SaveImage"},"120":{"_meta":{"title":"Generate Image (🔗LLMToolkit)"},"inputs":{"mode":"generate","prompt":"","context":["143",0]},"class_type":"GenerateImage"},"129":{"_meta":{"title":"API Provider Selector (🔗LLMToolkit)"},"inputs":{"provider":"openrouter","llm_model":["149",0],"_refresh_models":"Refresh Models","external_api_key":["146",0]},"class_type":"APIProviderSelectorNode"},"130":{"_meta":{"title":"LLM Prompt Manager"},"inputs":{"context":["129",0],"context_1":["131",1],"context_2":["94",0],"context_3":["155",0]},"class_type":"LLMPromptManager"},"131":{"_meta":{"title":"Banana System Prompt text (🔗LLMToolkit)"},"inputs":{"task":"34 Old Photo Restoration and Enhancement","output_as_text":true},"class_type":"BananaTaskGenerator"},"138":{"_meta":{"title":"Load Image"},"inputs":{"image":"My mother looking like Padmé Amidala in her high school photo from the 1970s.jpg"},"class_type":"LoadImage"},"140":{"_meta":{"title":"External Image (ComfyUI Deploy)","cd_input_order":4,"cd_input_group_id":null},"inputs":{"input_id":"subject_image","description":"","display_name":"SUBJECT IMAGE","default_value":["138",0],"default_value_url":""},"class_type":"ComfyUIDeployExternalImage"},"143":{"_meta":{"title":"Configure Image Generation - OpenRouter (🔗LLMToolkit)"},"inputs":{"n":1,"seed":["148",0],"context":["130",0]},"class_type":"ConfigGenerateImageOpenRouter"},"146":{"_meta":{"title":"External Text (ComfyUI Deploy)","cd_input_order":1,"cd_input_group_id":null},"inputs":{"input_id":"external_api_key","description":"ENTER YOUR API KEY TO USE THE APP","display_name":"EXTERNAL API KEY","default_value":""},"class_type":"ComfyUIDeployExternalText"},"147":{"_meta":{"title":"External Enum","cd_input_order":3,"cd_input_group_id":null},"inputs":{"options":"[\"Square (1:1)\",\"Portrait (3:4)\",\"Landscape (4:3)\",\"Portrait (9:16)\",\"Landscape (16:9)\"]","input_id":"aspect_ratio","description":"THE IMAGE WILL GET PADED TO THIS SIZE MAKE SURE TO EDIT THE IMAGE SOURCE SO IT LOOKS GOOD WITH PROPER ASPECT RATIO","display_name":"","default_value":"Portrait (3:4)"},"class_type":"ComfyUIDeployExternalEnum"},"148":{"_meta":{"title":"External Number Int (ComfyUI Deploy)","cd_input_order":5,"cd_input_group_id":null},"inputs":{"input_id":"seed","description":"","display_name":"","default_value":2147483424},"class_type":"ComfyUIDeployExternalNumberInt"},"149":{"_meta":{"title":"External Enum","cd_input_order":0,"cd_input_group_id":null},"inputs":{"options":"[\"google/gemini-2.5-flash-image-preview\",\"google/gemini-2.5-flash-image-preview:free\"]","input_id":"llm_model_free","description":"BOTH MODES NEED YOUR API, BUT OPENROUTER HAS COURTESY IMAGES FOR A DAY ON THE FREE VERSION. You Still need to bring your own API but on the free you won't get charge ","display_name":"Models","default_value":"google/gemini-2.5-flash-image-preview"},"class_type":"ComfyUIDeployExternalEnum"},"155":{"_meta":{"title":"ResizeAndPadImage"},"inputs":{"image":["140",0],"target_width":["69",0],"interpolation":"area","padding_color":"white","target_height":["69",1]},"class_type":"ResizeAndPadImage"},"156":{"_meta":{"title":"Preview Any"},"inputs":{"source":["131",1],"preview":""},"class_type":"PreviewAny"},"157":{"_meta":{"title":"String (Multiline)"},"inputs":{"value":"Image Order: IMAGE_1 is always the main SUBJECT; the LAST image is always the BACKGROUND; any middle images (IMAGE_2..IMAGE_{n-1}) are optional REFS that may represent garment/style/pose/prop or other concepts per user text. Mantaing person face and body characteristics for a photoshoot of the same person on a new portrait pose that captures extreme forshortening with anamorphic ultra wide angle lens and fujifilm film simulations. "},"class_type":"PrimitiveStringMultiline"}}}