AI Design Studio
Generate a printable 3D model from a text prompt at /design — the modes, the engines, how to write a prompt, what comes back, and what each run costs.
The design studio at /design turns a written description into a 3D mesh you can download or send to the print farm. You type a prompt, pick a mode, and get back a model, a mesh review built on real measured geometry, and a print estimate for that model at the size you are actually holding. Downloads are STL, 3MF and OBJ.
You need an account to generate. New accounts start with 5 generation credits, and every run is charged before the generator is called. Generation runs as a background job, so closing the tab does not cancel it — the studio picks the job back up when you return.
The two modes#
Fast Draft is the default. It skips the two language-model round trips that sit in front of a generation — prompt enhancement, then engine routing — and appends the print constraints locally instead. That is most of the difference in wait time. Hi-Fi pays for the full pipeline and a slower engine that returns textures.
| Fast Draft | Hi-Fi | |
|---|---|---|
| Base credit cost | 1 | 2 |
| Typical time on a text prompt | 20–30 seconds | 4–5 minutes |
| Prompt handling | Local decorator | Rewritten by the prompt agent |
| Engine choice | Routed locally | Chosen by the routing agent |
| Textures on a text prompt | No — geometry only | Yes, PBR maps |
| Mesh review | Deterministic rules | Agent reads the measurements |
Engines#
Auto is the default and is almost always the right answer. Pin an engine only when you know why. The times below are the ones shown in the studio, measured against the live API rather than estimated.
| Engine | Input | Notes |
|---|---|---|
| Auto | Any | Fastest available for a draft, textured for Hi-Fi |
| Hunyuan 3D | Text | ~25–75s draft (untextured) · ~150s Hi-Fi with PBR |
| Tripo v3.1 | Text, image, multi-view | Textured, slow — 4 to 8 minutes |
| Tripo P1 | Text, image, multi-view | Premium, cleanest topology |
| TRELLIS.2 | Image only | Always textured, ~1 to 3 minutes |
| Meshy 6 | Text | Fastest preview, ~5–15s — only offered where enabled |
An image or multi-view run ignores a Hunyuan or Meshy pin and uses Tripo instead: Hunyuan's image path is the slow Pro endpoint and the Meshy client here only does text. Multi-view is pinned to Tripo outright, because no other engine reconstructs from several photos.
Four mesh options are only accepted by Tripo: a negative prompt, clean topology (smart low-poly), split into printable parts, and quad topology. On Auto, asking for any of them routes you to Tripo. If you pinned a different engine that choice is honoured and those four settings are silently dropped — so leave the engine on Auto when you use them.
Writing a prompt#
Prompts are capped at 500 characters. A good one names the object, then the shape language, then anything the generator would otherwise invent. A bad one asks for a function, a measurement, or a scene.
| Write this | Not this | Why |
|---|---|---|
| modern geometric lampshade with a hexagonal cutout pattern, open at both ends | a nice lamp | Names the form and the pattern instead of leaving both to the generator |
| squat hexagonal desk planter, thick rim, flat bottom, no drainage hole | planter that fits a 4 inch pot | Generation has no scale. A dimension in the prompt is decoration; you set size when you order |
| low-poly fox figurine, sitting, tail curled around its feet, solid base | cute animal, very detailed, 8k, trending | Render vocabulary does nothing to a mesh. Pose and stance do |
| ribbed cylindrical pen cup, vertical flutes, closed base | pen holder with a threaded lid | Threads do not come back usable. Ask for the body and cut the thread in CAD |
| art-deco fan-shaped bookend, flat back, thick foot | bookend that holds 20 books | The generator models shape, not load. State the geometry that gives you the strength |
| wall-mounted key hook shaped like a whale tail, flat mounting plate | whale on a beach at sunset | One object, no scene. Backdrops become geometry you have to print |
faceted hexagonal desk planter, thick rim, flat bottom, no drainage hole
low-poly fox figurine, sitting, tail curled around its feet, solid base
art-deco fan-shaped bookend, flat back, heavy foot, stepped front face
ribbed cylindrical pen cup, vertical flutes, closed base, slight taper
wall-mounted key hook shaped like a whale tail, flat mounting plate
chunky control knob, twelve grip flutes, flat top, open underside
stylised owl ornament, wings folded, wide flat base, no perch
spiral seashell paperweight, closed aperture, flat resting sideThe negative prompt field is the cheapest fix for the most common annoyance. Generators love adding a plinth, a base slab, a nameplate or a chunk of ground. Listing those in the Avoid field removes them before they become plastic. It routes the request to Tripo, so leave the engine on Auto.
base, plinth, pedestal, nameplate, text, lettering, ground, backdrop, stand- Say what the object sits on: solid base, flat back, open bottom, closed base.
- Say the pose or orientation for anything organic — a standing figure and a sitting one are different meshes.
- Style is a separate control (Geometric, Organic, Mechanical, Architectural, Decorative), so you do not need to repeat it in the prompt.
- Prompts are moderated before a credit is spent. An explicit prompt is rejected with an nsfw error and costs nothing.
- Regenerating the same prompt gives you a different mesh, not the same one refined. If a result is 80 percent right, download it and fix the rest yourself.
What comes back#
A generated mesh has no true size — the units are whatever the generator emitted — so every model is normalised to half a Bambu H2S plate, 170 × 160 × 170mm, and the file you download is that size. Before you see it, the mesh is welded, degenerate faces are dropped, winding is fixed, holes are filled and the model is auto-oriented. The repair is reported to you rather than done quietly.
Alongside the model you get the measurements the verdict was made on: whether the surface is watertight, the volume, open boundary edges, non-manifold edges, triangle count, the bounding box, the thinnest overall dimension, the steepest overhang, and whether it fits the 340 × 320 × 340mm plate. There is also a print estimate — grams, hours and price for one PLA unit at standard quality. Treat that as a sanity check, not an invoice; the slicer sets the real price.
| Verdict | Meaning |
|---|---|
| Ready | Closed surface, nothing flagged. Orderable |
| Supports | Printable, with supports applied at slice time. Orderable |
| Repaired | The mesh needed fixing and the fix succeeded. Orderable |
| Needs redesign | Not watertight and unrepaired, thinnest dimension under 0.8mm, or the mesh could not be read at all |
One number deserves a caveat: the thinnest-dimension figure is the smallest side of the bounding box, not a measured wall. It catches a model that came out as a sheet. It will not catch a thin fin on an otherwise chunky model. Look at the mesh.
Credits#
Cost is computed before the generator is called and shown on the button. The surcharges stack.
| Choice | Credits |
|---|---|
| Fast Draft | 1 |
| Hi-Fi | 2 |
| Any image input (image, image + text, multi-view) | +1 |
| Mesh quality: High | +1 |
| Mesh quality: Ultra | +2 |
| Textures at 4k | +1 |
| Textures at 8k | +2 |
| Refinement pass | +2 |
Generation is limited to 20 runs an hour per account. Balances, top-ups and what a subscription includes are on /docs/studio/credits.
Honest limits#
- No dimensioned features. Threads, bearing bores, snap fits, press fits, hinges with a specified clearance — a text-to-3D engine has no concept of any of them and will produce something that looks right and measures wrong. Model these in CAD.
- No tolerances. Two generations from the same prompt are not the same mesh, and nothing holds a fit.
- Scale is assigned by us, not derived from your prompt. Asking for 40mm tall gets you a shape, not a size — rescale before ordering.
- AI meshes need looking at. Repair fixes topology, not intent: a chair with three and a half legs is watertight, well-oriented and wrong.
- Text is unreliable. Lettering comes out mushy or invented far more often than it comes out legible.
- Interlocking or moving assemblies do not arrive assembled. Split into printable parts segments the shape; it does not design a joint.
- Repairing a mesh renumbers its vertices, which drops UVs and material textures. That is why an untouched preview copy is kept, and why re-texturing works from that copy rather than the repaired one.
- The background-removal and reconstruction toggles on the image path are read from the form and never sent to any engine. They currently do nothing.
Generating from your own code rather than the studio? The same pipeline sits behind POST /api/generate — but there is no developer key for generation. It authenticates with a signed-in browser session or a Chrome extension token (x3d_ext_…) sent as a bearer token; an x3d_live_ print key is not accepted and returns 401. See /docs/api/generate for the endpoint and /docs/api/generation-status for polling a background job.
Turn a photo, sketch or render into a model, from one image or several.
What the mesh review measures, and how to read each figure.
Balances, top-ups, subscriptions and refunds.
Already have a file? Skip generation and upload an STL, GLB, 3MF or G-code.