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, and the print panel beside the model orders it printed and shipped.
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. One generation runs at a time per account: pressing Generate again while one is still running hands back the same job and charges nothing more, and the page waits up to 20 minutes for a result.
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. On Auto an image run goes to Tripo v3.1, and TRELLIS.2 is used only when you pin it, in which case no prompt reaches it, because it has no prompt field. Multi-view is pinned to Tripo outright, because no other engine reconstructs from several photos.
On Auto, if the first engine fails without saying why, or is too busy to take the job, the run is retried once on Tripo at no extra charge, as long as there is time left in the run's 20-minute budget. A Fast Draft retried this way still comes back untextured, as it was priced. A pinned engine is never swapped for another.
Four mesh options are only accepted by Tripo: a negative prompt, clean topology (smart low-poly), split into printable parts, and quad topology. On a Fast Draft left on Auto, asking for any of them routes you to Tripo. On Hi-Fi the routing agent chooses the engine without weighing them, so to be sure they are used, pin Tripo. If you pinned a different engine that choice is honoured and the four settings are ignored; the studio says so in an amber note under the options.
Writing a prompt#
Prompts are capped at 500 characters. The box counts as you type, and when a prompt runs over it says by how many characters and Generate stays disabled until you shorten it; nothing is cut off behind your back. Cmd or Ctrl + Enter generates. 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, change it with Edit model below, or 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.
Changing a model you have#
The Edit model box under the viewer takes a sentence. Changes it can measure are made to the mesh you already have, exactly, change nothing else, and cost nothing. Anything else is redrawn from a picture of the model and rebuilt in 3D.
| Ask for | What happens | Credits |
|---|---|---|
| Flatten the base, or make it sit flat | Levels the underside, taking off a given depth if you name one | 0 |
| A wider or narrower base | Widens or narrows the bottom, tapering to the top as it was | 0 |
| Taller, shorter, wider or narrower overall | Scales the model on those axes only | 0 |
| A hole of a given size, such as a 6mm hole | Drills it through, vertically unless you say side, front or back | 0 |
| Cut it in half | Cuts it and keeps the larger half | 0 |
| Anything else, such as add a handle | Redraws a picture of the model with the change, then runs image to 3D on it | 1 for the picture, plus the image-to-3D run (2 as a Fast Draft) |
- An edit is kept in your history as its own design, so the one before it is still there. An exact edit shows the model without its texture, because the mesh itself was rebuilt.
- A picture rebuild is a new model rather than an adjustment, so its dimensions shift a little and it goes through the same repair and review as any generation.
- Exact edits are limited to 120 an hour and the sentence to 300 characters.
History, links and the extension#
- History lists every design on your account, newest first. A run that failed says failed — credit refunded. Opening one shows the textured preview, with the repaired copy kept for printing and its measured size and review.
- The History panel opens by itself when you come back to the page while a generation is still running.
- Share to Community posts a design to the public gallery at /gallery, with its prompt. Every tenth design you share adds 1 credit to your balance. Nothing is shared unless you press it.
- Delete removes a design from your history, and it cannot be undone.
- A link of the form /design?model=…&generation=… opens a design exactly as History does, textured and upright. Open in X3D in the Chrome extension uses that link for the model you just made, so the browser has to be signed in to the account the extension is paired with.
Ordering a print from the studio#
The print panel beside the model sells it the way /print does, priced from a real slice at the size on screen: material, colour, Single colour or Multi-colour (priced in colour by itself when the design has colours, see /docs/studio/multi-color), quality, scale from 50% to 300%, where it is going and how fast, Normal or Priority print, and a note for the operator of up to 900 characters. Print & Ship pays for it straight away; Add to Cart holds it with your other items. Both stay closed while the price at that size is still being weighed. Custom filament is not offered here; order a named spool from /print.
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.
- Remove background on the image path is a real step: when the photo's background is cluttered or holds more than one subject, the main object is cut out onto plain white before it is reconstructed. A photo already on a plain background goes through as it is.
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.
Turning a prompt into a printable file: credits, times, downloads and prompt tips.
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 or 3MF.
How the AI generators compare when the goal is a model that prints.
The photo route end to end, from picking the picture to the printed part.
Questions
How long does a text-to-3D generation take?
A Fast Draft text prompt takes about 20 to 30 seconds. Hi-Fi takes about 4 to 5 minutes. Generation runs as a background job, so you can close the tab and the result is still there when you come back.
How many credits does one generation cost?
A Fast Draft text prompt costs 1 credit. Hi-Fi costs 2. Any image input adds 1. High mesh quality adds 1 and Ultra adds 2, 4k textures add 1 and 8k add 2, and a refinement pass adds 2. New accounts start with 5 credits.
Can AI generate a part with threads or a bearing bore?
No. Text-to-3D produces shapes, not dimensioned features. A generator has no notion of an M4 thread pitch or a 608 bearing's 22mm outer diameter, and it will not hold either to a tolerance. Model those in CAD and upload the STL at /print instead.
Can I change a model after it is generated?
Yes, with the Edit model box under the viewer. Size changes are exact and free: flatten the base, make the base wider or narrower, make the model taller, shorter, wider or narrower, drill a hole of a given size, or cut it in half. Anything else, such as adding a handle, is redrawn from a picture of the model for 1 credit and then rebuilt by an ordinary image-to-3D run at its usual price.
Do I get the credits back if a generation fails?
Yes. Credits are charged before the generator is called and refunded automatically if the run errors. A generation still stuck after 60 minutes is marked failed and refunded by a sweep.
Related guides
- Text to 3D Print: Type a Sentence, Hold It Next WeekText to 3D print with AI, end to end: a typed sentence becomes a mesh, passes a print-ready check, prices at $0.12/g, and ships from Austin within a week.
- Best Text-to-3D Prompts: 25 Examples That Actually PrintBest text-to-3D prompts: 25 copy-paste examples, the five-slot formula behind them, and the print hints that make an AI 3D model generator prompt printable.
- AI-Generated 3D Models for Printing: What Actually WorksAI-generated 3D models for printing: why they fail, the prompts that fix it, and what any AI 3D model generator for 3D printing has to check.