Generate 3D models
generateCreate 3D models in Roblox Studio from a text prompt, choosing a part schema for single meshes, vehicles, or custom groups.
Instructions
Makes 3D geometry from a text prompt, using Roblox's Cube model.
THE SCHEMA IS THE IMPORTANT ARGUMENT. It decides how the result is broken up, and it cannot be changed afterwards without another generation:
Body1— one MeshPart. Right for props: a crate, a tree, a lamp.Car5— a body and four wheels, under the fixed namesbody,front left wheel,front right wheel,rear left wheel,rear right wheel. Right for anything that has to drive, because a script can find the wheels by name.groups— your own list of part names, for a structure the two predefined schemas do not cover.
Asking for a car under Body1 gives you a car-shaped rock. It looks right and nothing can be articulated. If you only realise afterwards, geometry op="segment" cuts an existing mesh into named parts without generating it again.
Expect tens of seconds per call. The service is metered and moderated: a rejected prompt and a rate limit both come back as a failure that says which, so read the hint before retrying.
imageAssetId conditions the generation on a picture — supply it with a prompt or instead of one. size suggests proportions and maxTriangles caps the poly count (low values give a faceted, low-poly look). Results are anchored on arrival, because a multi-part model dropped into the workspace unanchored falls apart.
EDIT MODE ONLY, for now. A generated mesh does not survive into a playtest: inside one, its MeshContent and TextureContent read as empty. assets op="bake" does not fix this — the engine refuses to bake the kind of content generation produces. So generate for building and greyboxing, and do not rely on a generated mesh being visible in a test or after a reopen until it has been published as a real asset.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name for the model. | |
| size | No | Suggested size as "x, y, z". Approximate — use `scaleTo` for exact. | |
| anchor | No | Anchor every part. Turn off only if physics should act on it. | |
| groups | No | Custom part names to split into, e.g. ["body", "lid"]. Overrides `schema`. | |
| parent | No | Where to put it. Defaults to Workspace. | |
| prompt | No | What to generate, e.g. "a weathered stone well". | |
| schema | No | How to split the result. Ignored when `groups` is given. | Body1 |
| scaleTo | No | Scale the result so its longest side is this many studs. | |
| position | No | Where to place it, e.g. "0, 10, 0". | |
| studioId | No | Target Studio; omit for the active one. | |
| textures | No | Generate textures. Off gives bare geometry. | |
| imageAssetId | No | An image asset id to condition the generation on. | |
| maxTriangles | No | Cap the triangle count. Lower is more faceted. Default is about 10000. |