# Meshy V7 Multi Image to 3D API

> اسی آبجیکٹ کے 1 سے 4 مناظر سے ایک 3D ماڈل، پولی گون اور ٹوپولوجی کنٹرول کے ساتھ

`image_urls` سے ایک آبجیکٹ کو دوبارہ بناتا ہے، جس میں مختلف زاویوں سے اس کی ایک سے چار تصاویر شامل ہوتی ہیں۔ `topology` کو quad یا triangle اور `target_polycount` کو 100 سے 300000 تک سیٹ کریں، اور standard یا 2k `geometry_resolution` منتخب کریں۔ `should_texture` کے ذریعے ٹیکسچرنگ اختیاری ہے؛ PBR میپس، پوز موڈ، رگنگ اور اینیمیشن دستیاب ہیں۔ آؤٹ پٹ میں GLB اور دیگر فارمیٹس شامل ہیں۔

- Model id: `meshy/v7/multi-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.com/v1/run/meshy/v7/multi-image-to-3d`
- Quote: `POST https://api.doitong.com/v1/quote/meshy/v7/multi-image-to-3d`
- Docs page: https://doitong.com/ur/developers/models/meshy/v7/multi-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.com/v1/quote/meshy/v7/multi-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_urls` | `images` | array of image URL | yes |  |  | 3D creation کے لیے تصویر set؛ .jpg، .jpeg، .png، نیز خودکار conversion کے ساتھ AVIF/HEIF قبول کرتا ہے۔ مختلف angles سے ایک ہی object کے 1 سے 4 views فراہم کریں؛ پہلے 4 کے بعد کی entries استعمال نہیں ہوتیں۔ |
| `topology` |  | enum (string) | no | `triangle` | `quad`, `triangle` | ماڈل topology کا انتخاب: geometric detail کے لیے Triangle یا surface smoothness کے لیے Quad۔ |
| `target_polycount` |  | integer | no | `30000` | 100 – 300,000 | آؤٹ پٹ ماڈل کے لیے مطلوبہ polygon count۔ |
| `symmetry_mode` |  | enum (string) | no | `auto` | `off`, `auto`, `on` | ماڈل بناتے وقت لاگو ہونے والی symmetry setting۔ |
| `should_remesh` |  | boolean | no | `true` |  | Remesh phase چلانی ہے یا نہیں۔ اسے false کرنے سے triangular mesh بنتا ہے؛ اس کے بعد topology اور target_polycount کو نظرانداز کیا جاتا ہے۔ |
| `should_texture` |  | boolean | no | `true` |  | Texture تخلیق کو enable یا disable کرتا ہے۔ |
| `enable_pbr` |  | boolean | no | `false` |  | اضافی PBR آؤٹ پٹ switch، صرف should_texture true ہونے پر دستیاب؛ base color کے ساتھ metallic، roughness، اور normal maps شامل کرتا ہے۔ |
| `is_a_t_pose` |  | boolean | no | `false` |  | true کے ذریعے فعال ہونے والا T-pose تخلیق switch؛ pose_mode کے حق میں deprecated ہے۔ |
| `pose_mode` |  | enum (string) | no | `` | `a-pose`, `t-pose`, `` | تخلیق کردہ ماڈل کا pose مت بتانے کے لیے string خالی چھوڑیں، یا 'a-pose' سے A-pose اور 't-pose' سے T-pose طلب کریں۔ |
| `texture_prompt` |  | string \| null | no |  | ≤ 600 characters | Texturing guidance بطور text پرامپٹ فراہم کردہ؛ should_texture true ہونا ضروری ہے۔ |
| `texture_image_url` |  | string (image URL) \| null | no |  |  | Texturing guidance بطور 2D تصویر فراہم کردہ؛ should_texture true ہونا ضروری ہے۔ |
| `enable_rigging` |  | boolean | no | `false` |  | Automatic humanoid rigging، ایسے humanoid ماڈل کے لیے سب سے مؤثر ہے جن کے اعضا واضح طور پر الگ پہچانے جا سکیں۔ اسے enable کرنے سے تخلیق کردہ ماڈل rig ہوتا ہے اور walk اور run کے لیے بنیادی animations فراہم ہوتی ہیں۔ |
| `rigging_height_meters` |  | number | no | `1.7` | > 0 | جب enable_rigging true ہو تو کردار کا تخمینی قد meters میں فراہم کریں؛ بصورت دیگر اس value کا کوئی اثر نہیں۔ |
| `enable_animation` |  | boolean | no | `false` |  | کیا rigged ماڈل کو preset animation ملے؛ اس کے لیے enable_rigging true ہونا ضروری ہے۔ |
| `animation_action_id` |  | integer | no | `92` |  | Meshy library animation preset ID؛ دستیاب actions https://docs.meshy.ai/en/api/animation-library پر درج ہیں۔ Validation اور استعمال صرف اس وقت لاگو ہوتے ہیں جب enable_animation true ہو: [0, 696] سے باہر values کو 422 کے ساتھ مسترد کیا جاتا ہے، اور "Idle" `0` کے مطابق ہے۔ |
| `enable_safety_checker` |  | boolean | no | `true` |  | Preprocessing safety-check switch: true کرنے سے processing سے پہلے ان پٹ safety check لازمی ہو جاتا ہے۔ |
| `geometry_resolution` |  | enum (string) \| null | no |  | `standard`, `2k` | Geometry کی ریزولوشن؛ متعدد تصویر سے تخلیق کے لیے 4k دستیاب نہیں۔ |

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

A fuller example:

```json
{
  "image_urls": [
    "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.com/v1/run/meshy/v7/multi-image-to-3d?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_urls": [
      "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.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/v7/multi-image-to-3d?wait=20", {
  method: "POST",
  headers,
  body: JSON.stringify({
    "image_urls": [
      "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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}

payload = {
    "image_urls": [
        "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/multi-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.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/v7/multi-image-to-3d",
      "input": {
        "image_urls": [
          "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/multi-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_urls": [
      "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.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 | Animation result جس میں 3D ماڈل بطور GLB شامل ہے؛ enable_animation true نہ ہونے پر response میں یہ result شامل نہیں ہوتا۔ |
| `animation_fbx` | object {url, content_type, file_name, file_size} \| null | Animation result جس میں 3D ماڈل بطور FBX شامل ہے؛ enable_animation true نہ ہونے پر response میں یہ result شامل نہیں ہوتا۔ |
| `model_glb` | object {url, content_type, file_name, file_size} | تخلیق کردہ 3D object پر مشتمل GLB فائل۔ |
| `thumbnail` | object {url, content_type, file_name, file_size} \| null | تخلیق کردہ ماڈل کا preview دکھانے والا thumbnail۔ |
| `model_urls` | object {glb, fbx, obj, usdz, blend, stl} | مختلف formats میں 3D ماڈل کے links۔ |
| `texture_urls` | array of object {base_color, metallic, normal, roughness} | Texture فائل، objects کی array کے طور پر۔ |
| `seed` | integer \| null | تخلیق seed، اگر دستیاب ہو۔ |
| `rigged_character_glb` | object {url, content_type, file_name, file_size} \| null | GLB character فائل کے طور پر فراہم کردہ rigging result؛ enable_rigging true نہ ہونے پر response میں موجود نہیں ہوتا۔ |
| `rigged_character_fbx` | object {url, content_type, file_name, file_size} \| null | FBX character فائل کے طور پر فراہم کردہ rigging result؛ enable_rigging true نہ ہونے پر response میں موجود نہیں ہوتا۔ |
| `basic_animations` | object {walking_glb, walking_fbx, walking_armature_glb, running_glb, running_fbx, running_armature_glb} \| null | بنیادی walk اور run animations، صرف enable_rigging true ہونے پر شامل۔ |
| `rig_task_id` | string \| null | Rigging task کا identifier؛ صرف enable_rigging true ہونے پر شامل۔ |

## Related models

- [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 Text to 3D](https://doitong.com/developers/models/meshy/v7/text-to-3d.md) (`meshy/v7/text-to-3d`): from $0.80 / run
- [Meshy 7 Retexture](https://doitong.com/developers/models/meshy/v7/retexture.md) (`meshy/v7/retexture`): from $0.30 / request
- [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 7.1 Image to 3D](https://doitong.com/developers/models/meshy/v7.1/image-to-3d.md) (`meshy/v7.1/image-to-3d`): from $0.80 / run
- [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
- [Hi3D Image to 3D](https://doitong.com/developers/models/hitem3d/hi3d/image-to-3d.md) (`hitem3d/hi3d/image-to-3d`): $0.50 / run

## Links

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