{"id":"9b0be1ef-2103-481f-8c22-df026fcfedef","extra":{"ds":{"scale":0.5209868481924411,"offset":[1119.3526300197577,-926.5177771675299]},"ue_links":[],"groupNodes":{},"frontendVersion":"1.21.7","VHS_MetadataImage":true,"VHS_latentpreview":false,"links_added_by_ue":[],"VHS_KeepIntermediate":true,"VHS_latentpreviewrate":0},"links":[[16,18,0,20,0,"TRIMESH"],[17,19,0,20,1,"HY3D21CAMERA"],[18,20,0,21,0,"HY3DPIPELINE"],[19,19,0,21,1,"HY3D21CAMERA"],[20,20,1,21,2,"IMAGE"],[21,20,2,21,3,"IMAGE"],[22,21,0,22,0,"HY3DPIPELINE"],[23,21,1,22,1,"NPARRAY"],[24,21,2,22,2,"NPARRAY"],[25,21,3,22,3,"NPARRAY"],[26,21,4,22,4,"NPARRAY"],[31,22,4,27,1,"STRING"],[35,30,0,29,0,"*"],[36,32,0,31,0,"*"],[38,33,0,22,5,"STRING"],[61,4,0,9,0,"HY3DVAE"],[62,37,0,9,1,"HY3DLATENT"],[63,9,0,7,0,"TRIMESH"],[64,34,0,7,1,"INT"],[67,7,0,18,0,"TRIMESH"],[68,41,0,8,1,"STRING"],[76,45,0,20,2,"IMAGE"],[77,45,0,37,0,"IMAGE"],[78,46,0,45,1,"COLOR"],[82,49,0,32,0,"STRING"],[83,50,0,8,2,"COMBO"],[86,53,0,20,3,"INT"],[87,20,2,24,0,"IMAGE"],[89,54,0,45,0,"IMAGE"],[90,8,0,55,1,"STRING"],[94,22,3,8,0,"TRIMESH"],[95,22,1,52,0,"IMAGE"],[96,45,0,57,0,"IMAGE"],[97,22,2,58,0,"IMAGE"],[99,56,0,59,0,"IMAGE"],[100,59,0,54,0,"IMAGE"],[104,20,1,65,0,"IMAGE"],[105,41,0,66,0,"STRING"],[106,41,0,67,0,"STRING"],[107,66,0,52,1,"STRING"],[108,67,0,58,1,"STRING"]],"nodes":[{"id":30,"pos":[-1392.773193359375,1119.97021484375],"mode":0,"size":[210,58],"type":"INTConstant","color":"#1b4669","flags":{},"order":0,"inputs":[],"bgcolor":"#29699c","outputs":[{"name":"value","type":"INT","links":[35]}],"properties":{"ver":"1.1.2","cnr_id":"comfyui-kjnodes","Node name for S&R":"INTConstant","widget_ue_connectable":{}},"widgets_values":[200000]},{"id":19,"pos":[-809.9954223632812,1328.105712890625],"mode":0,"size":[382.7560729980469,133.63636779785156],"type":"Hy3D21CameraConfig","flags":{},"order":1,"inputs":[],"outputs":[{"name":"camera_config","type":"HY3D21CAMERA","links":[17,19]}],"properties":{"ver":"e439689e4b67fb2af5f487ee26ef3a710be92658","aux_id":"visualbruno/ComfyUI-Hunyuan3d-2-1","Node name for S&R":"Hy3D21CameraConfig","widget_ue_connectable":{}},"widgets_values":["0, 90, 180, 270, 0, 180","0, 0, 0, 0, 90, -90","1, 0.5, 1, 0.5, 1, 1",1.1000000000000003]},{"id":29,"pos":[-1084.2960205078125,1120.96875],"mode":0,"size":[210,60],"type":"SetNode","color":"#1b4669","flags":{},"order":12,"title":"Set_NumberOfFaces","inputs":[{"link":35,"name":"INT","type":"INT"}],"bgcolor":"#29699c","outputs":[{"name":"*","type":"*","links":null}],"properties":{"previousName":"NumberOfFaces","widget_ue_connectable":{}},"widgets_values":["NumberOfFaces"]},{"id":34,"pos":[-217.4623260498047,752.1046142578125],"mode":0,"size":[210,58],"type":"GetNode","color":"#1b4669","flags":{},"order":2,"title":"Get_NumberOfFaces","inputs":[],"bgcolor":"#29699c","outputs":[{"name":"INT","type":"INT","links":[64]}],"properties":{"widget_ue_connectable":{}},"widgets_values":["NumberOfFaces"]},{"id":7,"pos":[42.22589874267578,911.3311767578125],"mode":0,"size":[306.763671875,154],"type":"Hy3DPostprocessMesh","flags":{},"order":23,"inputs":[{"link":63,"name":"trimesh","type":"TRIMESH"},{"link":64,"name":"max_facenum","type":"INT","widget":{"name":"max_facenum"}}],"outputs":[{"name":"trimesh","type":"TRIMESH","links":[67]}],"properties":{"ver":"cbe2837e506ffb5942fda754d0f0bccf586363a8","cnr_id":"comfyui-hunyan3dwrapper","Node name for S&R":"Hy3DPostprocessMesh","widget_ue_connectable":{}},"widgets_values":[true,true,true,200000,false]},{"id":33,"pos":[103.41313171386719,1147.8089599609375],"mode":0,"size":[210,60],"type":"GetNode","flags":{},"order":3,"title":"Get_OutputMeshName","inputs":[],"outputs":[{"name":"STRING","type":"STRING","links":[38]}],"properties":{"widget_ue_connectable":{}},"widgets_values":["OutputMeshName"]},{"id":4,"pos":[-648.5792846679688,731.7158813476562],"mode":0,"size":[279.4253845214844,58],"type":"Hy3D21VAELoader","flags":{},"order":4,"inputs":[{"link":null,"name":"vae_config","type":"HY3D21VAECONFIG","shape":7}],"outputs":[{"name":"vae","type":"HY3DVAE","links":[61]}],"properties":{"ver":"e439689e4b67fb2af5f487ee26ef3a710be92658","aux_id":"visualbruno/ComfyUI-Hunyuan3d-2-1","Node name for S&R":"Hy3D21VAELoader","widget_ue_connectable":{}},"widgets_values":["hunyuan3d-vae-v2-1.fp16.ckpt"]},{"id":46,"pos":[-1127.1182861328125,2071.7265625],"mode":0,"size":[320,82],"type":"AILab_ColorInput","color":"#2e3e57","flags":{},"order":5,"inputs":[],"bgcolor":"#4b5b73","outputs":[{"name":"COLOR","type":"COLOR","links":[78]}],"properties":{"Node name for S&R":"AILab_ColorInput"},"widgets_values":["white",""]},{"id":31,"pos":[-1085.1629638671875,1287.1834716796875],"mode":0,"size":[210,60],"type":"SetNode","flags":{},"order":17,"title":"Set_OutputMeshName","inputs":[{"link":36,"name":"STRING","type":"STRING"}],"outputs":[{"name":"*","type":"*","links":null}],"properties":{"previousName":"OutputMeshName","widget_ue_connectable":{}},"widgets_values":["OutputMeshName"]},{"id":21,"pos":[61.91644287109375,1301.9464111328125],"mode":0,"size":[247.41854858398438,146],"type":"Hy3DBakeMultiViews","flags":{},"order":27,"inputs":[{"link":18,"name":"pipeline","type":"HY3DPIPELINE"},{"link":19,"name":"camera_config","type":"HY3D21CAMERA"},{"link":20,"name":"albedo","type":"IMAGE"},{"link":21,"name":"mr","type":"IMAGE"}],"outputs":[{"name":"pipeline","type":"HY3DPIPELINE","links":[22]},{"name":"albedo","type":"NPARRAY","links":[23]},{"name":"albedo_mask","type":"NPARRAY","links":[24]},{"name":"mr","type":"NPARRAY","links":[25]},{"name":"mr_mask","type":"NPARRAY","links":[26]},{"name":"albedo_texture","type":"IMAGE","links":[]},{"name":"mr_texture","type":"IMAGE","links":[]}],"properties":{"ver":"e439689e4b67fb2af5f487ee26ef3a710be92658","aux_id":"visualbruno/ComfyUI-Hunyuan3d-2-1","Node name for S&R":"Hy3DBakeMultiViews","widget_ue_connectable":{}},"widgets_values":[]},{"id":53,"pos":[-1651.7657470703125,1807.0526123046875],"mode":0,"size":[400,200],"type":"ComfyUIDeployExternalNumberInt","flags":{},"order":6,"inputs":[],"outputs":[{"name":"value","type":"INT","links":[86]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalNumberInt"},"widgets_values":["seed",2147483536,"",""]},{"id":54,"pos":[-695.78173828125,1689.691650390625],"mode":0,"size":[270,266],"type":"ImageResizeKJv2","flags":{},"order":18,"inputs":[{"link":100,"name":"image","type":"IMAGE"}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[89]},{"name":"width","type":"INT","links":null},{"name":"height","type":"INT","links":null}],"properties":{"Node name for S&R":"ImageResizeKJv2"},"widgets_values":[518,518,"nearest-exact","pad","0, 0, 0","center",2,"cpu"]},{"id":23,"pos":[780.4073486328125,2081.24755859375],"mode":4,"size":[566.8533935546875,375.0199890136719],"type":"SaveImage","flags":{},"order":7,"inputs":[{"link":null,"name":"images","type":"IMAGE"}],"outputs":[],"properties":{"ver":"0.3.41","cnr_id":"comfy-core","Node name for S&R":"SaveImage","widget_ue_connectable":{}},"widgets_values":["MV"]},{"id":18,"pos":[369.45013427734375,1179.9974365234375],"mode":0,"size":[173.45370483398438,26],"type":"Hy3DMeshUVWrap","flags":{},"order":24,"inputs":[{"link":67,"name":"trimesh","type":"TRIMESH"}],"outputs":[{"name":"trimesh","type":"TRIMESH","links":[16]}],"properties":{"ver":"cbe2837e506ffb5942fda754d0f0bccf586363a8","cnr_id":"comfyui-hunyan3dwrapper","Node name for S&R":"Hy3DMeshUVWrap","widget_ue_connectable":{}},"widgets_values":[]},{"id":27,"pos":[821.2094116210938,1485.1124267578125],"mode":0,"size":[521.0648193359375,541.1102294921875],"type":"Preview3D","flags":{},"order":33,"inputs":[{"link":null,"name":"camera_info","type":"LOAD3D_CAMERA","shape":7},{"link":31,"name":"model_file","type":"STRING","widget":{"name":"model_file"}}],"outputs":[],"properties":{"ver":"0.3.41","cnr_id":"comfy-core","Camera Info":{"zoom":1,"target":{"x":0,"y":2.5,"z":0},"position":{"x":-0.43276637265206386,"y":4.886594147822514,"z":12.532801057461237},"cameraType":"perspective"},"Node name for S&R":"Preview3D","Last Time Model File":"01_model.glb","widget_ue_connectable":{}},"widgets_values":["01_model.glb",""]},{"id":45,"pos":[-319.9796142578125,1734.7188720703125],"mode":0,"size":[340,218],"type":"BiRefNetRMBG","color":"#222e40","flags":{},"order":19,"inputs":[{"link":89,"name":"image","type":"IMAGE"},{"link":78,"name":"background_color","type":"COLOR","shape":7}],"bgcolor":"#364254","outputs":[{"name":"IMAGE","type":"IMAGE","links":[76,77,96]},{"name":"MASK","type":"MASK","links":null},{"name":"MASK_IMAGE","type":"IMAGE","links":null}],"properties":{"Node name for S&R":"BiRefNetRMBG"},"widgets_values":["BiRefNet-general",0,0,false,false,"Alpha"]},{"id":57,"pos":[-287.0202331542969,2111.192626953125],"mode":0,"size":[294.66522216796875,268.7927551269531],"type":"PreviewImage","flags":{},"order":21,"inputs":[{"link":96,"name":"images","type":"IMAGE"}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":37,"pos":[-683.7005004882812,912.8623046875],"mode":0,"size":[306.1265563964844,154],"type":"Hy3DMeshGenerator","flags":{},"order":20,"inputs":[{"link":77,"name":"image","type":"IMAGE"}],"outputs":[{"name":"latents","type":"HY3DLATENT","links":[62]}],"properties":{"ver":"f82cfc7e7198169fd39b4ffee510ef34ce842076","aux_id":"visualbruno/ComfyUI-Hunyuan3d-2-1","Node name for S&R":"Hy3DMeshGenerator","widget_ue_connectable":{}},"widgets_values":["hunyuan3d-dit-v2-1/model.fp16.ckpt",25,7.5,1022802296100604,"randomize"]},{"id":24,"pos":[157.2095184326172,1993.9393310546875],"mode":0,"size":[574.270751953125,399.5129089355469],"type":"PreviewImage","flags":{},"order":28,"inputs":[{"link":87,"name":"images","type":"IMAGE"}],"outputs":[],"properties":{"ver":"0.3.41","cnr_id":"comfy-core","Node name for S&R":"PreviewImage","widget_ue_connectable":{}},"widgets_values":[]},{"id":22,"pos":[369.3127746582031,1300.4774169921875],"mode":0,"size":[223.405517578125,142],"type":"Hy3DInPaint","flags":{},"order":29,"inputs":[{"link":22,"name":"pipeline","type":"HY3DPIPELINE"},{"link":23,"name":"albedo","type":"NPARRAY"},{"link":24,"name":"albedo_mask","type":"NPARRAY"},{"link":25,"name":"mr","type":"NPARRAY"},{"link":26,"name":"mr_mask","type":"NPARRAY"},{"link":38,"name":"output_mesh_name","type":"STRING","widget":{"name":"output_mesh_name"}}],"outputs":[{"name":"pipeline","type":"HY3DPIPELINE","links":null},{"name":"albedo","type":"IMAGE","links":[95]},{"name":"mr","type":"IMAGE","links":[97]},{"name":"trimesh","type":"TRIMESH","links":[94]},{"name":"output_glb_path","type":"STRING","links":[31]}],"properties":{"ver":"e439689e4b67fb2af5f487ee26ef3a710be92658","aux_id":"visualbruno/ComfyUI-Hunyuan3d-2-1","Node name for S&R":"Hy3DInPaint","widget_ue_connectable":{}},"widgets_values":["House_Hy21"]},{"id":8,"pos":[811.4606323242188,1005.521240234375],"mode":0,"size":[270,106],"type":"Hy3DExportMesh","flags":{},"order":32,"inputs":[{"link":94,"name":"trimesh","type":"TRIMESH"},{"link":68,"name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"}},{"link":83,"name":"file_format","type":"COMBO","widget":{"name":"file_format"}}],"outputs":[{"name":"glb_path","type":"STRING","links":[90]}],"properties":{"ver":"cbe2837e506ffb5942fda754d0f0bccf586363a8","cnr_id":"comfyui-hunyan3dwrapper","Node name for S&R":"Hy3DExportMesh","widget_ue_connectable":{}},"widgets_values":["House_Hy21","glb",true]},{"id":49,"pos":[-1955.5667724609375,1178.73193359375],"mode":0,"size":[400,200],"type":"ComfyUIDeployExternalText","flags":{},"order":8,"inputs":[],"outputs":[{"name":"text","type":"STRING","links":[82]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalText"},"widgets_values":["Model_name","01_model","",""]},{"id":50,"pos":[-1631.7672119140625,1511.41064453125],"mode":0,"size":[400,214],"type":"ComfyUIDeployExternalEnum","flags":{},"order":9,"inputs":[],"outputs":[{"name":"text","type":"*","links":[83]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalEnum"},"widgets_values":["file_format","obj","[\"glb\",\"obj\",\"ply\",\"stl\",\"3mf\",\"dae\"]","",""]},{"id":9,"pos":[-321.82135009765625,902.215576171875],"mode":0,"size":[288.7496032714844,266],"type":"Hy3D21VAEDecode","flags":{},"order":22,"inputs":[{"link":61,"name":"vae","type":"HY3DVAE"},{"link":62,"name":"latents","type":"HY3DLATENT"},{"link":null,"name":"pipeline","type":"HY3D21PIPELINE"}],"outputs":[{"name":"trimesh","type":"TRIMESH","links":[63]}],"properties":{"ver":"e439689e4b67fb2af5f487ee26ef3a710be92658","aux_id":"visualbruno/ComfyUI-Hunyuan3d-2-1","Node name for S&R":"Hy3D21VAEDecode","widget_ue_connectable":{}},"widgets_values":[1.01,512,64000,0,"mc",true,false]},{"id":59,"pos":[-718.326171875,2072.001220703125],"mode":0,"size":[309.1890563964844,154],"type":"ComfyUIDeployExternalImage","flags":{},"order":16,"inputs":[{"link":99,"name":"default_value","type":"IMAGE","shape":7}],"outputs":[{"name":"image","type":"IMAGE","links":[100]}],"properties":{"Node name for S&R":"ComfyUIDeployExternalImage"},"widgets_values":["input_image","","","",""]},{"id":58,"pos":[1116.7684326171875,1175.668212890625],"mode":0,"size":[261.5340881347656,270],"type":"SaveImage","flags":{},"order":31,"inputs":[{"link":97,"name":"images","type":"IMAGE"},{"link":108,"name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"}}],"outputs":[],"properties":{},"widgets_values":["Mr_texture"]},{"id":52,"pos":[820.7979736328125,1171.15625],"mode":0,"size":[270,270.00006103515625],"type":"SaveImage","flags":{},"order":30,"inputs":[{"link":95,"name":"images","type":"IMAGE"},{"link":107,"name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"}}],"outputs":[],"properties":{},"widgets_values":["Albedo_texture"]},{"id":32,"pos":[-1509.0982666015625,1284.242431640625],"mode":0,"size":[270,58],"type":"StringConstant","flags":{},"order":13,"inputs":[{"link":82,"name":"string","type":"STRING","widget":{"name":"string"}}],"outputs":[{"name":"STRING","type":"STRING","links":[36]}],"properties":{"ver":"1.1.2","cnr_id":"comfyui-kjnodes","Node name for S&R":"StringConstant","widget_ue_connectable":{}},"widgets_values":["Snake"]},{"id":20,"pos":[-352.45440673828125,1307.0477294921875],"mode":0,"size":[338.5425720214844,242],"type":"Hy3DMultiViewsGenerator","flags":{},"order":25,"inputs":[{"link":16,"name":"trimesh","type":"TRIMESH"},{"link":17,"name":"camera_config","type":"HY3D21CAMERA"},{"link":76,"name":"image","type":"IMAGE"},{"link":86,"name":"seed","type":"INT","widget":{"name":"seed"}}],"outputs":[{"name":"pipeline","type":"HY3DPIPELINE","links":[18]},{"name":"albedo","type":"IMAGE","links":[20,104]},{"name":"mr","type":"IMAGE","links":[21,87]}],"properties":{"ver":"19e77b34abcadf80a782bc34ec447b8b366773d1","aux_id":"visualbruno/ComfyUI-Hunyuan3d-2-1","Node name for S&R":"Hy3DMultiViewsGenerator","widget_ue_connectable":{}},"widgets_values":[768,10,3,2048,false,461240756376477,"randomize"]},{"id":65,"pos":[159.38296508789062,1543.2576904296875],"mode":0,"size":[582.87939453125,377.8246154785156],"type":"PreviewImage","flags":{},"order":26,"inputs":[{"link":104,"name":"images","type":"IMAGE"}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage"},"widgets_values":[]},{"id":41,"pos":[166.0989532470703,747.363037109375],"mode":0,"size":[210,60],"type":"GetNode","flags":{},"order":10,"title":"Get_OutputMeshName","inputs":[],"outputs":[{"name":"STRING","type":"STRING","links":[68,105,106]}],"properties":{},"widgets_values":["OutputMeshName"]},{"id":66,"pos":[506.13409423828125,728.4271850585938],"mode":0,"size":[400,200],"type":"StringConcatenate","flags":{},"order":14,"inputs":[{"link":105,"name":"string_a","type":"STRING","widget":{"name":"string_a"}}],"outputs":[{"name":"STRING","type":"STRING","links":[107]}],"properties":{"Node name for S&R":"StringConcatenate"},"widgets_values":["","_Albedo_texture",""]},{"id":55,"pos":[1381.3182373046875,1486.6409912109375],"mode":0,"size":[521.0648193359375,541.1102294921875],"type":"Preview3D","flags":{},"order":34,"inputs":[{"link":null,"name":"camera_info","type":"LOAD3D_CAMERA","shape":7},{"link":90,"name":"model_file","type":"STRING","widget":{"name":"model_file"}}],"outputs":[],"properties":{"ver":"0.3.41","cnr_id":"comfy-core","Camera Info":{"zoom":1,"target":{"x":0,"y":2.5,"z":0},"position":{"x":9.982614875888581,"y":5.042718573055203,"z":8.804978303724734},"cameraType":"perspective"},"Node name for S&R":"Preview3D","Last Time Model File":"01_model_00001_.obj","widget_ue_connectable":{}},"widgets_values":["01_model_00001_.obj",""]},{"id":56,"pos":[-1050.976318359375,1655.5216064453125],"mode":0,"size":[274.080078125,314],"type":"LoadImage","flags":{},"order":11,"inputs":[],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[99]},{"name":"MASK","type":"MASK","links":null}],"properties":{"Node name for S&R":"LoadImage"},"widgets_values":["3ff3d9021bfa61c5a312e5826001ba78.jpg","image"]},{"id":67,"pos":[949.4906005859375,729.3807373046875],"mode":0,"size":[400,200],"type":"StringConcatenate","flags":{},"order":15,"inputs":[{"link":106,"name":"string_a","type":"STRING","widget":{"name":"string_a"}}],"outputs":[{"name":"STRING","type":"STRING","links":[108]}],"properties":{"Node name for S&R":"StringConcatenate"},"widgets_values":["","_Material_texture",""]}],"config":{},"groups":[],"version":0.4,"revision":0,"environment":{"gpu":"L40S","extra_args":null,"run_timeout":300,"machine_hash":"49ad35506aa257679ad3ff5708cee9f4d1fd5fef53fb74ca6436a3f2314469b4","max_containers":1,"min_containers":0,"python_version":"3.11","comfyui_version":"483b3e62e00624fc52da8ad67e88f863abe975d2","disable_metadata":true,"prestart_command":null,"scaledown_window":60,"base_docker_image":null,"docker_command_steps":{"steps":[{"id":"b209114f-d","data":"# Stage 0: Base (Modal ignores this)\nFROM scratch AS base","type":"commands"},{"id":"37e9a26b-f","data":"# Stage 1: The actual build stage\nFROM nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04 AS comfyui-builder\n\n# Set CUDA architecture for L40s\nENV TORCH_CUDA_ARCH_LIST=8.9\n\n# Set up CUDA environment variables\nENV CUDA_HOME=/usr/local/cuda\nENV PATH=/usr/local/cuda/bin:${PATH}\nENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:-}\nENV CUDA_LAUNCH_BLOCKING=1\nENV TORCH_USE_CUDA_DSA=1\n","type":"commands"},{"id":"2616be6e-f","data":"# Fix temp directory permissions for Modal\nRUN mkdir -p /tmp && chmod 1777 /tmp","type":"commands"},{"id":"fe097e03-d","data":"# Install system dependencies\nRUN apt-get update && \\\n    apt-get install -y --no-install-recommends \\\n    python3 \\\n    python3-pip \\\n    git \\\n    git-lfs \\\n    curl \\\n    aria2 \\\n    ffmpeg \\\n    poppler-utils \\\n    && rm -rf /var/lib/apt/lists/*","type":"commands"},{"id":"bf8fbb23-4","data":"# Add NVIDIA’s CUDA repo (if not already present)\nRUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb && \\\n    dpkg -i cuda-keyring_1.1-1_all.deb && \\\n    apt-get update\n\n# Install only the CUDA 12.8 dev toolkit (headers, compiler, libs)\nRUN apt-get install -y --no-install-recommends cuda-toolkit-12-8\n","type":"commands"},{"id":"93215c56-4","data":"# Python environment setup\nRUN python3 -m pip install --upgrade pip setuptools wheel","type":"commands"},{"id":"ed33c547-8","data":"RUN pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu128","type":"commands"},{"id":"ecc8d520-7","data":"# Install ML dependencies\nRUN pip3 install transformers triton ninja\nRUN pip3 install sageattention \nRUN pip3 install xatlas","type":"commands"},{"id":"2cffe64d-3","data":"# This step is commented out, as we cannot compile from source.\n# RUN pip3 install flash-attn==2.7.3 --no-build-isolation","type":"commands"},{"id":"c468aa20-6","data":"# FINAL FIX: Install the pre-compiled wheel directly. This avoids\n# the need for the nvcc compiler which is missing in the build environment.\nRUN pip install https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.3/flash_attn-2.7.3+cu12torch2.6cxx11abiTRUE-cp311-cp311-linux_x86_64.whl","type":"commands"},{"id":"5b3828e3-7","data":"# THE FINAL STEP - YOUR SOLUTION: Clone your fork and install your pre-built wheels.\n# This completely bypasses the broken compilation environment.\nRUN set -e && \\\n    cd /comfyui/custom_nodes && \\\n    echo 'Cloning your forked repository...' && \\\n    git -c credential.helper= clone https://github.com/if-ai/ComfyUI-Hunyuan3d-2-1.git && \\\n    cd ComfyUI-Hunyuan3d-2-1 && \\\n    echo 'Installing pre-built wheels...' && \\\n    pip install hy3dpaint/custom_rasterizer/dist/custom_rasterizer-0.1-cp311-cp311-linux_x86_64.whl && \\\n    pip install hy3dpaint/DifferentiableRenderer/dist/mesh_inpaint_processor-0.0.0-cp311-cp311-linux_x86_64.whl && \\\n    echo 'Installation from wheels complete.'","type":"commands"},{"id":"b47e2463-5","data":"# (still inside your hunyuan3d-wheels env)\nRUN pip install --upgrade \"pytorch-lightning>=2.2\"      # provides both 'lightning' and 'pytorch_lightning'                                 # lightning uses ninja if present for C++/CUDA ops\nRUN pip install onnxruntime-gpu==1.18.0                 # optional: enables GPU path for DWPose\n","type":"commands"},{"id":"04afd335-4","data":"RUN pip install git+https://github.com/EasternJournalist/utils3d.git#egg=utils3d\nRUN pip install --no-cache-dir --no-deps git+https://github.com/NVlabs/nvdiffrast.git#egg=nvdiffrast\nRUN pip install pynanoinstantmeshes==0.0.3\nRUN pip install pyfqmr\n","type":"commands"},{"id":"c6a3bb26-d","data":{"url":"https://github.com/comfy-deploy/comfyui-llm-toolkit","hash":"d8b0243e94e935d846c3235a85e07c43cd17598a","meta":{"message":"Update pyproject.toml","committer":{"date":"2025-06-18T01:48:53.000Z","name":"GitHub","email":"noreply@github.com"},"commit_url":"https://github.com/comfy-deploy/comfyui-llm-toolkit/commit/d8b0243e94e935d846c3235a85e07c43cd17598a","latest_hash":"d8b0243e94e935d846c3235a85e07c43cd17598a","stargazers_count":19},"name":"ComfyUI LLM Toolkit","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"0a859818-a","data":{"url":"https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite","hash":"a7ce59e381934733bfae03b1be029756d6ce936d","meta":{"message":"Fix Use Everywhere compatibility","committer":{"date":"2025-04-26T20:27:20.000Z","name":"AustinMroz","email":"austinmroz@utexas.edu"},"commit_url":"https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite/commit/a7ce59e381934733bfae03b1be029756d6ce936d","latest_hash":"a7ce59e381934733bfae03b1be029756d6ce936d","stargazers_count":1053},"name":"ComfyUI-VideoHelperSuite","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"619c3136-6","data":{"url":"https://github.com/rgthree/rgthree-comfy","hash":"84a146fee39f7b3a8c6631dcac29bc13b077eb49","meta":{"message":"Inc version","committer":{"date":"2025-06-08T16:10:06.000Z","name":"rgthree","email":"regis.gaughan@gmail.com"},"commit_url":"https://github.com/rgthree/rgthree-comfy/commit/84a146fee39f7b3a8c6631dcac29bc13b077eb49","latest_hash":"84a146fee39f7b3a8c6631dcac29bc13b077eb49","stargazers_count":1983},"name":"rgthree's ComfyUI Nodes","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"6b52c0ac-0","data":{"url":"https://github.com/kijai/ComfyUI-KJNodes","hash":"f7eb33abc80a2aded1b46dff0dd14d07856a7d50","meta":{"message":"I remembered\n\nShould keep the id or node title methods viable, though not recommended","committer":{"date":"2025-06-18T08:03:51.000Z","name":"kijai","email":"40791699+kijai@users.noreply.github.com"},"commit_url":"https://github.com/kijai/ComfyUI-KJNodes/commit/f7eb33abc80a2aded1b46dff0dd14d07856a7d50","latest_hash":"f7eb33abc80a2aded1b46dff0dd14d07856a7d50","stargazers_count":1470},"name":"KJNodes for ComfyUI","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"02184577-1","data":{"url":"https://github.com/1038lab/ComfyUI-RMBG","hash":"8577848f31ed7dcf19b920451e7e90fad17cbc3b","meta":{"message":"Add files via upload","committer":{"date":"2025-06-01T21:28:56.000Z","name":"GitHub","email":"noreply@github.com"},"commit_url":"https://github.com/1038lab/ComfyUI-RMBG/commit/8577848f31ed7dcf19b920451e7e90fad17cbc3b","latest_hash":"8577848f31ed7dcf19b920451e7e90fad17cbc3b","stargazers_count":1076},"name":"ComfyUI-RMBG","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"4a1db634-e","data":{"url":"https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes","hash":"d78b780ae43fcf8c6b7c6505e6ffb4584281ceca","meta":{"message":"version 1.76","committer":{"date":"2024-01-24T22:44:09.000Z","name":"Suzie1","email":"7.lyssa@gmail.com"},"commit_url":"https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/commit/d78b780ae43fcf8c6b7c6505e6ffb4584281ceca","latest_hash":"d78b780ae43fcf8c6b7c6505e6ffb4584281ceca","stargazers_count":912},"name":"Comfyroll Studio","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"2896b128-3","data":{"url":"https://github.com/if-ai/ComfyUI-WanResolutionSelector","hash":"a2fe6fa45ce2087d5cda40dae36e5fb895fff01e","meta":{"message":"fix readme","committer":{"date":"2025-06-20T19:40:30.000Z","name":"ImpactFrames","email":"impactframes@outlook.com"},"commit_url":"https://github.com/if-ai/ComfyUI-WanResolutionSelector/commit/a2fe6fa45ce2087d5cda40dae36e5fb895fff01e","latest_hash":"a2fe6fa45ce2087d5cda40dae36e5fb895fff01e","stargazers_count":0},"name":"ComfyUI-WanResolutionSelector","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"74b462e7-a","data":{"url":"https://github.com/jamesWalker55/comfyui-various","hash":"5bd85aaf7616878471469c4ec7e11bbd0cef3bf2","meta":{"message":"New experimental sound module","committer":{"date":"2025-02-27T11:01:47.000Z","name":"James Walker","email":"james.chunho@gmail.com"},"commit_url":"https://github.com/jamesWalker55/comfyui-various/commit/5bd85aaf7616878471469c4ec7e11bbd0cef3bf2","latest_hash":"5bd85aaf7616878471469c4ec7e11bbd0cef3bf2","stargazers_count":104},"name":"Various ComfyUI Nodes by Type","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"8d3ea716-4","data":{"url":"https://github.com/LAOGOU-666/Comfyui_LG_Tools","hash":"c0efd16fcec289d2f2c93f2c3526b225c922410b","meta":{"message":"更新桥接预览V2遮罩反转问题","committer":{"date":"2025-06-12T09:20:27.000Z","name":"LAOGOU-666","email":"441059767@qq.com"},"commit_url":"https://github.com/LAOGOU-666/Comfyui_LG_Tools/commit/c0efd16fcec289d2f2c93f2c3526b225c922410b","latest_hash":"c0efd16fcec289d2f2c93f2c3526b225c922410b","stargazers_count":139},"name":"Comfyui_LG_Tools","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"d0280aaf-d","data":{"url":"https://github.com/ltdrdata/was-node-suite-comfyui","hash":"f86447721c18758d7b3b6ae5769f52344a3d764a","meta":{"message":"modified: Migrated from WASasquatch to a repo based on ltdrdata\nfeat: Added whitelist feature for security enhancement","committer":{"date":"2025-06-03T09:39:55.000Z","name":"Dr.Lt.Data","email":"dr.lt.data@gmail.com"},"commit_url":"https://github.com/ltdrdata/was-node-suite-comfyui/commit/f86447721c18758d7b3b6ae5769f52344a3d764a","latest_hash":"f86447721c18758d7b3b6ae5769f52344a3d764a","stargazers_count":27},"name":"WAS Node Suite (Revised)","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"513e69aa-d","data":{"url":"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl","hash":"2b95c2c866399ca1914b4da486fe52808f7a9c60","meta":{"message":"fix mask bug","committer":{"date":"2025-04-19T08:47:58.000Z","name":"kaidu","email":"git@k-du.de"},"commit_url":"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl/commit/2b95c2c866399ca1914b4da486fe52808f7a9c60","latest_hash":"2b95c2c866399ca1914b4da486fe52808f7a9c60","stargazers_count":589},"name":"Advanced Reflux control","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"0a1f769c-5","data":{"url":"https://github.com/cubiq/ComfyUI_essentials","hash":"9d9f4bedfc9f0321c19faf71855e228c93bd0dc9","meta":{"message":"maintenance mode","committer":{"date":"2025-04-14T07:33:21.000Z","name":"cubiq","email":"matteo@elf.io"},"commit_url":"https://github.com/cubiq/ComfyUI_essentials/commit/9d9f4bedfc9f0321c19faf71855e228c93bd0dc9","latest_hash":"9d9f4bedfc9f0321c19faf71855e228c93bd0dc9","stargazers_count":870},"name":"ComfyUI Essentials","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"32b98d60-1","data":{"url":"https://github.com/lldacing/ComfyUI_PuLID_Flux_ll","hash":"ba90657fe6ffa8072ac169a949bfa5e4153bf48a","meta":{"message":"Merge pull request #60 from ComfyNodePRs/update-publish-yaml\n\nUpdate Github Action for Publishing to Comfy Registry","committer":{"date":"2025-04-08T06:21:55.000Z","name":"GitHub","email":"noreply@github.com"},"commit_url":"https://github.com/lldacing/ComfyUI_PuLID_Flux_ll/commit/ba90657fe6ffa8072ac169a949bfa5e4153bf48a","latest_hash":"ba90657fe6ffa8072ac169a949bfa5e4153bf48a","stargazers_count":372},"name":"ComfyUI_PuLID_Flux_ll","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"e55398c3-7","data":{"url":"https://github.com/Fannovel16/comfyui_controlnet_aux","hash":"59b027e088c1c8facf7258f6e392d16d204b4d27","meta":{"message":"Push to registry","committer":{"date":"2025-06-20T08:57:29.000Z","name":"GitHub","email":"noreply@github.com"},"commit_url":"https://github.com/Fannovel16/comfyui_controlnet_aux/commit/59b027e088c1c8facf7258f6e392d16d204b4d27","latest_hash":"59b027e088c1c8facf7258f6e392d16d204b4d27","stargazers_count":3110},"name":"ComfyUI's ControlNet Auxiliary Preprocessors","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"dc4f0d6e-2","data":{"url":"https://github.com/smthemex/ComfyUI_PartPacker","hash":"f2061567b5d51c02dfb21a74b0ffeb79bbddf670","meta":{"message":"Update README.md","committer":{"date":"2025-06-23T10:11:04.000Z","name":"GitHub","email":"noreply@github.com"},"commit_url":"https://github.com/smthemex/ComfyUI_PartPacker/commit/f2061567b5d51c02dfb21a74b0ffeb79bbddf670","latest_hash":"f2061567b5d51c02dfb21a74b0ffeb79bbddf670","stargazers_count":13},"name":"ComfyUI_PartPacker","files":[],"install_type":"git-clone"},"type":"custom-node"},{"id":"73e4e978-5","data":{"url":"https://github.com/kijai/ComfyUI-Hunyuan3DWrapper.git","hash":"cbe2837e506ffb5942fda754d0f0bccf586363a8","meta":{"message":"Fix old model loading","committer":{"date":"2025-06-15T09:52:39.000Z","name":"kijai","email":"40791699+kijai@users.noreply.github.com"},"latest_hash":"cbe2837e506ffb5942fda754d0f0bccf586363a8"},"name":"ComfyUI-Hunyuan3DWrapper.git","files":["https://github.com/kijai/ComfyUI-Hunyuan3DWrapper.git"],"install_type":"git-clone"},"type":"custom-node"}]},"extra_docker_commands":[],"install_custom_node_with_gpu":false},"last_link_id":108,"last_node_id":67,"workflow_api":{"4":{"_meta":{"title":"Hunyuan 3D 2.1 VAE Loader"},"inputs":{"model_name":"hunyuan3d-vae-v2-1.fp16.ckpt"},"class_type":"Hy3D21VAELoader"},"7":{"_meta":{"title":"Hy3D Postprocess Mesh"},"inputs":{"trimesh":["9",0],"max_facenum":["30",0],"reduce_faces":true,"smooth_normals":false,"remove_floaters":true,"remove_degenerate_faces":true},"class_type":"Hy3DPostprocessMesh"},"8":{"_meta":{"title":"Hy3DExportMesh"},"inputs":{"trimesh":["22",3],"save_file":true,"file_format":["50",0],"filename_prefix":["32",0]},"class_type":"Hy3DExportMesh"},"9":{"_meta":{"title":"Hunyuan 3D 2.1 VAE Decoder"},"inputs":{"vae":["4",0],"box_v":1.01,"latents":["37",0],"mc_algo":"mc","mc_level":0,"num_chunks":64000,"force_offload":false,"enable_flash_vdm":true,"octree_resolution":512},"class_type":"Hy3D21VAEDecode"},"18":{"_meta":{"title":"Hy3D Mesh UV Wrap"},"inputs":{"trimesh":["7",0]},"class_type":"Hy3DMeshUVWrap"},"19":{"_meta":{"title":"Hunyuan 3D 2.1 Camera Config"},"inputs":{"ortho_scale":1.1000000000000003,"view_weights":"1, 0.5, 1, 0.5, 1, 1","camera_azimuths":"0, 90, 180, 270, 0, 180","camera_elevations":"0, 0, 0, 0, 90, -90"},"class_type":"Hy3D21CameraConfig"},"20":{"_meta":{"title":"Hunyuan 3D 2.1 MultiViews Generator"},"inputs":{"seed":["53",0],"image":["45",0],"steps":10,"trimesh":["18",0],"view_size":768,"unwrap_mesh":false,"texture_size":2048,"camera_config":["19",0],"guidance_scale":3},"class_type":"Hy3DMultiViewsGenerator"},"21":{"_meta":{"title":"Hunyuan 3D 2.1 Bake MultiViews"},"inputs":{"mr":["20",2],"albedo":["20",1],"pipeline":["20",0],"camera_config":["19",0]},"class_type":"Hy3DBakeMultiViews"},"22":{"_meta":{"title":"Hunyuan 3D 2.1 InPaint"},"inputs":{"mr":["21",3],"albedo":["21",1],"mr_mask":["21",4],"pipeline":["21",0],"albedo_mask":["21",2],"output_mesh_name":["32",0]},"class_type":"Hy3DInPaint"},"24":{"_meta":{"title":"Preview Image"},"inputs":{"images":["20",2]},"class_type":"PreviewImage"},"27":{"_meta":{"title":"Preview 3D"},"inputs":{"image":"","model_file":["22",4]},"class_type":"Preview3D"},"30":{"_meta":{"title":"INT Constant"},"inputs":{"value":200000},"class_type":"INTConstant"},"32":{"_meta":{"title":"String Constant"},"inputs":{"string":["49",0]},"class_type":"StringConstant"},"37":{"_meta":{"title":"Hunyuan 3D 2.1 Mesh Generator"},"inputs":{"seed":1022802296100604,"image":["45",0],"model":"hunyuan3d-dit-v2-1/model.fp16.ckpt","steps":25,"guidance_scale":7.5},"class_type":"Hy3DMeshGenerator"},"45":{"_meta":{"title":"BiRefNet Remove Background (RMBG)"},"inputs":{"image":["54",0],"model":"BiRefNet-general","mask_blur":0,"background":"Alpha","mask_offset":0,"invert_output":false,"background_color":["46",0],"refine_foreground":false},"class_type":"BiRefNetRMBG"},"46":{"_meta":{"title":"Color Input (RMBG) 🎨"},"inputs":{"color":"","preset":"white"},"class_type":"AILab_ColorInput"},"49":{"_meta":{"title":"External Text (ComfyUI Deploy)"},"inputs":{"input_id":"Model_name","description":"","display_name":"","default_value":"01_model"},"class_type":"ComfyUIDeployExternalText"},"50":{"_meta":{"title":"External Enum"},"inputs":{"options":"[\"glb\",\"obj\",\"ply\",\"stl\",\"3mf\",\"dae\"]","input_id":"file_format","description":"","display_name":"","default_value":"obj"},"class_type":"ComfyUIDeployExternalEnum"},"52":{"_meta":{"title":"Save Image"},"inputs":{"images":["22",1],"filename_prefix":["66",0]},"class_type":"SaveImage"},"53":{"_meta":{"title":"External Number Int (ComfyUI Deploy)"},"inputs":{"input_id":"seed","description":"","display_name":"","default_value":2147483536},"class_type":"ComfyUIDeployExternalNumberInt"},"54":{"_meta":{"title":"Resize Image v2"},"inputs":{"image":["59",0],"width":518,"device":"cpu","height":518,"pad_color":"0, 0, 0","divisible_by":2,"crop_position":"center","upscale_method":"nearest-exact","keep_proportion":"pad"},"class_type":"ImageResizeKJv2"},"55":{"_meta":{"title":"Preview 3D"},"inputs":{"image":"","model_file":["8",0]},"class_type":"Preview3D"},"56":{"_meta":{"title":"Load Image"},"inputs":{"image":"3ff3d9021bfa61c5a312e5826001ba78.jpg"},"class_type":"LoadImage"},"57":{"_meta":{"title":"Preview Image"},"inputs":{"images":["45",0]},"class_type":"PreviewImage"},"58":{"_meta":{"title":"Save Image"},"inputs":{"images":["22",2],"filename_prefix":["67",0]},"class_type":"SaveImage"},"59":{"_meta":{"title":"External Image (ComfyUI Deploy)"},"inputs":{"input_id":"input_image","description":"","display_name":"","default_value":["56",0],"default_value_url":""},"class_type":"ComfyUIDeployExternalImage"},"65":{"_meta":{"title":"Preview Image"},"inputs":{"images":["20",1]},"class_type":"PreviewImage"},"66":{"_meta":{"title":"Concatenate"},"inputs":{"string_a":["32",0],"string_b":"_Albedo_texture","delimiter":""},"class_type":"StringConcatenate"},"67":{"_meta":{"title":"Concatenate"},"inputs":{"string_a":["32",0],"string_b":"_Material_texture","delimiter":""},"class_type":"StringConcatenate"}}}