ComfyUI Extension: ComfyUI-TD

Authored by JiSenHua

Created

Updated

28 stars

A custom node for ComfyUI designed to facilitate the real-time transmission of rendered images, videos, or 3D models to TouchDesigner.

README

ComfyUI-TD

This custom node enables seamless data interaction between TouchDesigner (hereinafter referred to as "TD") and ComfyUI.

Supports real-time transmission of images, videos, and 3D models (point clouds) generated by ComfyUI into TD.

| | | | |:---:|:---:|:---:| | | | |

πŸ‡¨πŸ‡³ δΈ­ζ–‡η‰ˆ README

User Notice

  • ComfyUI-TD nodes are ported and optimized based on ComfyUI-Tooling-Nodes.
  • ComfyUI-TD requires the ComfyUI2TD.tox component to work.
  • Please ensure that the ComfyUI2TD.tox component is updated to version v_5.1.x or later. This version features a complete code overhaul, supporting video and 3D model (point cloud) data transmission. The WebSocket interface has also been rewritten to effectively resolve issues where data (images) might not return properly under poor network conditions when using a cloud-based ComfyUI.
  • Starting from version v_5.1.x, the pre-configured workflows in ComfyUI2TD.tox use ComfyUI-TD nodes instead of ComfyUI-Tooling-Nodes.
  • Older versions of ComfyUI2TD.tox were developed based on the TDComfyUI project. Thanks to olegchomp!
  • If you need to use a cloud-based ComfyUI, you can choose the Xiangongyun server. A compatible image is ready.

Usage Instructions

Video Tutorials


Installation of ComfyUI-TD Nodes

Method 1:

  • Use ComfyUI-Manager to search for ComfyUI-TD and directly install the nodes.
  • Manager_nodes

Method 2:

  • Manual Installation: Download and extract this project, then place it in X:\ComfyUI_windows_portable\ComfyUI\custom_nodes.

Method 3:

  • Install using the git clone command.
cd custom_nodes
git clone https://github.com/JiSenHua/ComfyUI-TD.git

Method 4:

  • Use the InjectFile feature of the ComfyUI2TD.tox component to automatically inject the nodes into X:\ComfyUI_windows_portable\ComfyUI\custom_nodes.

ComfyUI-TD Node Documentation

| Hy3DtoTD Node Example | |:---| | Hy3DtoTD | | - This node supports converting GLB models generated by Hunyuan3D_V2 into point cloud data, which can then be sent to TD for parsing to generate corresponding CHOP components.<br>- Requires installation of the ComfyUI-Hunyuan3DWrapper node.<br>- If you encounter difficulties installing ComfyUI-Hunyuan3DWrapper, you can use the cloud-based Xiangongyun image.<br>- The ComfyUI2TD.tox workflow preset Hunyuan3DV2_PointCloud provides a basic example for using this node. The corresponding .js workflow file is available in the workflow folder.<br>- The latest version of ComfyUI-Hunyuan3DWrapper has migrated all model workflows to trimesh.<br>- It is recommended to install ComfyUI_essentials to avoid errors when running preset workflows.<br>- broadcast parameter (disabled by default): When enabled, the generated point cloud data will be broadcast to all clients with an established WebSocket connection. |

| Tripo3DtoTD Node Example | |:---| | Tripo3DtoTD | | - This node supports converting GLB models generated by Tripo3D into point cloud data, which can then be sent to TD for parsing to generate corresponding CHOP components.<br>- Requires installation of the ComfyUI-Tripo node.<br>- Tripo is not an open-source model. You need to register an account and apply for an API on the Tripo official website.<br>- The ComfyUI2TD.tox workflow preset Tripo3D_PointCloud provides a basic example for using this node. The corresponding .js workflow file is available in the workflow folder.<br>- broadcast parameter (disabled by default): When enabled, the generated point cloud data will be broadcast to all clients with an established WebSocket connection. |

| Comfy3DPacktoTD Node Example | |:---| | Comfy3DPacktoTD | | - This node supports converting GLB models generated by 3DPack into point cloud data, which can then be sent to TD for parsing to generate corresponding CHOP components.<br>- Requires installation of the ComfyUI-3D-Pack node.<br>- If you encounter difficulties installing ComfyUI-3D-Pack, you can use the cloud-based Xiangongyun image.<br>- The ComfyUI2TD.tox workflow preset 3DPack_xxx_PointCloud provides a basic example for using this node. The corresponding .js workflow file is available in the workflow folder.<br>- Hunyuan3D_V2 in 3DPack is not compatible with Hunyuan3DWrapper. Please ensure you use the corresponding transfer nodes.<br>- broadcast parameter (disabled by default): When enabled, the generated point cloud data will be broadcast to all clients with an established WebSocket connection.<br>- Note: Currently, the Xiangongyun cloud image has only been tested with TRELLIS, Hunyuan3D_V2,TripoSR, and StableFast3D. Other 3D models are yet to be verified. Please report any issues in the Issues section. |

| VideotoTD Node Example | |:---| | VideotoTD | | - This node supports converting videos into data, which can then be sent to TD for parsing.<br>- Replace Video Combine πŸŽ₯πŸ…₯πŸ…—πŸ…’ in your workflow from ComfyUI-VideoHelperSuite with this node.<br>- The frame_rate parameter affects the frame rate of the video synthesis. A value of 8 is recommended.<br>- The quality parameter controls the compression quality of the video. A value of 75 is recommended for a balance between file size and image quality.<br>- Data will be parsed via ComfyUI2TD.tox and saved as .MP4 files in the VideoOutput folder located in the root directory.<br>- broadcast parameter (disabled by default): When enabled, the generated point cloud data will be broadcast to all clients with an established WebSocket connection. |

| ImagetoTD Node Example | |:---| | ImagetoTD | | - Based on the ComfyUI-Tooling-Nodes Send Image (WebSocket) node with additional development.<br>- This node supports sending images generated by ComfyUI to TD for parsing to generate corresponding TOP components.<br>- broadcast parameter (disabled by default): When enabled, the generated image data will be broadcast to all clients with an established WebSocket connection.<br>- From version v_5.1.x onwards, the ComfyUI2TD.tox component will use ComfyUI-TD nodes in preset workflows instead of ComfyUI-Tooling-Nodes. |

| LoadTDImage Node Example | |:---| | LoadTDImage | | - Based on the ComfyUI-Tooling-Nodes Load Image (Base64) node with additional development.<br>- This node supports using TOP components sent from TD as image input sources for ComfyUI.<br>- From version v_5.1.x onwards, the ComfyUI2TD.tox component will use ComfyUI-TD nodes in preset workflows instead of ComfyUI-Tooling-Nodes. |