# Make figurines with AI for 3D printing

> Chibi vinyl figures, ComfyUI with OmniGen2 and Hunyuan3D v2, and resin printing notes with GLB examples.

- HTML page: https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/
- Language: en
- Translation (fr): https://antoineboucher.info/CV/blog/fr/posts/ai-figurines-3d-printing/index.md
- Published: 2026-05-22
- Updated: 2026-10-27
- Tags: 3D Printing, AI, Hunyuan3D, ComfyUI, Chibi
- Author: Antoine Boucher (https://antoineboucher.info/CV/index-en.html)A clear 2D toy image gives the image-to-3D model a useful starting point. Follow the steps with the [slide deck](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/make-figurines-using-ai-for-3d-printing.pptx) and [ComfyUI workflow](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/workflows/image_omnigen2_image_edit.json).

## Pipeline (in order)

1. **Reference photo** — clear side or front view.
2. **Chibi vinyl render** — ChatGPT, Midjourney, or ComfyUI (OmniGen2).
3. **Mesh** — Hunyuan3D v2 (local ComfyUI or hosted tools).
4. **Print** — orient, supports, resin slice; fix islands with **[UVtools](https://github.com/sn4k3/UVtools)** if needed.

![Photo to Object — photo, AI toy image, 3D model, resin print](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/photo-to-object-pipeline.png)

Pipeline sequence ([Mermaid source](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/figurine-pipeline-sequence.mmd)):

```mermaid
sequenceDiagram
    autonumber
    actor User
    participant Photo as Reference photo
    participant ComfyUI
    participant OmniGen2 as OmniGen2 stage
    participant Hunyuan3D as Hunyuan3D v2 stage
    participant Slicer as Resin slicer
    participant Printer

    User->>Photo: Side or front reference
    User->>ComfyUI: Load chibi workflow + reference-photo.jpg
    ComfyUI->>OmniGen2: ReferenceLatent + chibi vinyl prompt
    OmniGen2-->>ComfyUI: PNG (white background)
    ComfyUI->>Hunyuan3D: CLIPVision + image-to-mesh
    Hunyuan3D-->>ComfyUI: GLB (VoxelToMesh 0.7 / 0.6)
    ComfyUI-->>User: mesh/ComfyUI*.glb
    User->>Slicer: Orient, supports, hollow
    Slicer-->>User: Sliced job
    User->>Printer: Resin print
    Printer-->>User: Chibi figurine
```

**Deck** (~17 MB) — screenshots and tool URLs from the talk:

## Step 1 — 2D toy / chibi

**Deck prompt:**

> Convert this image into a toy-style plastic figure. Keep features but simplify and smoothen as if molded in plastic.

![Before / after](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide03-upload-before.png) ![Toy result](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide03-upload-after.png)

**Chibi prompt** (same idea, bigger head):

> Vinyl chibi figurine, smooth plastic, white background, one character, pose that can stand on a base.

Gallery (ChatGPT):

![Bernese puppy](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/gallery/chibi-bernese-puppy-snow.png) ![Golden retriever](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/gallery/chibi-golden-retriever-puppy.png) ![Cowboy](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/gallery/chibi-cowboy-no-name.png) ![Pool](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/gallery/chibi-pool-tube-cigar.png) ![Spider](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/gallery/chibi-spider-toy.png)

## Step 2 — ComfyUI (one graph)

**Download:** [image_omnigen2_image_edit.json](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/workflows/image_omnigen2_image_edit.json) — *Load* in ComfyUI (OmniGen2 chibi edit + Hunyuan3D v2 mesh). Put your photo in `input/` as **`reference-photo.jpg`** (or edit the `LoadImage` node).

| Stage | What it does |
|-------|----------------|
| **A** | OmniGen2 + `ReferenceLatent` → chibi PNG (`heun`, 45 steps) |
| **B** | Hunyuan3D v2 → two GLBs (`mesh/ComfyUI*.glb`, thresholds 0.7 and 0.6) |

Full positive/negative prompts and seeds are in the JSON. Needs OmniGen2 + Hunyuan3D-2 custom nodes ([Hunyuan3D-2](https://github.com/Tencent-Hunyuan/Hunyuan3D-2)). On 8–12 GB VRAM, lower `octree_resolution` or `num_chunks`.

## Step 3 — Image to 3D (hosted)

![Convert to 3D with Hunyuan3D and Rodin](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide05-hunyuan-rodin.png)

Single-image mesh tools — clarity of the toy PNG matters more than the brand.

| Tool | Link | Notes |
|------|------|--------|
| **Hunyuan3D-2** | [GitHub](https://github.com/Tencent-Hunyuan/Hunyuan3D-2) | Open weights / local or hosted runs; strong general image-to-3D. |
| **RodinHD** | [WebGL demo](https://rodinhd.github.io/) | High-detail avatars and figurines from images. |
| **Hi3DGen** | [Hugging Face demo](https://huggingface.co/spaces/Stable-X/Hi3DGen) | 2D diffusion prior + geometry consistency ([CHI 2024 paper](https://doi.org/10.1145/3641520.3665304), [white paper PDF](https://stable-x.github.io/Hi3DGen/hi3dgen_paper.pdf)). |
| **Hyper3D** | [hyper3d.ai](https://hyper3d.ai/) | Fast commercial image-to-3D. |
| **Meshy** | [meshy.ai](https://www.meshy.ai/) | Text/image to 3D with editing and remeshing. |
| **Tripo3D** | [studio.tripo3d.ai](https://studio.tripo3d.ai/) | Browser studio workflow. |
| **Sparc3D** | [lizhihao6.github.io/Sparc3D](https://lizhihao6.github.io/Sparc3D/) | Structured sparse-view reconstruction. |

![Tripo3D studio](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide06-tripo3d.png)

![Hyper3D](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide07-hyper3d.png)

![Sparc3D](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide08-sparc3d.png)

![Meshy AI](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide09-meshy.png)

**Hi3DGen** ([CHI 2024](https://doi.org/10.1145/3641520.3665304), [demo](https://huggingface.co/spaces/Stable-X/Hi3DGen)) — strong when the 2D silhouette is already clean.

## Mesh preview

Sample **GLB** files from Hunyuan3D, RodinHD, Hyper3D, and Hi3DGen are not stored in this repo (each was 20–75 MB). Use the generator previews in the tool UIs, or export from your own ComfyUI run (`mesh/ComfyUI*.glb`).

![Mesh preview in generator UI](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide11-preview.gif)

## Step 4 — Mesh settings

![Generator settings (animated)](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide10-settings.gif)

![Mesh preview (animated)](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide11-preview.gif)

![Settings detail](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide12-settings-detail.png)

![Settings panel](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide12-settings-panel.png)

Tune **face count**, **symmetry**, and **remesh** in the generator UI before export.

## Step 5 — Resin print

![Resin print setup](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide13-print-1.png)

![Printed figurine on build plate](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide13-print-2.png)

Resin for small parts. Tilt overhangs toward the plate; light supports on hair and capes.

![Islands in slicer](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide14-islands.png)

Check floating islands with the slicer or **[UVtools](https://github.com/sn4k3/UVtools)** before printing.

## Printed results

![Finished figurine 1](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide15-result-1.jpeg)

![Finished figurine 2](https://antoineboucher.info/CV/blog/posts/ai-figurines-3d-printing/images/slide15-result-2.jpeg)

## When to use this pipeline

| Goal | Start here |
|------|------------|
| Gift figurine from a pet photo | ChatGPT/Midjourney chibi → hosted mesh |
| Repeatable local batch | ComfyUI JSON in this bundle |
| Teaching a class | Slide deck and pipeline diagram |
| Production CAD interchange | Expect cleanup in Blender after GLB |

## Pitfalls

- **Skipping 2D quality** — mesh tools amplify bad silhouettes.
- **Committing 50 MB GLBs** — export locally; link tools instead.
- **Zero island check** — resin failures mid-print waste hours.

## Related posts

- [Skate rack — CAD to object](https://antoineboucher.info/CV/blog/posts/skate-rack-cad-to-object/)
- [Rhino LiDAR apartment scan](https://antoineboucher.info/CV/blog/posts/rhino-lidar-apartment-scan/)

## References

- Gao, Y., He, J., Liu, Z., Xie, Y., Zhang, J., Deng, Z., … & Li, Y. (2024). *Hi3DGen: High-quality text-to-3D generation with 2D diffusion prior and geometry consistency.* Proceedings of the 2024 CHI Conference on Human Factors in Computing Systems. https://doi.org/10.1145/3641520.3665304
- Stable-X. (2024). *Hi3DGen: High-quality text-to-3D generation with 2D diffusion prior and geometry consistency* [White paper]. https://stable-x.github.io/Hi3DGen/hi3dgen_paper.pdf
- Tencent Hunyuan. (2024). *Hunyuan3D-2* [Computer software]. GitHub. https://github.com/Tencent-Hunyuan/Hunyuan3D-2
- Stable-X. (2026, November 5). *Hi3DGen demo* [Interactive tool]. Hugging Face Spaces. https://huggingface.co/spaces/Stable-X/Hi3DGen
- Hyper3D. (2026, November 5). *Hyper3D* [Website]. https://hyper3d.ai/
- RodinHD. (2026, November 5). *RodinHD demo* [WebGL demo]. https://rodinhd.github.io/
- Meshy. (2026, November 5). *Meshy AI* [3D content creation platform]. https://www.meshy.ai/
- YouTube. (2024, March). *Hi3DGen: High-quality text-to-3D generation (demo video)* [Video]. https://www.youtube.com/watch?v=243Dpi8DKVM
