X3DStudios

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.

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 DraftHi-Fi
Base credit cost12
Typical time on a text prompt20–30 seconds4–5 minutes
Prompt handlingLocal decoratorRewritten by the prompt agent
Engine choiceRouted locallyChosen by the routing agent
Textures on a text promptNo — geometry onlyYes, PBR maps
Mesh reviewDeterministic rulesAgent reads the measurements
Both modes run the same mesh repair and the same measured validation. These rows describe a text prompt — on any image or multi-view run the agent reads the measurements whichever mode you pick, and an image run also always takes the full prompt-and-routing pipeline.
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.

EngineInputNotes
AutoAnyFastest available for a draft, textured for Hi-Fi
Hunyuan 3DText~25–75s draft (untextured) · ~150s Hi-Fi with PBR
Tripo v3.1Text, image, multi-viewTextured, slow — 4 to 8 minutes
Tripo P1Text, image, multi-viewPremium, cleanest topology
TRELLIS.2Image onlyAlways textured, ~1 to 3 minutes
Meshy 6TextFastest 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.

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. 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 thisNot thisWhy
modern geometric lampshade with a hexagonal cutout pattern, open at both endsa nice lampNames the form and the pattern instead of leaving both to the generator
squat hexagonal desk planter, thick rim, flat bottom, no drainage holeplanter that fits a 4 inch potGeneration 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 basecute animal, very detailed, 8k, trendingRender vocabulary does nothing to a mesh. Pose and stance do
ribbed cylindrical pen cup, vertical flutes, closed basepen holder with a threaded lidThreads do not come back usable. Ask for the body and cut the thread in CAD
art-deco fan-shaped bookend, flat back, thick footbookend that holds 20 booksThe generator models shape, not load. State the geometry that gives you the strength
wall-mounted key hook shaped like a whale tail, flat mounting platewhale on a beach at sunsetOne object, no scene. Backdrops become geometry you have to print
Prompts you can paste straight in
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
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.

VerdictMeaning
ReadyClosed surface, nothing flagged. Orderable
SupportsPrintable, with supports applied at slice time. Orderable
RepairedThe mesh needed fixing and the fix succeeded. Orderable
Needs redesignNot 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.

Credits#

Cost is computed before the generator is called and shown on the button. The surcharges stack.

ChoiceCredits
Fast Draft1
Hi-Fi2
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.
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.
  • 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.