Nodes/ComfyUI Seedance/混元 3D v3.1 生成(文生/多视图图生)
ComfyUI Node

混元 3D v3.1 生成(文生/多视图图生)

Hunyuan 3D v3.1 renders GLB straight into the graph

By T8mars·Created 2 months ago·Updated 3 days ago· 31
混元 3D v3.1 生成(文生/多视图图生)
  • image1
  • image2
  • image3
  • image4
  • image5
  • image6
  • image7
  • image8
  • api_config
  • model_3d
  • model_url
  • local_path
  • task_id
  • response
modelhunyuan3d-v3.1-text-to-3d
prompt
face_count500000
enable_pbrfalse
generate_typeNormal
skip_errorfalse
seed0

Most ComfyUI is images and video. This node does the rare thing: it returns an actual 3D model - a .glb file - as a native FILE_3D_GLB output you can feed into ComfyUI's own Preview3D and SaveGLB nodes. Hunyuan 3D v3.1 is Tencent's 3D generation line (Hunyuan being Tencent's big model family), and through this node you get two modes: text-to-3D, or image-to-3D from an ordered set of up to eight views. It's the only node in the T8mars/ComfyUI_Seedance pack that isn't flat media, and it earns its Seedance/3D category.

Everything else about it is the pack's standard API-wrapper deal: key from api.seedance.nz, no local compute, requests only.

How it works

Pick the model - hunyuan3d-v3.1-text-to-3d or hunyuan3d-v3.1-image-to-3d - and the node adapts. Text mode wants just the prompt; image mode grows eight ordered image slots. The order isn't decorative: the tooltips name them front (1/8), left (2/8), right (3/8), back (4/8), top (5/8), bottom (6/8), front-left (7/8), front-right (8/8), and you're told to connect them without gaps. The node uploads them, submits, polls, and downloads the result. Here's the fiddly part it handles for you: the API can return a ZIP alongside the GLB, and the node picks the real .glb out of the response, verifying the file header, version and full length before handing it to ComfyUI.

The inputs that matter

  • model - text-to-3D or multi-view image-to-3D.
  • prompt - and here's the gotcha: required in both modes. v0.7.1 of the pack made it mandatory for image-to-3D too, matching real upstream behavior. So even with eight views connected, you still describe what you want.
  • face_count - target poly count, 10,000 to 1,500,000 (default 500,000). Lower is lighter to handle; higher is smoother.
  • enable_pbr - generate PBR materials. Off by default; turn it on if you need proper textures for rendering or game import.
  • generate_type - Normal, Geometry or Sketch.
  • image1..image8 - the ordered views.

Outputs: model_3d (FILE_3D_GLB), plus model_url, local_path, task_id, response for the impatient and the debugging-minded.

Installing it

ComfyUI Manager → search "ComfyUI Seedance", or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/ComfyUI_Seedance.git
cd ../..
python -m pip install -r custom_nodes/ComfyUI_Seedance/requirements.txt

Restart, key from api.seedance.nz/console, Seedance API Config into api_config. You'll also want ComfyUI's built-in 3D nodes (Preview3D, SaveGLB) - those are core, not part of this pack.

Common issues

  • Image mode won't run without a prompt - expected since v0.7.1; the prompt is required for both modes.
  • Skipped views - connect views in order without gaps; the tooltip is explicit and the node validates ordering.
  • GLB won't preview - make sure you're using ComfyUI's 3D preview (newer builds ship it). The pack verified real GLB output against the native preview/save nodes, so the file itself should be sound.
  • Huge face counts slow the download - 1.5M faces is a chunky file; drop face_count for tests.

One honest caveat: text-to-3D quality is still the weak leg of any 3D generator, image-to-3D included. If you can render a few views of your subject (even roughly), the multi-view path will beat pure text almost every time.

CategorySeedance/3D

Inputs (16)

NameTypeDefaultDescription
modelCOMBOhunyuan3d-v3.1-text-to-3dText-to-3D or ordered multi-view image-to-3D. | 文生 3D 或有序多视图图生 3D。
promptSTRINGRequired for both text-to-3D and image-to-3D. | 文生 3D 与图生 3D 均必须填写。
face_countINT50000010000–1500000Target face count, 10,000 to 1,500,000. | 目标面数,10,000 到 1,500,000。
enable_pbrBOOLEANfalseGenerate PBR materials. | 生成 PBR 材质。
generate_typeCOMBONormalDocumented generation type. | 文档规定的生成类型。
image1optIMAGEfront view (1/8). Connect views without gaps in the documented order. | front 视图(1/8),请按文档顺序连续连接。
image2optIMAGEleft view (2/8). Connect views without gaps in the documented order. | left 视图(2/8),请按文档顺序连续连接。
image3optIMAGEright view (3/8). Connect views without gaps in the documented order. | right 视图(3/8),请按文档顺序连续连接。
image4optIMAGEback view (4/8). Connect views without gaps in the documented order. | back 视图(4/8),请按文档顺序连续连接。
image5optIMAGEtop view (5/8). Connect views without gaps in the documented order. | top 视图(5/8),请按文档顺序连续连接。
image6optIMAGEbottom view (6/8). Connect views without gaps in the documented order. | bottom 视图(6/8),请按文档顺序连续连接。
image7optIMAGEfront-left view (7/8). Connect views without gaps in the documented order. | front-left 视图(7/8),请按文档顺序连续连接。
image8optIMAGEfront-right view (8/8). Connect views without gaps in the documented order. | front-right 视图(8/8),请按文档顺序连续连接。
api_configoptSEEDANCE_CONFIGConnect Seedance API Config; otherwise SEEDANCE_API_KEY is used.
skip_erroroptBOOLEANfalseOn failure return a valid placeholder GLB instead of stopping. | 失败时输出有效占位 GLB 而不中断工作流。
seedoptINT00–18446744073709550000ComfyUI cache seed. Fixed reuses the cached result while all other inputs stay unchanged; randomize/increment/decrement starts a new execution. This value is not sent to models without documented seed support. | ComfyUI 缓存种子;Fixed 在其他输入不变时复用缓存,随机、递增或递减会触发新任务。未声明支持 seed 的模型不会收到此参数。

Outputs (5)

NameTypeDescription
model_3dFILE_3D_GLB
model_urlSTRING
local_pathSTRING
task_idSTRING
responseSTRING