For AI agents: a Markdown index of this site is at /llms.txt.

three.js-ready GLB from a text description

C3D-GUIDE-02 · REV A

Guides · By the Creations3D team · Published 28 October 2026

To get a three.js-ready GLB from a text description, describe the object with its real size in Creations3D and download the GLB: it comes in metres, sized so the largest side matches what you asked for, so it drops into a three.js scene at the right scale with GLTFLoader and no rescaling. You can make it on the website, from a coding agent such as Claude Code, Codex or Cursor, or with one REST call.

Why does the size matter in three.js?

three.js has no fixed unit, but glTF does: the glTF 2.0 specification says all linear distances are in metres, and most three.js scenes, physics engines and WebXR treat one unit as one metre. A model exported at an arbitrary scale has to be measured and scaled by hand before it fits next to other assets. Creations3D writes the GLB in metres at your target size, so a crate you asked for at 60 cm is 0.6 units on its longest side.

What is the fastest way to get the GLB into my project?

From a coding agent. Connect Creations3D once (Claude Code, Codex or Cursor, about a minute each), then ask:

Make a low-poly sci-fi crate, about 60 cm, and put the GLB in public/models

The agent calls create_model with use_for: "game" and target_size: 0.6, waits about 1.5 minutes, then saves the file where you said. You can ask for up to 20 assets in one batch, set a triangle budget (max_triangles, 1,000 to 500,000) and a texture size (512, 1024 or 2048). The MCP address is https://creations3d.com/mcp.

How do I load it in three.js?

Use the standard glTF loader. Because the file is already in metres, you add it to the scene as it is:

import * as THREE from "three"; import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js"; const loader = new GLTFLoader(); loader.load("/models/crate.glb", (gltf) => { scene.add(gltf.scene); // Check the size: the largest side matches the size you asked for, in metres. const size = new THREE.Box3().setFromObject(gltf.scene).getSize(new THREE.Vector3()); console.log(size); // e.g. { x: 0.6, y: 0.48, z: 0.42 } for "about 60 cm" });

The loader is documented in the three.js GLTFLoader docs. If you use React Three Fiber, useGLTF from drei loads the same file.

Which settings should I pick for the web?

SettingCreditsUse it for
use_for: game4Light GLBs for games, many objects on screen, mobile browsers
use_for: web8A single hero object, product viewers, model-viewer embeds
use_for: render8The most detail, for stills and close-ups
GLB export with max_triangles0A lighter copy of a model you already made, for example under 20,000 triangles

Building from a photo instead of words costs 6 credits. Failed builds refund their credits automatically. Plans and the trial are on pricing.

Can I do it from a script or a build step?

Yes. Create an API key in your account (Account, API keys) and call the REST API. The same key works for the MCP server in tools without browser sign-in.

curl -X POST https://creations3d.com/api/generations \ -H "Authorization: Bearer $CREATIONS3D_API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt":"low-poly sci-fi crate","use_for":"game","target_size":0.6,"units":"m"}'

Then poll GET https://creations3d.com/api/generations/{id} until it is ready and download the GLB. Download links are signed and expire after 15 minutes; asking again gives a fresh one. Every endpoint is listed in the REST API reference.

What should I check before shipping the model?

  • Measure it once with Box3 as above; the largest side should match your target size.
  • Check the triangle count for your target devices and export a lighter GLB with max_triangles if needed.
  • Commercial use is allowed on every plan, the trial included, so the asset can ship in a paid game or product.
  • Need it printed as well? The same model exports to STL or 3MF in millimetres; see making a model in Claude for the print options.
Provided by AppAgentic · Creations3D
Contact support@creations3d.com
Updated 28 October 2026