ComfyUI: nodes, models and workflows
Everything the four workflows in this repo need, read from every node in the workflow files. Tested on ComfyUI 0.39.2 (ComfyUI-Easy-Install, Python 3.12, PyTorch 2.8 + CUDA 12.8) on an RTX 5080.
05p prop workflow. My Animated-Characters installer installs every node pack and model they need, at the tested versions. Run it first, then add the Qwen models below.The workflows
In the workflows folder. Copy them into ComfyUI\user\default\workflows\Kimi\, so they show up in the workflow sidebar.
| File | Step | What it does |
|---|---|---|
Kimi_Concept_QwenImage21_API.json | Concept images | Qwen Image 2.1 text-to-image, 1024 × 1024. Saved in API format (the way Kimi submits jobs); drag it into ComfyUI to open it. |
Kimi_T3e_Rowan_QwenEdit2511.json | Hero T-pose | Qwen Image Edit 2511 with the 4-step Lightning LoRA: turns the approved hero concept into a T-pose without changing the character. |
Kimi_LowPoly_GameAsset.json | Image to 3D (Pixal3D) | Concept image → Pixal3D → watertight → low-poly (4k triangles) → normal-map bake → UltraTex textures → one GLB. |
Kimi_LowPoly_GameAsset_TRELLIS2.json | Image to 3D (TRELLIS.2) | The same chain with TRELLIS.2 geometry, the fast sampling profile, 1024 resolution and a 6k triangle budget. I used this one for most props and the hero. |
In both 3D workflows, paste your Blender path into the Blender path node (forward slashes, e.g. D:/Blender/blender.exe) and load your image in Load Image. Use square 1024 × 1024 input images.
What Kimi changed in my workflow
Kimi started from PixelArtistry_05p_Image_to_LowPoly_Prop_UltraTex, ran it unchanged as a baseline, then tested one change at a time. The result was about 19% faster on the fence (517 s → 421 s), with the same quality and one clean piece.
| Setting | My original (05p) | Kimi_LowPoly_GameAsset | Why |
|---|---|---|---|
| LODTailor high-poly cap (step 4) | 6,000,000 tris | 50,000 tris | A game prop doesn't need millions of faces before it's reduced to a few thousand. |
WTiVo final_res | 1536 | 1024 | Less detail that would be thrown away later anyway. |
| Final low-poly target | 2,000 tris (2k) | 4,000 tris (4k) | Thin parts like fence beams collapse at 2k. |
| UltraTex textures | 2048 | 2048 (unchanged) |
The TRELLIS.2 version adds: TRELLIS.2 instead of Pixal3D, the fast sampling profile (12 structure / 12 shape / 8 upsample steps), upsample, Quad Reconstruct and WTiVo all at 1024, and a 6,000-triangle final budget. The 1024 setting matters: at 1536, TRELLIS.2 got stuck on the cottage for over an hour.
Custom node packs
Most nodes in these workflows are built into ComfyUI. You only need these packs:
| Pack | Nodes used | Licence |
|---|---|---|
| WTiVo Watertight Voxel | WTiVoNativeMeshToMesh | GPL-3.0 |
| WTiVo Fast Merge by Distance | WTiVoFastMergeByDistance | MIT |
| LODTailor Mesh Trimmer | LODTailorTheMeshTrimmer | GPL-3.0 |
| LODTailor Bake Forger | LODTailorBakeForger | GPL-3.0 |
| Mesh Quad Reconstruct | MeshReconstructWithQuad | MIT |
| Memory Cleaner | MemoryCleaner | GPL-3.0 (licence file) |
UltraTex ComfyUI nodes (low-VRAM GGUF version), installed as folder comfyui_ultratex_modular | all UTX… nodes | GPL-3.0 |
| ComfyUI-GGUF | UnetLoaderGGUF, CLIPLoaderGGUF | Apache-2.0 |
| visualbruno/ComfyUI-Trellis2 | no nodes in these workflows; provides the CuMesh wheels that Quad Reconstruct needs | see repo |
The WTiVo, LODTailor, Quad Reconstruct, Memory Cleaner and UltraTex GGUF packs are by MostAadTech (GitHub Mstafa-awad, YouTube). They aren't in the ComfyUI Manager, so install them with git clone or my installer. Both LODTailor nodes run Blender in the background, so you need a Blender install (a clean portable one without add-ons works best).
Built into ComfyUI (update to a recent version): TRELLIS.2 and Pixal3D (since v0.34), MoGe (v0.22), background removal with BiRefNet (v0.21), Qwen Image 2.1 (v0.37), Qwen Image Edit, the mesh, UV, bake and switch nodes. Official guides: TRELLIS.2, Pixal3D, Qwen Image 2.1.
Models
Image to 3D (both Kimi_LowPoly_GameAsset workflows)
| File | Folder in ComfyUI\models\ | Source | Licence |
|---|---|---|---|
trellis_2_int8_convrot.safetensors | diffusion_models | Comfy-Org/TRELLIS.2 | MIT |
pixal3d_int8_convrot.safetensors | diffusion_models | Comfy-Org/Pixal3D | MIT |
trellis_2_shape_vae_bf16.safetensors, trellis_2_texture_vae_bf16.safetensors | vae | Comfy-Org/Pixal3D | MIT |
dino_v3_L_naf_fp32.safetensors | clip_vision | Comfy-Org/Pixal3D | DINOv3 licence (Meta) |
moge_2_vitl_normal_fp16.safetensors | geometry_estimation | Comfy-Org/MoGe | MIT |
birefnet.safetensors | background_removal | Comfy-Org/BiRefNet | MIT |
flux-2-klein-base-9b-Q4_0.gguf | diffusion_models | unsloth/FLUX.2-klein-base-9B-GGUF | FLUX Non-Commercial |
Qwen3-8B-Q4_K_M.gguf | text_encoders | unsloth/Qwen3-8B-GGUF | Apache-2.0 |
flux2-vae.safetensors | vae | Comfy-Org/flux2-dev | BFL licence |
ultratex_flux2.safetensors | loras | ModelScope Yibo-Zhang/UltraTex: flux2/lora/dit_lora.safetensors, rename | see below |
ultratex_flux2_mr.safetensors | loras | same page: flux2_mr/lora/dit_lora.safetensors, rename | see below |
ultratex_flux2_decoder.pt | ultratex (create it) | same page: flux2/decoder.pt | see below |
Both UltraTex LoRAs are called dit_lora.safetensors on ModelScope. Rename each one right after downloading, or the second overwrites the first.
Concept images (Kimi_Concept_QwenImage21_API.json)
| File | Folder | Source | Licence |
|---|---|---|---|
qwen_image_2.1_int8_convrot.safetensors | diffusion_models | Comfy-Org/Qwen-Image-2.1 | Qwen Research License |
qwen3vl_8b_int8_convrot.safetensors | text_encoders | ||
qwen_image_2.1_vae_bf16.safetensors | vae |
Hero T-pose (Kimi_T3e_Rowan_QwenEdit2511.json)
| File | Folder | Source | Licence |
|---|---|---|---|
qwen-image-edit-2511-Q6_K.gguf | unet or diffusion_models | unsloth/Qwen-Image-Edit-2511-GGUF | Apache-2.0 |
Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors | loras | lightx2v/Qwen-Image-Edit-2511-Lightning | Apache-2.0 |
qwen_2.5_vl_7b_fp8_scaled.safetensors | text_encoders | Comfy-Org/Qwen-Image_ComfyUI | Apache-2.0 |
qwen_image_vae.safetensors | vae |
qwen-image-edit-2511-Q6_K.gguf and Qwen3-8B-Q4_K_M.gguf, but the main models folder on my PC has the Q8_0 versions. Check which files you actually ran (they may be in a linked model folder) and fix the names here if needed.Licences that matter
- Qwen Image 2.1 is under the Qwen Research License Agreement: the model itself is for non-commercial research and evaluation; commercial use of the model needs a separate licence from Alibaba. The images you generate are different: Qwen confirmed on X that outputs aren't part of the licensed materials and that you keep the rights to what you generate, so you can use them commercially.
- FLUX.2 [klein] base 9B, which UltraTex uses for the textures, is under the FLUX Non-Commercial License by Black Forest Labs. The licence says you may use outputs "for any purpose (including for commercial purposes)", except to train a model that competes with FLUX. So the textures you make are yours to use.
- UltraTex weights: ModelScope lists them as MIT, but they are adapters for the FLUX.2 model above, so its licence applies too.
- DINOv3 (used by Pixal3D and TRELLIS.2 conditioning) has its own licence from Meta.
- Qwen Image Edit 2511, TRELLIS.2, Pixal3D, MoGe and BiRefNet are Apache-2.0 or MIT.
- MostAadTech's node packs are mostly GPL-3.0. That matters if you redistribute the nodes, not for the meshes you make with them.
I'm not a lawyer. This is my reading of the licences, not legal advice. Read each licence yourself and make your own call before you use the results commercially.