# Meshy 7.1 Image to 3D API

> Giniúint 3D ó íomhá aonair a chuireann rogha taifeach geoiméadrach 4k leis

Déanann sé samhail 3D ó íomhá amháin in `image_url`. Glacann `geometry_resolution` standard, 2k nó 4k, agus níl 4k ar fáil ach sa leagan seo. Clúdaíonn `model_type` standard, lowpoly agus smart-topology, agus ritheann `target_polycount` ó 100 go 300000. Tá uigeachtaí, mapaí PBR, mód staide, rigáil daonnóideach agus réamhshocruithe beochana roghnach.

- Model id: `meshy/v7.1/image-to-3d`
- Made by: Meshy
- Category: Image to 3D
- Output: 3d
- Price per run: from $0.80 / run (cheapest run $0.80 (800 API credits))
- Run: `POST https://api.doitong.ru/v1/run/meshy/v7.1/image-to-3d`
- Quote: `POST https://api.doitong.ru/v1/quote/meshy/v7.1/image-to-3d`
- Docs page: https://doitong.com/ga/developers/models/meshy/v7.1/image-to-3d

## Pricing

Price: **from $0.80 / run** (the lowest tier; the quote prices your exact input). Price per run: the input files are measured before the run (length, resolution, frame rate). The quote measures the same files and is exactly what the run charges.

The full example input below costs $1.20 = 1200 API credits (1 run × $1.20).

Prices are the upstream price in USD, paid from the API balance in API credits (1000 API credits = 1 USD). `POST https://api.doitong.ru/v1/quote/meshy/v7.1/image-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

Send either the canonical name or the native field name (not both). Canonical names are the same across models.

| Parameter | Canonical name | Type | Required | Default | Allowed values / range | Description |
|---|---|---|---|---|---|---|
| `image_url` | `image` | string (image URL) | yes |  |  | Soláthair an íomhá foinse do chruthú 3D trí URL nó URI sonraí base64, ag úsáid .jpg, .jpeg, .png, AVIF nó HEIF. Láimhseálann tiontú uathoibríoch na hionchuir AVIF agus HEIF. |
| `model_type` |  | enum (string) | no | `standard` | `standard`, `lowpoly`, `smart-topology` | Mód mogall 3D: roghnaigh 'lowpoly' le haghaidh aschur íseal-pholagán optamaithe do pholagáin níos glaine; sa mhód seo déanann Meshy neamhaird de topology, target_polycount agus should_remesh. Le haghaidh gnáth-aschur ardsonraí roghnaigh 'standard', nó roghnaigh 'smart-topology' chun Meshy-T2 a úsáid agus páirteanna glana a ghiniúint ar leith ón tús. |
| `topology` |  | enum (string) | no | `triangle` | `quad`, `triangle` | Rogha topology na samhla idir Triangle le haghaidh sonraí geoiméadracha agus Quad le haghaidh réidhe dromchla. |
| `target_polycount` |  | integer | no | `30000` | 100 – 300,000 | Sprioc líon na bpolagán, teoranta do 15,000 nuair atá model_type 'smart-topology'. Mura sonraítear an sprioc sa mhód sin, roghnaítear réamhshocrú níos ísle Meshy de 4,000. |
| `symmetry_mode` |  | enum (string) | no | `auto` | `off`, `auto`, `on` | Roghnaigh an gcuireann giniúint na samhla siméadracht i bhfeidhm le On, an bhfágann sí ar lár í le Off, nó an gcinneann sí go huathoibríoch le Auto. |
| `should_remesh` |  | boolean | no | `true` |  | Cumasaíonn nó díchumasaíonn sé céim an athmhogalaithe. |
| `should_texture` |  | boolean | no | `true` |  | Cumasaíonn nó díchumasaíonn sé giniúint uigeachta. |
| `enable_pbr` |  | boolean | no | `false` |  | Cuireann sé léarscáileanna PBR miotalachta, garbhachta agus normálta leis an mbundath. |
| `is_a_t_pose` |  | boolean | no | `false` |  | Lascthrealamh giniúna T-pose a ghníomhaíonn true; tá sé as feidhm i bhfabhar pose_mode. |
| `pose_mode` |  | enum (string) | no | `` | `a-pose`, `t-pose`, `` | Fág an teaghrán folamh chun staidiúir na samhla ginte a fhágáil gan sonrú, nó iarr A-pose le 'a-pose' nó T-pose le 't-pose'. |
| `texture_prompt` |  | string \| null | no |  | ≤ 600 characters | Treoracha téacs a stiúrann giniúint uigeachta. |
| `texture_image_url` |  | string (image URL) \| null | no |  |  | Íomhá thagartha 2D a stiúrann giniúint uigeachta. |
| `enable_rigging` |  | boolean | no | `false` |  | Rigáil uathoibríoch dhaonna, is éifeachtaí do shamhlacha daonna a bhfuil a ngéaga in-idirdhealaithe go soiléir. Trí í a chumasú, rigáiltear an tsamhail ginte agus soláthraítear beochana bunúsacha siúil agus reatha. |
| `rigging_height_meters` |  | number | no | `1.7` | > 0 | Soláthair airde mheasta an charachtair i méadar nuair atá enable_rigging fíor; murach sin, níl aon éifeacht ag an luach seo. |
| `enable_animation` |  | boolean | no | `false` |  | An bhfaigheann an tsamhail rigáilte beochan réamhshocraithe, rud a éilíonn go mbeadh enable_rigging fíor. |
| `animation_action_id` |  | integer | no | `92` |  | Aitheantas réamhshocraithe beochana leabharlann Meshy, agus na gníomhartha atá ar fáil liostaithe ag https://docs.meshy.ai/en/api/animation-library. Ní bhaineann bailíochtú agus úsáid leis ach nuair atá enable_animation fíor: diúltaítear do luachanna lasmuigh de [0, 696] le 422, agus comhfhreagraíonn "Idle" do `0`. |
| `enable_safety_checker` |  | boolean | no | `true` |  | Lascthrealamh seiceála sábháilteachta réamhphróiseála: déanann true seiceáil sábháilteachta ionchuir réamhriachtanach don phróiseáil. |
| `geometry_resolution` |  | enum (string) \| null | no |  | `standard`, `2k`, `4k` | Taifeach na céimseata; éilíonn 4k Meshy-7.1. |
| `ultra_mode` |  | boolean | no | `false` |  | Rogha as feidhm arna cur in ionad ag geometry_resolution, a ghlacann tosaíocht má sholáthraítear an dá cheann; úsáid geometry_resolution='2k' ina ionad. |

File parameters (`image`, `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
{
  "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
```

A fuller example:

```json
{
  "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
```

## 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.ru/v1/run/meshy/v7.1/image-to-3d?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

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

### JavaScript

```javascript
const API = "https://api.doitong.ru/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/v7.1/image-to-3d?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }),
});
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.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}

payload = {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
}

# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/meshy/v7.1/image-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.ru/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/v7.1/image-to-3d",
      "input": {
        "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
      },
      "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/v7.1/image-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": 1200,
    "usd": "1.20",
    "charged": 1200,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "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,
    "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.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
```

### Output fields (`output`)

| Field | Type | Description |
|---|---|---|
| `animation_glb` | object {url, content_type, file_name, file_size} \| null | Toradh beochana ina bhfuil an tsamhail 3D mar GLB; fágann an freagra an toradh seo ar lár mura bhfuil enable_animation fíor. |
| `animation_fbx` | object {url, content_type, file_name, file_size} \| null | Toradh beochana ina bhfuil an tsamhail 3D mar FBX; fágann an freagra an toradh seo ar lár mura bhfuil enable_animation fíor. |
| `model_glb` | object {url, content_type, file_name, file_size} | Comhad GLB ina bhfuil an réad 3D ginte. |
| `thumbnail` | object {url, content_type, file_name, file_size} \| null | Mionsamhail a thaispeánann réamhamharc den tsamhail ginte. |
| `model_urls` | object {glb, fbx, obj, usdz, blend, stl} | Naisc chuig an tsamhail 3D i bhformáidí éagsúla. |
| `texture_urls` | array of object {base_color, metallic, normal, roughness} | Réad comhaid uigeachta in eagar atá struchtúrtha chun teacht le Meshy API. |
| `seed` | integer \| null | Síol giniúna, nuair atá sé ar fáil. |
| `rigged_character_glb` | object {url, content_type, file_name, file_size} \| null | Toradh rigála seachadta mar chomhad carachtair GLB; níl sé sa fhreagra mura bhfuil enable_rigging fíor. |
| `rigged_character_fbx` | object {url, content_type, file_name, file_size} \| null | Toradh rigála seachadta mar chomhad carachtair FBX; níl sé sa fhreagra mura bhfuil enable_rigging fíor. |
| `basic_animations` | object {walking_glb, walking_fbx, walking_armature_glb, running_glb, running_fbx, running_armature_glb} \| null | Beochana bunúsacha siúil agus reatha, san áireamh ach amháin má tá enable_rigging fíor. |
| `rig_task_id` | string \| null | Aitheantóir don tasc rigála; san áireamh ach amháin má tá enable_rigging fíor. |

## Related models

- [Meshy 7.1 Multi Image to 3D](https://doitong.com/developers/models/meshy/v7.1/multi-image-to-3d.md) (`meshy/v7.1/multi-image-to-3d`): from $0.80 / run
- [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 6 Preview · Image to 3D](https://doitong.com/developers/models/meshy/v6-preview/image-to-3d.md) (`meshy/v6-preview/image-to-3d`): from $0.80 / run
- [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 V7 Image to 3D](https://doitong.com/developers/models/meshy/v7/image-to-3d.md) (`meshy/v7/image-to-3d`): from $0.80 / run
- [Meshy V7 Multi Image to 3D](https://doitong.com/developers/models/meshy/v7/multi-image-to-3d.md) (`meshy/v7/multi-image-to-3d`): from $0.80 / run
- [Hi3D Image to 3D](https://doitong.com/developers/models/hitem3d/hi3d/image-to-3d.md) (`hitem3d/hi3d/image-to-3d`): $0.50 / run
- [Hi3D Image to 3D · v3.0](https://doitong.com/developers/models/hitem3d/hi3d/v3.0/image-to-3d.md) (`hitem3d/hi3d/v3.0/image-to-3d`): from $1.80 / run

## Links

- HTML page: https://doitong.com/developers/models/meshy/v7.1/image-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/v7.1/image-to-3d
- Errors: https://doitong.com/developers/docs/errors
- Model details as JSON: https://api.doitong.ru/v1/models/meshy/v7.1/image-to-3d
