# Meshy T2.5 Text to 3D API

> Meshy T2.5 generates a clean Smart Topology triangle mesh (up to 30,000 triangles) from a text prompt, untextured in preview mode or textured in full mode.

Source: https://www.sandbase.ai/models/meshy/t2.5/text-to-3d
API reference: https://www.sandbase.ai/models/meshy/t2.5/text-to-3d#api

## Facts

- Provider: Meshy
- Type: Image model
- Model ID: `meshy/t2.5/text-to-3d`
- Price: From $0.60 per run
- Capabilities: text to 3d
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

- Unified Run API: `POST https://api.sandbase.ai/v1/run`

```bash
curl -X POST https://api.sandbase.ai/v1/run \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "meshy/t2.5/text-to-3d",
  "prompt": "A rustic, antique wooden treasure chest with a curved, domed lid, reinforced with dark iron bands and a large circular lock plate on the front.",
  "enable_pbr": false,
  "enable_rigging": false,
  "generation_mode": "full",
  "enable_animation": false,
  "target_polycount": 15000,
  "animation_action_id": 92
}'
```

The response returns a run id; poll `GET https://api.sandbase.ai/v1/run/{id}` until the status is `completed` or `failed`.

## FAQ

### How do I call Meshy T2.5 Text to 3D through SandBase?

Create a SandBase API key, then send requests with the model ID "meshy/t2.5/text-to-3d" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.

### Do I need a separate Meshy account?

No. One SandBase API key and balance gives you access to Meshy T2.5 Text to 3D and the other models in the catalog; you do not need to sign up with Meshy separately.

## README

### Meshy T2.5 Text to 3D
Meshy T2.5 generates a clean Smart Topology triangle mesh (up to 30,000 triangles) from a text prompt, untextured in preview mode or textured in full mode.
#### Fields
| Field | Type | Default | Notes |
|---|---|---|---|
| `prompt` | string, required | — | Describe the object to generate. Maximum 600 characters. |
| `generation_mode` | `preview` / `full` | `full` | 'preview' returns the untextured mesh only; 'full' also textures it. |
| `seed` | integer | — | Seed for reproducible geometry. |
| `target_polycount` | integer 100–30000 | `15000` | Target polygon count (100–30,000). |
| `pose_mode` | `a-pose` / `t-pose` / `` | `""` | Generate the character in an A-pose or T-pose; empty for no specific pose. |
| `enable_pbr` | boolean | `false` | Generate PBR maps (metallic, roughness, normal) in addition to base color. |
| `texture_prompt` | string | — | Text prompt to guide texturing. Maximum 800 characters. |
| `texture_image` | image URL | — | Image URL to guide texturing. |
| `enable_rigging` | boolean | `false` | Rig the model as a humanoid character. The rigged GLB is returned as rigged_glb. |
| `enable_animation` | boolean | `false` | Apply an animation preset to the rigged character (billed together with rigging). The animated GLB is returned as animation_glb. |
| `animation_action_id` | integer 0–696 | `92` | Animation preset ID from Meshy's animation library (0 is Idle). Only used when animation is enabled. |
#### Output
- `url`: Main 3D file (GLB unless another export format is selected).
- `thumbnail`: Preview image rendered by the provider.
- `rigged_glb`: Additional file returned by the provider.
- `animation_glb`: Additional file returned by the provider.
#### Billing
$0.60 per request with default settings. Price by option (other settings at default):
| Option | Price |
|---|---|
| enable_animation on | $0.92 |
| enable_animation off | $0.60 |
| enable_rigging on | $0.80 |
| enable_rigging off | $0.60 |
| generation_mode = preview | $0.20 |
| generation_mode = full | $0.60 |
Failed runs are not charged.
#### Also on SandBase
Other Meshy 3D endpoints: `meshy/6.0-lite/retexture`, `meshy/6.0/retexture`, `meshy/7.0/image-to-3d`, `meshy/7.0/multi-image-to-3d`.
