# Meshy 6 · Text to 3D API

> Möskvagerð úr texta í 3D með Meshy 6, forskoðunar- eða áferðarham og valkvæðu PBR, beinagrind og hreyfimynd

Byggir 3D-líkan úr texta `prompt` með allt að 600 stöfum. `mode` velur óáferðarlagða rúmfræði (`preview`) eða áferðarlagaða niðurstöðu (`full`). `model_type` getur verið standard, lowpoly eða smart-topology og `target_polycount` er á bilinu 100 til 300000, með smart topology að hámarki 15000. Einnig má bæta við PBR-kortum, stellingu, beinagrind manngerðrar persónu og hreyfimyndaforstillingu.

- 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/is/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 | Lýsing á hlutnum sem á að tákna sem 3D-líkan, takmörkuð við 600 stafi. |
| `mode` |  | enum (string) | no | `full` | `preview`, `full` | Efnisgerð: 'preview' skilar rúmfræði án áferðar, en 'full' skilar áferðarlíkani með því að sameina preview og refine. |
| `seed` |  | integer \| null | no |  |  | Endurnotaðu þetta fræ ásamt óbreyttri kvaðningu til að endurskapa yfirleitt fyrri niðurstöðu. |
| `model_type` |  | enum (string) | no | `standard` | `standard`, `lowpoly`, `smart-topology` | 3D-netstilling: veldu 'lowpoly' fyrir lágfjölgunarúttak sem er fínstillt fyrir hreinni marghyrninga; í þessari stillingu hunsar Meshy topology, target_polycount og should_remesh. Fyrir hefðbundið úttak með miklum smáatriðum skaltu velja 'standard', eða 'smart-topology' til að nota Meshy-T2 í rúmfræðiskrefinu (preview) og fá hreina hluta sem eru myndaðir aðskildir frá upphafi. |
| `topology` |  | enum (string) | no | `triangle` | `quad`, `triangle` | Val á grannfræði líkans milli Triangle fyrir rúmfræðileg smáatriði og Quad fyrir slétt yfirborð. |
| `target_polycount` |  | integer | no | `30000` | 100 – 300,000 | Markfjöldi marghyrninga, takmarkaður við 15,000 þegar model_type er 'smart-topology'. Ef markið er ekki gefið upp í þeirri stillingu er lægra sjálfgefið gildi Meshy, 4,000, valið. |
| `should_remesh` |  | boolean | no | `true` |  | Slepptu endurnetun og fáðu hráa þríhyrningsnetið með því að stilla þetta á false; annars skaltu virkja endurnetunarskrefið. |
| `symmetry_mode` |  | enum (string) | no | `auto` | `off`, `auto`, `on` | Samhverfustilling sem beitt er við gerð líkansins. |
| `enable_pbr` |  | boolean | no | `false` |  | Stýrir myndun málm-, hrjúfleika- og normal-PBR-korta ásamt grunnlitnum. |
| `is_a_t_pose` |  | boolean | no | `false` |  | Rofi fyrir myndun T-stellingar sem virkjast með true; úreltur og leystur af hólmi af pose_mode. |
| `pose_mode` |  | enum (string) | no | `` | `a-pose`, `t-pose`, `` | Skildu strenginn eftir tóman til að tilgreina ekki stellingu myndaða líkansins, eða óskaðu eftir A-stellingu með 'a-pose' eða T-stellingu með 't-pose'. |
| `enable_prompt_expansion` |  | boolean | no | `false` |  | Leyfðu stórmálslíkani að bæta upplýsingum við kvaðninguna. Þessi útvíkkun breytir ekki merkingu kvaðningarinnar. |
| `texture_prompt` |  | string \| null | no |  | ≤ 600 characters | Stýrðu áferð með viðbótartextakvaðningu í 'full'-stillingu; aðrar stillingar nota hana ekki. |
| `texture_image_url` |  | string (image URL) \| null | no |  |  | 2D-viðmiðunarmynd fyrir áferðargerð, aðeins beitt í 'full'-stillingu. |
| `enable_rigging` |  | boolean | no | `false` |  | Sjálfvirk beinagrindarsetning mannveru, áhrifaríkust fyrir mannleg líkön þar sem útlimirnir eru greinilega aðgreindir. Með virkjun er beinagrind sett á myndaða líkanið og einföldum göngu- og hlaupahreyfingum bætt við. |
| `rigging_height_meters` |  | number | no | `1.7` | > 0 | Gefðu upp áætlaða hæð persónu í metrum þegar enable_rigging er true; annars hefur þetta gildi engin áhrif. |
| `enable_animation` |  | boolean | no | `false` |  | Hvort beinagrindarsett líkan fái forstillta hreyfingu, sem krefst þess að enable_rigging sé true. |
| `animation_action_id` |  | integer | no | `92` |  | Auðkenni hreyfingarforstillingar úr Meshy-safninu, með tiltækum aðgerðum skráðum á https://docs.meshy.ai/en/api/animation-library. Staðfesting og notkun eiga aðeins við þegar enable_animation er true: gildi utan [0, 696] er hafnað með 422 og "Idle" samsvarar `0`. |
| `enable_safety_checker` |  | boolean | no | `true` |  | Öryggisathugunarrofi fyrir forvinnslu: true gerir öryggisathugun á inntaki að forsendu úrvinnslu. |

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 | Niðurstaða hreyfingar sem inniheldur 3D-líkanið sem GLB; svarið sleppir þessari niðurstöðu nema enable_animation sé true. |
| `animation_fbx` | object {url, content_type, file_name, file_size} \| null | Niðurstaða hreyfingar sem inniheldur 3D-líkanið sem FBX; svarið sleppir þessari niðurstöðu nema enable_animation sé true. |
| `model_glb` | object {url, content_type, file_name, file_size} | GLB-skrá sem inniheldur 3D-hlutinn sem búinn er til. |
| `thumbnail` | object {url, content_type, file_name, file_size} \| null | Smámynd sem sýnir forskoðun á líkaninu sem búið er til. |
| `model_urls` | object {glb, fbx, obj, usdz, blend, stl} | Tenglar á 3D-líkanið á ýmsum sniðum. |
| `texture_urls` | array of object {base_color, metallic, normal, roughness} | Áferðarskrár táknaðar sem fylki hluta. |
| `seed` | integer \| null | Frægildi notað við efnisgerð. |
| `prompt` | string | Textakvaðning sem gefin er upp fyrir efnisgerð. |
| `actual_prompt` | string \| null | Kvaðningin sem var í raun beitt við efnisgerð þegar kvaðningarútvíkkun var virkjuð. |
| `rigged_character_glb` | object {url, content_type, file_name, file_size} \| null | Niðurstaða beinagrindarsetningar skilað sem GLB-persónuskrá; vantar í svarið nema enable_rigging sé true. |
| `rigged_character_fbx` | object {url, content_type, file_name, file_size} \| null | Niðurstaða beinagrindarsetningar skilað sem FBX-persónuskrá; vantar í svarið nema enable_rigging sé true. |
| `basic_animations` | object {walking_glb, walking_fbx, walking_armature_glb, running_glb, running_fbx, running_armature_glb} \| null | Einfaldar göngu- og hlaupahreyfingar, aðeins með ef enable_rigging er true. |
| `rig_task_id` | string \| null | Auðkenni beinagrindarsetningarverkefnis; aðeins með ef enable_rigging er true. |

## 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
