# Meshy T2 Image to 3D API

> Meshy T2 turns a single image into a clean Smart Topology triangle mesh (up to 15,000 triangles), with optional textures, rigging and animation.

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

## Facts

- Provider: Meshy
- Type: Image model
- Model ID: `meshy/t2/image-to-3d`
- Price: From $0.60 per run
- Capabilities: image 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/image-to-3d",
  "image": "https://v3b.fal.media/files/b/zebra/3osHJDI8IZ2wl6sGtEUeB_image.png",
  "enable_pbr": false,
  "enable_rigging": false,
  "should_texture": true,
  "enable_animation": false,
  "target_polycount": 4000,
  "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 Image to 3D through SandBase?

Create a SandBase API key, then send requests with the model ID "meshy/t2/image-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 Image to 3D and the other models in the catalog; you do not need to sign up with Meshy separately.

## README

### Meshy T2 Image to 3D
Meshy T2 turns a single image into a clean Smart Topology triangle mesh (up to 15,000 triangles), with optional textures, rigging and animation.
#### Fields
| Field | Type | Default | Notes |
|---|---|---|---|
| `image` | image URL, required | — | Image URL or base64 data URI of the object. Supports .jpg, .jpeg and .png; AVIF and HEIF are converted automatically. |
| `should_texture` | boolean | `true` | Generate textures. Untextured meshes cost less. |
| `target_polycount` | integer 100–15000 | `4000` | Target polygon count (100–15,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 |
| should_texture on | $0.60 |
| should_texture off | $0.20 |
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`.
