{"id":"a277eea5-14e2-4695-8172-2182587aaac4","extra":{"ds":{"scale":0.8390545288824124,"offset":[-2112.0436373592834,1980.7050362410464]},"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,"*"],[273,157,0,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":273,"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":4,"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":131,"pos":[4326.1455078125,-1649.1063232421875],"mode":4,"size":[373.5562438964844,102],"type":"BananaTaskGenerator","flags":{},"order":4,"inputs":[{"link":null,"name":"context","type":"*","shape":7}],"outputs":[{"name":"context","type":"*","links":[]},{"name":"system_prompt","type":"STRING","links":[272]}],"properties":{"Node name for S&R":"BananaTaskGenerator"},"widgets_values":["21 Instagram, Xiaohongshu, or Moments Nine-Grid Layout",true]},{"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":138,"pos":[3111.4326171875,-1329.9244384765625],"mode":0,"size":[274.080078125,314],"type":"LoadImage","flags":{},"order":5,"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":["0bea15851f538727be21eaa81222475e.jpg","image"]},{"id":94,"pos":[2101.65771484375,-1358.6383056640625],"mode":0,"size":[395.5683898925781,190],"type":"ComfyUIDeployExternalText","color":"#232","flags":{},"order":6,"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","Hong Kong trip (close-up dynamic from bellow camera angle)","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 "]},{"id":157,"pos":[3476.986083984375,-1602.880615234375],"mode":0,"size":[400,200],"type":"PrimitiveStringMultiline","flags":{},"order":7,"inputs":[],"outputs":[{"name":"STRING","type":"STRING","links":[273]}],"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. "]}],"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":273,"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":"Hong Kong trip (close-up dynamic from bellow camera angle)"},"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":["157",0],"context_2":["94",0],"context_3":["155",0]},"class_type":"LLMPromptManager"},"138":{"_meta":{"title":"Load Image"},"inputs":{"image":"0bea15851f538727be21eaa81222475e.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"},"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"}}}