# 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.

Source: https://x3dstudios.com/docs/studio/design  ·  Updated: 2026-10-17

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.

> **What this page is not** — Generation is for shapes: props, ornaments, enclosure concepts, organic forms, toys, display pieces. It is not a CAD replacement. If your part has a dimension that has to be right, model it and upload the file instead.

## 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 |

*Both modes run the same mesh repair and the same measured validation. These rows describe a text prompt. An image or multi-view run skips the prompt rewrite and the routing agent whichever mode you pick: see /docs/studio/image-to-3d.*

> **A text draft comes back untextured** — Fast Draft on a text prompt runs on Hunyuan Rapid, whose only textured output is an archive of an OBJ and four PNGs — there is no textured glTF to hand back. For colour on a text prompt, use Hi-Fi or pin Tripo as the engine. The 4k and 8k surcharges are deliberately not charged in the one case that cannot texture.

## 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.

> **Split into printable parts turns textures off** — The generator refuses parts and textures in the same request, so ticking the split option disables colour further down the pipeline. Geometry is what gets printed, so parts win.

## 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 |

**Prompts you can paste straight in**

```text
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 side
```

The 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.

**A negative prompt that earns its place**

```text
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 |

> **Needs redesign blocks checkout** — A model whose review failed or could not run cannot be ordered — checkout answers "A print in your cart hasn't passed validation and can't be ordered." You can still download it and repair it yourself.

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) |

*Exact edits read a change in percent or a times figure, such as 20% taller or 2x wider. Without one, bigger means 25% bigger and smaller means 20% smaller. A size in millimetres is read for a hole or a flattening cut, not for a base or the overall size.*

- 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 |

*A plain text draft is 1 credit. A Hi-Fi image run at Ultra with 8k textures and a refinement pass is 9.*

> **The refinement pass only does something on Meshy** — It is a second Meshy task, and Meshy is offered only where it is enabled. On Hunyuan, Tripo and TRELLIS.2 the +2 is still charged and the result is the same as without it. The High and Ultra quality presets switch it on, so if you pick either, untick the refinement pass unless you are generating on Meshy.

> **Failed runs are refunded** — The credit is taken before the vendor call and given back automatically if the run errors, keyed so a retry cannot refund twice. A generation still stuck after 60 minutes is marked failed and refunded by a sweep.

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.

---

- [Text to STL](https://x3dstudios.com/text-to-stl) — Turning a prompt into a printable file: credits, times, downloads and prompt tips.
- [Image to 3D](https://x3dstudios.com/docs/studio/image-to-3d) — Turn a photo, sketch or render into a model, from one image or several.
- [Printability checks](https://x3dstudios.com/docs/studio/printability) — What the mesh review measures, and how to read each figure.
- [Credits](https://x3dstudios.com/docs/studio/credits) — Balances, top-ups, subscriptions and refunds.
- [Upload and print](https://x3dstudios.com/docs/studio/upload) — Already have a file? Skip generation and upload an STL, GLB or 3MF.
- [Meshy vs Tripo vs X3D](https://x3dstudios.com/blog/meshy-vs-tripo-vs-x3d-printable-models) — How the AI generators compare when the goal is a model that prints.
- [Image to 3D model, photo to print](https://x3dstudios.com/blog/image-to-3d-model-photo-to-print) — The photo route end to end, from picking the picture to the printed part.

[Open the design studio](https://x3dstudios.com/design)

## Frequently asked

**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.
