Skip to content

feat(comfy_api): add basic 3D Model file types#12129

Merged
guill merged 7 commits intomasterfrom
feat/comfy_api/File3D-type
Feb 3, 2026
Merged

feat(comfy_api): add basic 3D Model file types#12129
guill merged 7 commits intomasterfrom
feat/comfy_api/File3D-type

Conversation

@bigcat88
Copy link
Contributor

@bigcat88 bigcat88 commented Jan 28, 2026

This should make possible to properly implement Convert Format nodes (GLB -> FBX, etc.) or pass a 3D model generated by one API service as input to another (e.g., generate with Meshy -> texture with Hunyuan3D Pro)

Changes

  • New File3D backing class (comfy_api/latest/_util/geometry_types.py): Stores 3D model data in memory as BytesIO with format metadata
  • New ComfyTypes (comfy_api/latest/_io.py):
    • File3DAny - generic 3D file type
    • File3DGLB, File3DGLTF, File3DFBX, File3DOBJ, File3DSTL, File3DUSDZ - format-specific types
  • New download_url_to_file_3d helper: task_id optional; when provided, also writes file to disk for backward compatibility
  • Updated 3D generation nodes (Meshy, Hunyuan3D, Tripo3D, Rodin3D): Now return typed File3D outputs alongside existing string paths

Backward Compatibility: Existing workflows continue to work - nodes output both the new typed File3D objects and the original string file paths.

Testing

Screenshots Screenshot From 2026-02-02 18-42-54 Screenshot From 2026-02-02 18-48-23 Screenshot From 2026-02-02 18-54-09

API Node PR Checklist

Scope

  • Is API Node Change

Pricing & Billing

  • Need pricing update
  • No pricing update

If Need pricing update:

  • Metronome rate cards updated
  • Auto‑billing tests updated and passing

QA

  • QA done
  • QA not required

Comms

  • Informed Kosinkadink

@bigcat88 bigcat88 force-pushed the feat/comfy_api/File3D-type branch from 0ecdf00 to a18989b Compare January 31, 2026 07:17
@bigcat88 bigcat88 force-pushed the feat/comfy_api/File3D-type branch from 7718afd to c18aed3 Compare February 2, 2026 12:57
@bigcat88 bigcat88 marked this pull request as ready for review February 2, 2026 17:04
- Rename File3D parameter 'path' to 'source'
- Convert File3D.data property to get_data()
- Make .glb extension check case-insensitive in nodes_rodin.py
- Restrict SaveGLB node to only accept File3DGLB
@bigcat88 bigcat88 marked this pull request as draft February 3, 2026 16:21
@bigcat88 bigcat88 marked this pull request as ready for review February 3, 2026 17:03
@guill guill merged commit fb23935 into master Feb 3, 2026
20 checks passed
@bigcat88 bigcat88 deleted the feat/comfy_api/File3D-type branch February 3, 2026 18:34
luna-niemitalo pushed a commit to luna-niemitalo/ComfyUI that referenced this pull request Feb 11, 2026
* feat(comfy_api): add basic 3D Model file types

* update Tripo nodes to use File3DGLB

* update Rodin3D nodes to use File3DGLB

* address PR review feedback:

- Rename File3D parameter 'path' to 'source'
- Convert File3D.data property to get_data()
- Make .glb extension check case-insensitive in nodes_rodin.py
- Restrict SaveGLB node to only accept File3DGLB

* Fixed a bug in the Meshy Rig and Animation nodes

* Fix backward compatability
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants