
Meshy v7 Text-to 3D API by MESHY
Meshy v7 Text-to-3D generates a 3D mesh from a text prompt in two stages: a preview that produces the untextured geometry, and a refine that textures a preview you kept. Outputs GLB/OBJ/FBX/STL/USDZ/3MF with optional PBR maps up to 8K, a settable polygon budget, and A/T-pose output for characters.
Meshy v7 Text-to 3D is developed by a third-party provider. Atlas Cloud (operated by Atlas Cloud AI LLC) provides access to it and does not own it. All trademarks belong to their respective owners.
Meshy 7 Text-to-3D
Meshy 7 Text-to-3D turns a written description into a production-ready 3D model. One request gives you a finished textured mesh — or, if you set mode to preview, just the geometry, so you can judge the shape before paying to texture it.
Why Choose This?
- One request, a finished model —
mode: "full"generates the mesh and textures it in a single call. - Or stop at the shape —
mode: "preview"returns the bare mesh for a third of the price, for iterating on silhouettes. - Polygon budgets you control — ask for an exact face count, an adaptive decimation level, or the raw high-detail mesh.
- Rigging-ready output — force an A-pose or T-pose so characters land in your animation pipeline without cleanup.
- Real PBR textures — base colour plus metallic, roughness and normal maps at up to 8K.
- Every common format — GLB, OBJ, FBX, STL, USDZ and 3MF.
The Two Modes
mode | What runs | What you get |
|---|---|---|
full (default) | mesh generation, then texturing | A textured model, with PBR maps if you asked for them |
preview | mesh generation only | An untextured mesh |
Both are one request and one poll. In full mode the two upstream stages are chained for you — the texture parameters (enable_pbr, texture_resolution, texture_prompt, texture_image) are read from the same request and applied to the texture stage, and the geometry parameters (including ultra_mode, which only affects geometry) apply to the mesh stage.
preview is for iteration, not for staging a later texture pass: there is no way to texture a preview afterwards, so run full when you want the finished asset.
Parameters
| Parameter | Required | Description |
|---|---|---|
model | Yes | meshy-v7/text-to-3d |
mode | No | full (default) for mesh + texture, preview for mesh only. |
prompt | Yes | What the object is, up to 800 characters. |
ultra_mode | No | Finer surface detail. Slower, +5 credits. Default: false |
should_remesh | No | Run the remesh phase. Default: false — leave it off for the best mesh. |
topology | No | triangle (default) or quad. Requires should_remesh. |
target_polycount | No | Face count, 100–300000. Default: 30000. Requires should_remesh. |
decimation_mode | No | Adaptive polycount level 1–4 (ultra → low). Requires should_remesh; overrides target_polycount. |
pose_mode | No | a-pose, t-pose, or empty for no forced pose. |
enable_pbr | No | Also produce metallic / roughness / normal maps. full only. Default: false |
texture_resolution | No | 2k (default), 4k, or 8k. full only. |
texture_prompt | No | Describe the surface material, up to 800 characters. full only. |
texture_image | No | A reference image for the texture (URL, data URI, or asset://<ID>). full only. |
target_formats | No | Any of glb, obj, fbx, stl, usdz, 3mf. Default: ["glb"] |
auto_size | No | Scale the model to an AI-estimated real-world height. Default: false |
origin_at | No | bottom (default) or center, when auto_size is on. |
alpha_thumbnail | No | Also render a transparent-background preview. Default: false |
moderation | No | Screen the input for harmful content before generating. Default: false |
target_formats defaults to GLB alone rather than every format: each extra format is another file to generate and store, so ask for OBJ/FBX/STL/USDZ/3MF only when your pipeline needs them.
topology, target_polycount and decimation_mode only take effect when should_remesh is on — they configure the remesh phase, so with remeshing off they are ignored upstream.
How to Use
A finished textured model:
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateImage" \ -H "Authorization: Bearer $AIP_API_KEY" \ -H "Content-Type: application/json" \ --data-raw '{ "model": "meshy-v7/text-to-3d", "mode": "full", "prompt": "a weathered bronze monster mask with curled horns", "texture_prompt": "oxidised bronze with green patina in the crevices", "enable_pbr": true, "texture_resolution": "4k", "target_formats": ["glb"] }'
Just the geometry, for iterating on the shape:
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateImage" \ -H "Authorization: Bearer $AIP_API_KEY" \ -H "Content-Type: application/json" \ --data-raw '{ "model": "meshy-v7/text-to-3d", "mode": "preview", "prompt": "a weathered bronze monster mask with curled horns", "target_formats": ["glb"] }'
Generation is asynchronous — poll /api/v1/model/prediction/{request_id} until status is completed, then read the model URLs from outputs. files gives the same URLs with their format and MIME type, and thumbnail is a rendered preview image. A full request runs two upstream stages, so it takes longer to reach completed than a preview one.
Pricing
Billed per request, in Meshy credits:
| Request | Credits |
|---|---|
preview | 20 |
full at 2k / 4k texture | 30 |
full at 8k texture | 35 |
ultra_mode | +5 on top of the above |
Failed tasks are not charged — including a full request whose texture stage never starts.
Best Use Cases
- Concept iteration — spin through ten silhouettes in
previewmode, then re-run the winner infull. - Game-ready props — pin a polygon budget with
target_polycountand export straight to GLB or FBX. - Characters for animation —
pose_mode: "a-pose"plustopology: "quad"gives a mesh that rigs cleanly. - 3D printing —
target_formats: ["stl", "3mf"]withauto_sizefor a physically-scaled model. - AR and product viewers —
usdzfor Apple Quick Look,glbfor the web.
Pro Tips
- Describe the object, not the picture: "a cast-iron teapot with a bamboo handle" beats "a photo of a teapot on a table".
- Leave
should_remeshoff unless you need a specific face count — remeshing trades detail for polygon control. decimation_modeis the easier polygon control of the two: pick a level instead of guessing a number — but turnshould_remeshon, or neither applies.- Keep
target_formatsshort. One format returns noticeably faster than six. previewcannot be textured later — when you have settled on a prompt, re-run it infull.
Notes
promptandtexture_promptare capped at 800 characters each.modeandtexture_resolutionmust be spelled exactly as documented (lowercase): a request is rejected rather than silently priced at a different rate.- Only one texture guide applies: when both
texture_promptandtexture_imageare given, the prompt wins. symmetry_mode,art_styleandis_a_t_poseare deprecated upstream and are not exposed here; usepose_modefor poses.- Generated files are re-hosted on AtlasCloud storage, so the URLs you receive are ours and stay reachable — Meshy itself deletes API assets after a few days.
Related Models
- Meshy 7 Image-to-3D — one image in, a textured model out, in a single request.
- Meshy 7 Multi-Image-to-3D — up to four views of the same object for a more faithful reconstruction.


















