# Meshy 6 · Text to 3D API

> Gineadair mogail teacsa-gu-3D le modhan preview no le inneach, PBR, rigging agus beòthachadh roghainneil

Togaidh e modail 3D bho `prompt` teacsa suas ri 600 caractar. Taghaidh `mode` geoimeatraidh gun inneach (`preview`) no toradh le inneach (`full`). Faodaidh `model_type` a bhith standard, lowpoly no smart-topology, agus tha `target_polycount` eadar 100 agus 300000, le smart topology cuibhrichte aig 15000. Faodaidh e cuideachd mapaichean PBR, suidheachadh, rigging humanoid agus ro-shuidheachadh beòthachaidh a chur ris.

- Model id: `meshy/v6/text-to-3d`
- Made by: Meshy
- Category: Text to 3D
- Output: 3d
- Price: $0.80 / request (cheapest run $0.80 (800 API credits))
- Run: `POST https://api.doitong.com/v1/run/meshy/v6/text-to-3d`
- Quote: `POST https://api.doitong.com/v1/quote/meshy/v6/text-to-3d`
- Docs page: https://doitong.com/gd/developers/models/meshy/v6/text-to-3d

## Pricing

Price: **$0.80 / request**. Billed once per request.

The full example input below costs $0.80 = 800 API credits (1 request × 800 API credits).

Prices are the upstream price in USD, paid from the API balance in API credits (1000 API credits = 1 USD). `POST https://api.doitong.com/v1/quote/meshy/v6/text-to-3d` with the same JSON body returns the exact price for that input; the quote is exactly what a run charges. Invalid input is never charged and failed or canceled requests are refunded automatically.

## Input parameters

| Parameter | Canonical name | Type | Required | Default | Allowed values / range | Description |
|---|---|---|---|---|---|---|
| `prompt` |  | string | yes |  | ≤ 600 characters | Tuairisgeul air an nì a tha ri riochdachadh mar mhodail 3D, cuibhrichte gu 600 caractar. |
| `mode` |  | enum (string) | no | `full` | `preview`, `full` | Modh gineadh: bidh 'preview' a’ cur a-mach geoimeatraidh gun teacsaran, agus bidh 'full' a’ cur a-mach modail le teacsaran le bhith a’ cothlamadh preview agus refine. |
| `seed` |  | integer \| null | no |  |  | Ath-chleachd an sìol seo còmhla ri prompt gun atharrachadh gus toradh na bu thràithe ath-riochdachadh mar as trice. |
| `model_type` |  | enum (string) | no | `standard` | `standard`, `lowpoly`, `smart-topology` | Modh mogail 3D: tagh 'lowpoly' airson às-chur low-poly a tha air a dhealbhadh airson poileigonaichean nas glaine; sa mhodh seo bidh Meshy a’ seachnadh topology, target_polycount, agus should_remesh. Airson às-chur àbhaisteach àrd-mhionaideach tagh 'standard', no tagh 'smart-topology' gus Meshy-T2 a chleachdadh rè cheum geoimeatraidh (preview) agus pàirtean glan fhaighinn a chaidh an gineadh air leth bhon toiseach. |
| `topology` |  | enum (string) | no | `triangle` | `quad`, `triangle` | Roghainn topology a’ mhodail eadar Triangle airson mion-fhiosrachadh geoimeatrach agus Quad airson rèidheachd uachdair. |
| `target_polycount` |  | integer | no | `30000` | 100 – 300,000 | Targaid àireamh nam poileigonaichean, cuibhrichte aig 15,000 nuair a tha model_type 'smart-topology'. Ma thèid an targaid fhàgail air falbh sa mhodh sin, thèid bun-roghainn Meshy nas ìsle de 4,000 a thaghadh. |
| `should_remesh` |  | boolean | no | `true` |  | Seachain ath-mhogail agus faigh am mogal triantanach amh le bhith ga shuidheachadh gu false; air neo, comasaich ìre an ath-mhogaill. |
| `symmetry_mode` |  | enum (string) | no | `auto` | `off`, `auto`, `on` | Suidheachadh co-chothromachd a thèid a chur an sàs fhad ’s a thathar a’ gineadh a’ mhodail. |
| `enable_pbr` |  | boolean | no | `false` |  | A’ riaghladh gineadh mhapaichean PBR meitileach, garbhachd, agus àbhaisteach còmhla ris an dath bhunaiteach. |
| `is_a_t_pose` |  | boolean | no | `false` |  | Tionndadh gineadh T-pose air a ghnìomhachadh le true; seann roghainn, air a chur an àite le pose_mode. |
| `pose_mode` |  | enum (string) | no | `` | `a-pose`, `t-pose`, `` | Fàg an sreang falamh gus nach sònraich thu pose a’ mhodail gineadh, no iarr A-pose le 'a-pose' no T-pose le 't-pose'. |
| `enable_prompt_expansion` |  | boolean | no | `false` |  | Leig le modail cànain mòr am prompt a neartachadh le mion-fhiosrachadh. Cha bhith an leudachadh seo ag atharrachadh brìgh a’ phrompt. |
| `texture_prompt` |  | string \| null | no |  | ≤ 600 characters | Stiùir teacsadh le prompt teacsa a bharrachd sa mhodh 'full'; chan eil modhan eile ga chleachdadh. |
| `texture_image_url` |  | string (image URL) \| null | no |  |  | Ìomhaigh iomraidh 2D airson gineadh teacsair, air a cur an sàs dìreach sa mhodh 'full'. |
| `enable_rigging` |  | boolean | no | `false` |  | Rigadh fèin-obrachail humanoid, as èifeachdaiche airson modailean humanoid aig a bheil buill a’ chuirp furasta an aithneachadh. Le bhith ga chomasachadh thèid am modail gineadh a rigadh agus beothachaidhean bunaiteach coiseachd is ruith a thoirt seachad. |
| `rigging_height_meters` |  | number | no | `1.7` | > 0 | Thoir seachad àirde mheasta a’ charactair ann am meatairean nuair a tha enable_rigging fìor; air neo chan eil buaidh aig an luach seo. |
| `enable_animation` |  | boolean | no | `false` |  | A bheil am modail rigte a’ faighinn beothachadh preset, a dh’fheumas enable_rigging a bhith fìor. |
| `animation_action_id` |  | integer | no | `92` |  | ID beothachaidh preset leabharlann Meshy, le gnìomhan rim faighinn aig https://docs.meshy.ai/en/api/animation-library. Chan eil dearbhadh agus cleachdadh iomchaidh ach nuair a tha enable_animation fìor: thèid luachan taobh a-muigh [0, 696] a dhiùltadh le 422, agus tha "Idle" a’ freagairt ri `0`. |
| `enable_safety_checker` |  | boolean | no | `true` |  | Tionndadh sgrùdaidh sàbhailteachd ro-ghiullachd: tha true a’ dèanamh sgrùdadh sàbhailteachd an in-chuir riatanach mus tèid a ghiullachd. |

File parameters (`texture_image_url`) take a public `https://` URL, a `data:` URI up to 10 MB, or the `file_url` of an upload from `POST /files`.

## Example input

Required parameters only:

```json
{
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
```

A fuller example:

```json
{
  "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
```

## Run it

Set `DOITONG_API_KEY` to a key from https://doitong.com/developers/dashboard#keys. `?wait=20` returns the finished request in the same call when it is ready within 20 seconds; otherwise poll `GET /requests/{id}` (it also accepts `?wait=`), or pass `webhook_url`.

### curl

```bash
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/meshy/v6/text-to-3d?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
```

### JavaScript

```javascript
const API = "https://api.doitong.com/v1";
const headers = {
  "Authorization": "Bearer " + process.env.DOITONG_API_KEY,
  "Content-Type": "application/json",
};

// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/meshy/v6/text-to-3d?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);

// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
  res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
  request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
```

### Python

```python
import os
import requests

API = "https://api.doitong.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}

payload = {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}

# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/meshy/v6/text-to-3d", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
    raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])

# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
    request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
    raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
```

### MCP

The MCP server at `https://api.doitong.com/v1/mcp` exposes the tools `search_models`, `get_model`, `quote`, `run`, `get_request`, `cancel_request`, `list_requests`, `create_upload` and `get_account`. A `run` call for this model:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run",
    "arguments": {
      "model_id": "meshy/v6/text-to-3d",
      "input": {
        "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
      },
      "wait_seconds": 20
    }
  }
}
```

## Response

Every call returns a request object. `status` is one of `queued`, `running`, `succeeded`, `failed`, `canceled`. `outputs` lists the generated files with URLs on our storage (kept forever, or 7 days with `?storage=temporary`; `storage` says which); `output` is the model's own result object with the same URLs.

```json
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "meshy/v6/text-to-3d",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 800,
    "usd": "0.80",
    "charged": 800,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  },
  "output": {
    "animation_glb": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200
    },
    "animation_fbx": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200
    },
    "model_glb": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200
    },
    "thumbnail": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200
    },
    "model_urls": {
      "glb": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "fbx": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "obj": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "usdz": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "blend": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "stl": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      }
    },
    "texture_urls": [
      {
        "base_color": {
          "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
          "content_type": "image/jpeg",
          "file_name": "0-output.jpeg",
          "file_size": 1843200
        },
        "metallic": {
          "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
          "content_type": "image/jpeg",
          "file_name": "0-output.jpeg",
          "file_size": 1843200
        },
        "normal": {
          "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
          "content_type": "image/jpeg",
          "file_name": "0-output.jpeg",
          "file_size": 1843200
        },
        "roughness": {
          "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
          "content_type": "image/jpeg",
          "file_name": "0-output.jpeg",
          "file_size": 1843200
        }
      }
    ],
    "seed": 42,
    "prompt": "A rustic, antique wooden treasure chest with a curved, domed lid, constructed from weathered, dark brown planks exhibiting prominent wood grain and subtle distress. It's heavily reinforced with broad, dark grey, oxidized metal bands secured by numerous circular rivets. Ornate, dark iron decorative elements featuring swirling foliate patterns and dragon motifs adorn the corners and lid. A prominent, circular, intricately carved metal lock plate with a central keyhole dominates the front, flanked by two large, dark metallic pull rings.",
    "actual_prompt": "string",
    "rigged_character_glb": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200
    },
    "rigged_character_fbx": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200
    },
    "basic_animations": {
      "walking_glb": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "walking_fbx": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "walking_armature_glb": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "running_glb": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "running_fbx": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      },
      "running_armature_glb": {
        "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
        "content_type": "image/jpeg",
        "file_name": "0-output.jpeg",
        "file_size": 1843200
      }
    },
    "rig_task_id": "string"
  },
  "outputs": [
    {
      "type": "file",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `animation_glb` | object {url, content_type, file_name, file_size} \| null | Toradh beothachaidh anns a bheil am modail 3D mar GLB; chan eil an fhreagairt a’ gabhail a-steach an toraidh seo mura h-eil enable_animation fìor. |
| `animation_fbx` | object {url, content_type, file_name, file_size} \| null | Toradh beothachaidh anns a bheil am modail 3D mar FBX; chan eil an fhreagairt a’ gabhail a-steach an toraidh seo mura h-eil enable_animation fìor. |
| `model_glb` | object {url, content_type, file_name, file_size} | Faidhle GLB anns a bheil an nì 3D ginte. |
| `thumbnail` | object {url, content_type, file_name, file_size} \| null | Dealbh beag a sheallas ro-shealladh den mhodail ghinte. |
| `model_urls` | object {glb, fbx, obj, usdz, blend, stl} | Ceanglaichean ris a’ mhodail 3D ann an diofar chruthan. |
| `texture_urls` | array of object {base_color, metallic, normal, roughness} | Faidhlichean teacsair air an riochdachadh mar sreath de nithean. |
| `seed` | integer \| null | Luach sìl a chaidh a chleachdadh rè gineadh. |
| `prompt` | string | Prompt teacsa a chaidh a thoirt seachad airson gineadh. |
| `actual_prompt` | string \| null | Prompt a chaidh a chur an sàs dha-rìribh sa ghineadh nuair a bha leudachadh prompt air a chomasachadh. |
| `rigged_character_glb` | object {url, content_type, file_name, file_size} \| null | Toradh rigidh air a lìbhrigeadh mar fhaidhle caractair GLB; chan eil e san fhreagairt mura h-eil enable_rigging fìor. |
| `rigged_character_fbx` | object {url, content_type, file_name, file_size} \| null | Toradh rigidh air a lìbhrigeadh mar fhaidhle caractair FBX; chan eil e san fhreagairt mura h-eil enable_rigging fìor. |
| `basic_animations` | object {walking_glb, walking_fbx, walking_armature_glb, running_glb, running_fbx, running_armature_glb} \| null | Beothachaidhean bunaiteach coiseachd is ruith, air an gabhail a-steach dìreach ma tha enable_rigging fìor. |
| `rig_task_id` | string \| null | Aithnichear airson na h-obrach rigidh; air a ghabhail a-steach dìreach ma tha enable_rigging fìor. |

## Related models

- [Meshy 6 · Image to 3D](https://doitong.com/developers/models/meshy/v6/image-to-3d.md) (`meshy/v6/image-to-3d`): from $0.80 / run
- [Meshy 6 Preview · Text to 3D](https://doitong.com/developers/models/meshy/v6-preview/text-to-3d.md) (`meshy/v6-preview/text-to-3d`): $0.80 / request
- [Meshy 7.1 Text to 3D](https://doitong.com/developers/models/meshy/v7.1/text-to-3d.md) (`meshy/v7.1/text-to-3d`): from $0.80 / run
- [Meshy V7 Text to 3D](https://doitong.com/developers/models/meshy/v7/text-to-3d.md) (`meshy/v7/text-to-3d`): from $0.80 / run
- [Hunyuan 3d](https://doitong.com/developers/models/hunyuan-3d/v3.1/rapid/text-to-3d.md) (`hunyuan-3d/v3.1/rapid/text-to-3d`): from $0.225 / request
- [Hunyuan 3D Pro Text to 3D](https://doitong.com/developers/models/hunyuan-3d/v3.1/pro/text-to-3d.md) (`hunyuan-3d/v3.1/pro/text-to-3d`): $0.375 / run
- [Hunyuan Motion \[0.46B\]](https://doitong.com/developers/models/hunyuan-motion/fast.md) (`hunyuan-motion/fast`): $0.06 / request
- [Hunyuan Motion \[1B\]](https://doitong.com/developers/models/hunyuan-motion.md) (`hunyuan-motion`): $0.08 / request

## Links

- HTML page: https://doitong.com/developers/models/meshy/v6/text-to-3d
- All models and guides for AI agents: https://doitong.com/developers/llms.txt
- OpenAPI 3.1 with this model's typed request body: https://doitong.com/developers/openapi.json?model=meshy/v6/text-to-3d
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.com/v1/models/meshy/v6/text-to-3d
