AI 3D Generation for Game Assets: Draft Fast, Commit Slow
A two-stage AI 3D pipeline — cheap Trellis drafts for shape approval, Hunyuan3D for production GLBs with full PBR. Real numbers, real test results, and the rule that stopped me burning money on bad geometry.
One of the biggest surprises building my AI video-story pipeline was how much the when to spend money question dominates 3D work. A single Hunyuan3D generation with PBR costs $0.525. A Trellis draft? Two cents. Get the order wrong and you're burning money on geometry that's wrong from the start.
After a few wasted generations I landed on a hard rule: never run Hunyuan3D on the first attempt. Draft with Trellis first, get shape approval, then commit to the full pipeline.
The Decision Tree
Need a 3D model?
├── Draft / concept → Trellis ($0.02) — fast shape check
│ └── Approved? → Hunyuan3D v3 ($0.525 with PBR) — production GLB
├── Need rigging + animation? → Meshy API (subscription)
└── Text-only input? → Hunyuan3D text-to-3D (skip Trellis)
The key insight is that Trellis and Hunyuan3D are solving different problems. Trellis gives you a rough shape bake in seconds — good enough to catch a bad silhouette or a topology problem before you commit real money. Hunyuan3D gives you a production-quality GLB with PBR channels (Base Color, Metallic/Roughness, Normal, AO) that can go straight into a game engine.
Tool Comparison
| Tool | Input | PBR | Rig/Anim | Cost | Best for |
|---|---|---|---|---|---|
| Trellis (fal.ai) | Image | ❌ | ❌ | $0.02 | Shape drafts, fast iteration |
| Hunyuan3D v3 (fal.ai) | Image or Text | ✅ +$0.15 | ❌ | $0.375 base | Production static assets |
| Meshy | Image or Text | ✅ | ✅ | ~$0.24–0.36 | Game assets needing auto-rig |
| Tripo3D | Image or Text | ✅ | ✅ | ~$0.10–0.50 | Competitive Meshy alternative |
| Replicate Trellis2 | Image | ❌ | ❌ | ~$0.82 | Same model — 41× more expensive than fal.ai |
That Replicate number is not a typo. Trellis on fal.ai costs $0.02. The same model hosted on Replicate costs $0.82. Always check which platform is hosting the model before you run anything.
Stage 1 — Trellis Draft
Trellis runs via the fal.ai Python SDK. A minimal draft script:
import fal_client, os, time
result = fal_client.run(
"fal-ai/trellis",
arguments={"image_url": image_url}
)
glb_url = result["model_url"]
The output is a .glb with baked flat colour — no PBR, no normal map. That's fine for the draft stage. You're checking shape, proportions, and whether the model reads well from the camera angles you plan to use.
Total turnaround: about 30–60 seconds. Cost: $0.02.
Stage 2 — Hunyuan3D Final
Only run after the draft shape is approved:
result = fal_client.run(
"fal-ai/hunyuan3d-v3/image-to-3d",
arguments={
"input_image_url": image_url,
"enable_pbr": True, # +$0.15 — always worth it for finals
"face_count": 500000,
"generate_type": "Normal",
}
)
glb_url = result["model_urls"]["glb"]["url"]
# also available: ["obj"], ["fbx"], ["usdz"]
With enable_pbr: True the total is $0.525. You can push it to $0.825 by adding multiview input and a higher face count, but that's only worth it for hero assets. For background props, base + PBR is enough.
The Meshy Pipeline (Rigging + Animation)
For game assets that need to move, Meshy's REST API gives you the full pipeline: image → 3D → remesh → rig → animate. The credit costs stack up:
| Step | Cost |
|---|---|
| Image-to-3D | ~$0.24–0.36 |
| Remesh | ~$0.06–0.12 |
| Auto-rig | ~$0.06 |
| Animate (per clip) | ~$0.036 |
On the Pro plan ($12/mo, ~100 gens) each generation is around $0.12–0.36. At the Max plan ($45/mo, ~1,000 gens) it drops to about $0.045 per generation — much more economical if you're running a full game art pipeline.
The workflow is async (Meshy queues tasks), so the script polls for completion:
task_id = meshy_client.create_3d_task(image_url)
while meshy_client.get_task(task_id)["status"] != "SUCCEEDED":
time.sleep(5)
glb_url = meshy_client.get_task(task_id)["model_url"]
GLB Analysis — Know Before You Ship
Before any model goes into a game engine, I run a GLB audit:
python3 ~/.claude/skills/glb-analyzer/generate.py /path/to/model.glb
This generates a self-contained model_analysis.html with an embedded Three.js viewer and a full PBR channel report. No server required — just open the file.
The thresholds I use:
| Platform | Max Tris | PBR |
|---|---|---|
| Mobile (iOS/Android) | < 5k | Optional |
| PC game | < 15k | Recommended |
| VR/AR | < 8k | Required |
| Cinematic / cutscene | < 100k | Required |
| Background prop | < 2k | Optional |
Spaceship Test — Real Numbers
My first real test was a spaceship concept generated from a fal.ai image. Results after a Trellis draft:
- File size: 1.36 MB
- Geometry: 1 mesh, 9,572 triangles, 6,584 vertices
- PBR: none (Trellis only bakes flat colour)
- Verdict: PC game-ready (< 15k tris) ✅
The shape was clean enough that I'd approve it for Hunyuan3D if the project called for a production version. Total cost to validate: $0.02.
The Rule That Saves Money
The pipeline only works if you enforce the draft gate. It's tempting to skip Trellis when you have a clean reference image and high confidence — but even a $0.375 miss stings more than a few cents of validation. Draft first, commit once.
For static assets going into cutscenes: Trellis → Hunyuan3D + PBR.
For game characters that need to walk: Trellis → Meshy full pipeline.
For background props where rigging doesn't matter: Trellis → Hunyuan3D base (no PBR, save $0.15).
The two-cent draft is the cheapest design review you'll ever run.