Pixazo APIModelsMeshy 6
Pixazo APIModelsMeshy 6

Meshy 6 API - AI 3D Model Generation APIs

by Meshy

Meshy 6 API is a professional-grade 3D generation interface designed to programmatically transform text prompts and 2D images into high-quality, production-ready 3D assets. Known for delivering sculpting-level detail, the system utilizes advanced neural geometry reconstruction to produce clean mesh topology, sharper hard-surface details, and lifelike organic forms. It offers comprehensive features such as automated AI texturing with PBR maps, automatic rigging and animation, and a low-poly mode optimized for real-time game engines. Supporting various industry-standard formats like OBJ, FBX, and GLB, this API enables developers to scale 3D content creation for game development, AR/VR experiences, and high-fidelity 3D printing workflows.

Get API Key
Meshy 6 API

Models Version

LIMITED TIME OFFER

Get $5 Free Credit on First Payment

No strings attached — add funds and get $5 bonus instantly

Claim Your $5 →

Meshy 6 Text to Image ( 3D Models - Text to 3D) API Documentation

https://gateway.pixazo.ai/meshy-6-text-to-3d/v1

Authentication

All requests require an API key passed via header.

Header Type Required Description
Ocp-Apim-Subscription-Key string Yes Your API subscription key

Meshy 6 (Text to 3D) generate request - Meshy 6 (Text to 3D)

Request Code

POST https://gateway.pixazo.ai/meshy-6-text-to-3d/v1/meshy-6-text-to-3d-request
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork",
  "mode": "full",
  "topology": "triangle",
  "target_polycount": 30000,
  "should_remesh": true,
  "symmetry_mode": "auto",
  "rigging_height_meters": 1.7,
  "animation_action_id": 1001,
  "enable_safety_checker": true
}
import requests

url = "https://gateway.pixazo.ai/meshy-6-text-to-3d/v1/meshy-6-text-to-3d-request"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork",
    "mode": "full",
    "topology": "triangle",
    "target_polycount": 30000,
    "should_remesh": true,
    "symmetry_mode": "auto",
    "rigging_height_meters": 1.7,
    "animation_action_id": 1001,
    "enable_safety_checker": true
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://gateway.pixazo.ai/meshy-6-text-to-3d/v1/meshy-6-text-to-3d-request";

const headers = {
  "Content-Type": "application/json",
  "Cache-Control": "no-cache",
  "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
};

const data = {
  prompt: "A rustic antique wooden treasure chest with iron bands and ornate metalwork",
  mode: "full",
  topology: "triangle",
  target_polycount: 30000,
  should_remesh: true,
  symmetry_mode: "auto",
  rigging_height_meters: 1.7,
  animation_action_id: 1001,
  enable_safety_checker: true
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
curl -X POST "https://gateway.pixazo.ai/meshy-6-text-to-3d/v1/meshy-6-text-to-3d-request" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork",
    "mode": "full",
    "topology": "triangle",
    "target_polycount": 30000,
    "should_remesh": true,
    "symmetry_mode": "auto",
    "rigging_height_meters": 1.7,
    "animation_action_id": 1001,
    "enable_safety_checker": true
  }'

Output

{
  "request_id": "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Parameters - Meshy 6 (Text to 3D) generate request

Field Type Required Default Description
promptstringYesDescription of the 3D object. Maximum 600 characters.
modeenumNo"full"Generation mode. Allowed: preview, full. Preview returns untextured geometry only (20 credits); full returns fully textured model with optional texture guidance (30 credits).
seedintegerNoSeed for reproducible results.
topologyenumNo"triangle"Mesh topology type. Allowed: quad, triangle.
target_polycountintegerNo30000Target number of polygons in the output mesh.
should_remeshbooleanNotrueEnable remesh phase. When false, returns unprocessed triangular mesh without optimization.
symmetry_modeenumNo"auto"Symmetry enforcement mode. Allowed: off, auto, on.
enable_pbrbooleanNoGenerate PBR maps (metallic, roughness, normal). Only applicable in full mode.
pose_modeenumNo""Character pose for rigging. Allowed: a-pose, t-pose, or empty.
enable_prompt_expansionbooleanNofalseUse an LLM to expand the prompt with additional details while maintaining original meaning.
texture_promptstringNoAdditional prompt to guide texturing. Only used in full mode.
texture_image_urlstringNoURL to a 2D image used to guide texturing. Only used in full mode.
enable_riggingbooleanNofalseAuto-rig the generated model as a humanoid character.
rigging_height_metersfloatNo1.7Height of the rigged character in meters. Only used when enable_rigging is true.
enable_animationbooleanNofalseApply a predefined animation preset. Requires enable_rigging to be true.
animation_action_idintegerNo1001Animation preset ID from Meshy library. See https://docs.meshy.ai/en/api/animation-library.
enable_safety_checkerbooleanNotrueToggle input safety check to filter inappropriate prompts.

Minimum Request

{
  "prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork"
}

Full Request (all options)

{
  "prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork",
  "mode": "full",
  "seed": 12345,
  "topology": "triangle",
  "target_polycount": 30000,
  "should_remesh": true,
  "symmetry_mode": "auto",
  "enable_pbr": true,
  "pose_mode": "t-pose",
  "enable_prompt_expansion": false,
  "texture_prompt": "Ancient wood with weathered patina and brass fittings",
  "texture_image_url": "https://example.com/texture.jpg",
  "enable_rigging": true,
  "rigging_height_meters": 1.7,
  "enable_animation": true,
  "animation_action_id": 1001,
  "enable_safety_checker": true
}

Response

{
  "request_id": "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response Fields - Meshy 6 (Text to 3D) generate request

Field Type Description
request_idstringUnique identifier to track the job status
statusstringCurrent status of the job (QUEUED, PROCESSING, COMPLETED, FAILED, ERROR)
polling_urlstringURL to use for checking the status of the generated model

Request Headers

Header Value
Content-Typeapplication/json
Cache-Controlno-cache
Ocp-Apim-Subscription-KeyYour API subscription key

Response Handling

Common status codes for Meshy 6 (Text to 3D) generate request.

Code Meaning
200 Success
Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
Too Many Requests
500 Internal Server Error

Common Error Responses

400 Validation Error

{
  "error": "Invalid parameter: mode must be one of 'preview', 'full'"
}

404 Not Found

{
  "error": "Invalid request_id: meshy-6-text-to-3d_invalid_id"
}

Status Workflow

Status values and lifecycle for Meshy 6 (Text to 3D) requests.

Status Description
QUEUEDRequest accepted, waiting to be processed
PROCESSINGBeing processed by the model
COMPLETEDDone — output contains the result
FAILEDFailed — check error field
ERRORSystem error — not charged

Status Flow

Submitted → QUEUED → PROCESSING → COMPLETED/FAILED/ERROR

Typical Workflow

  1. Submit request to /meshy-6-text-to-3d-request
  2. Receive request_id in response
  3. Poll /v2/requests/status/{request_id} every 2-3 seconds
  4. When status=COMPLETED, use model_glb and other URLs from response
  5. Handle FAILED or ERROR states with appropriate retry or error handling

Meshy 6 (Text to 3D) check status - Meshy 6 (Text to 3D)

Request Code

POST https://gateway.pixazo.ai/meshy-6-text-to-3d/v1/meshy-6-text-to-3d-request-result
Content-Type: application/json
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "request_id": "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
import requests

url = "https://gateway.pixazo.ai/meshy-6-text-to-3d/v1/meshy-6-text-to-3d-request-result"
headers = {
    "Content-Type": "application/json",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "request_id": "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const url = "https://gateway.pixazo.ai/meshy-6-text-to-3d/v1/meshy-6-text-to-3d-request-result";

const headers = {
  "Content-Type": "application/json",
  "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
};

const data = {
  request_id: "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
curl -X POST "https://gateway.pixazo.ai/meshy-6-text-to-3d/v1/meshy-6-text-to-3d-request-result" \
  -H "Content-Type: application/json" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "request_id": "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }'

Output

{
  "model_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.glb",
  "thumbnail": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/thumbnail.jpg",
  "model_urls": {
    "glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.glb",
    "fbx": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.fbx",
    "obj": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.obj",
    "usdz": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.usdz",
    "blend": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.blend",
    "stl": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.stl"
  },
  "texture_urls": {
    "base_color": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/base_color.jpg",
    "metallic": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/metallic.jpg",
    "roughness": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/roughness.jpg",
    "normal": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/normal.jpg"
  },
  "seed": 12345,
  "prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork",
  "actual_prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork, weathered with age, displaying intricate carvings and tarnished brass fittings"
}

Request Parameters - Meshy 6 (Text to 3D) check status

Field Type Required Default Description
request_idstringYesUnique identifier returned from the initial request submission

Minimum Request

{
  "request_id": "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Full Request (all options)

{
  "request_id": "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response

{
  "request_id": "meshy-6-text-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "meshy-6-text-to-3d",
  "error": null,
  "output": {
    "model_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.glb",
    "thumbnail": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/thumbnail.jpg",
    "model_urls": {
      "glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.glb",
      "fbx": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.fbx",
      "obj": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.obj",
      "usdz": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.usdz",
      "blend": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.blend",
      "stl": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/output.stl"
    },
    "texture_urls": {
      "base_color": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/base_color.jpg",
      "metallic": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/metallic.jpg",
      "roughness": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/roughness.jpg",
      "normal": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/normal.jpg"
    },
    "seed": 12345,
    "prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork",
    "actual_prompt": "A rustic antique wooden treasure chest with iron bands and ornate metalwork, weathered with age, displaying intricate carvings and tarnished brass fittings"
  },
  "rigged_character_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/rigged_character.glb",
  "rigged_character_fbx": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/rigged_character.fbx",
  "basic_animations": [
    {
      "name": "idle",
      "url": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-text-to-3d_019dxxxx/animation_idle.glb"
    }
  ],
  "rig_task_id": "rig_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "created_at": "2026-03-31T10:00:00.000Z",
  "updated_at": "2026-03-31T10:00:15.000Z",
  "completed_at": "2026-03-31T10:00:15.000Z"
}

Response Fields - Meshy 6 (Text to 3D) check status

Field Type Description
request_idstringUnique identifier of the request
statusstringCurrent status of the job (QUEUED, PROCESSING, COMPLETED, FAILED, ERROR)
model_idstringID of the model used for generation
errornull|stringError description if status is FAILED, otherwise null
output.model_glbstringURL to the GLB model file
output.thumbnailstringURL to the model thumbnail image
output.model_urlsobjectDictionary of model file formats and their URLs (glb, fbx, obj, usdz, blend, stl)
output.texture_urlsobjectDictionary of texture map URLs (base_color, metallic, roughness, normal)
output.seedintegerSeed used for the generation
output.promptstringOriginal text prompt
output.actual_promptstringPrompt after LLM expansion (if enable_prompt_expansion was used)
rigged_character_glbstringURL to the rigged character GLB file (if enable_rigging was true)
rigged_character_fbxstringURL to the rigged character FBX file (if enable_rigging was true)
basic_animationsarrayList of animation files with name and URL
rig_task_idstringInternal identifier for the rigging task (if enable_rigging was true)
created_atstringISO timestamp when the request was created
updated_atstringISO timestamp when the request was last updated
completed_atstringISO timestamp when the request was completed

Request Headers

Header Value
Content-Typeapplication/json
Ocp-Apim-Subscription-KeyYour API subscription key

Response Handling

Common status codes for Meshy 6 (Text to 3D) check status.

Code Meaning
200 Success
Bad Request (invalid request_id)
401 Unauthorized
403 Forbidden
404 Not Found (request_id not found)
Too Many Requests
500 Internal Server Error

Notes & Tips

  1. Poll the status endpoint every 2–3 seconds until status is COMPLETED, FAILED, or ERROR.
  2. Use enable_prompt_expansion to enhance vague prompts with semantic detail.
  3. For character models, combine enable_rigging, pose_mode, and enable_animation for ready-to-animate assets.
  4. Use texture_image_url for precise texture control when text prompts are insufficient.
  5. Set target_polycount appropriately: lower values (5k–15k) for web/mobile, higher (30k–100k) for high-end rendering.
  6. Always validate actual_prompt in COMPLETED responses to confirm prompt expansion behavior.
  7. Implement retry logic for transient ERROR or FAILED states.
  8. Predictive generation time: 15–60 seconds for preview mode, 30–120 seconds for full mode.
  9. Texture guidance works best with high-resolution source images (1024x1024+).
  10. Enable safety_checker is recommended for public applications to prevent inappropriate generation.

Meshy 6 Text to Image ( 3D Models - Text to 3D) API Pricing

ResolutionPrice (USD)
All Resolution$0.8

Meshy 6 Image to Image ( 3D Models - Image to 3D) API Documentation

https://gateway.pixazo.ai/meshy-6-image-to-3d/v1

Authentication

All requests require an API key passed via header.

Header Type Required Description
Ocp-Apim-Subscription-Key string Yes Your API subscription key

Meshy 6 (Image to 3D) generate request - Meshy 6 (Image to 3D)

Request Code

POST https://gateway.pixazo.ai/meshy-6-image-to-3d/v1/meshy-6-image-to-3d-request
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "image_url": "https://v3b.fal.media/files/b/zebra/3osHJDI8IZ2wl6sGtEUeB_image.png"
}
import requests

url = "https://gateway.pixazo.ai/meshy-6-image-to-3d/v1/meshy-6-image-to-3d-request"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "image_url": "https://v3b.fal.media/files/b/zebra/3osHJDI8IZ2wl6sGtEUeB_image.png"
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
const url = 'https://gateway.pixazo.ai/meshy-6-image-to-3d/v1/meshy-6-image-to-3d-request';

const data = {
  image_url: 'https://v3b.fal.media/files/b/zebra/3osHJDI8IZ2wl6sGtEUeB_image.png'
};

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Cache-Control': 'no-cache',
    'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
  },
  body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
curl -X POST "https://gateway.pixazo.ai/meshy-6-image-to-3d/v1/meshy-6-image-to-3d-request" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "image_url": "https://v3b.fal.media/files/b/zebra/3osHJDI8IZ2wl6sGtEUeB_image.png"
  }'

Output

{
  "model_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.glb",
  "thumbnail": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/thumbnail.jpg",
  "model_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.glb",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.fbx",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.obj"
  ]
}

Request Parameters - Meshy 6 (Image to 3D) generate request

Field Type Required Default Description
image_url string Yes URL or base64 data URI of the input image. Supports JPG, JPEG, PNG, AVIF, HEIF formats.
topology enum No triangle Surface topology type. Allowed: quad, triangle. Quad for smooth surfaces, Triangle for detailed geometry.
target_polycount integer No 30000 Target number of polygons in the output mesh.
symmetry_mode enum No auto Symmetry enforcement mode. Allowed: off, auto, on.
should_remesh boolean No true Enable the remeshing phase to optimize mesh structure.
should_texture boolean No true Generate texture maps for the 3D model.
enable_pbr boolean No Generate PBR maps (metallic, roughness, normal) in addition to base color texture.
pose_mode enum No Enforce a specific pose. Allowed: a-pose, t-pose, or empty for no specific pose.
texture_prompt string No Text prompt to guide the texturing process.
texture_image_url string No URL of a 2D reference image to guide the texturing process.
enable_rigging boolean No Auto-rig the model as a humanoid character with basic walking and running animations. Best for characters with clearly defined limbs.
rigging_height_meters float No 1.7 Approximate height of the character in meters. Used only when enable_rigging is true.
enable_animation boolean No Apply a predefined animation preset. Requires enable_rigging to be true.
animation_action_id integer No 1001 Animation preset ID from Meshy’s library of 500+ presets. See https://docs.meshy.ai/en/api/animation-library.
enable_safety_checker boolean No true Enable input safety filtering to block inappropriate content.

Minimum Request

{
  "image_url": "https://v3b.fal.media/files/b/zebra/3osHJDI8IZ2wl6sGtEUeB_image.png"
}

Full Request (all options)

{
  "image_url": "https://v3b.fal.media/files/b/zebra/3osHJDI8IZ2wl6sGtEUeB_image.png",
  "topology": "triangle",
  "target_polycount": 30000,
  "symmetry_mode": "auto",
  "should_remesh": true,
  "should_texture": true,
  "enable_pbr": false,
  "pose_mode": "",
  "texture_prompt": "",
  "texture_image_url": "",
  "enable_rigging": false,
  "rigging_height_meters": 1.7,
  "enable_animation": false,
  "animation_action_id": 1001,
  "enable_safety_checker": true
}

Response

{
  "model_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.glb",
  "thumbnail": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/thumbnail.jpg",
  "model_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.glb",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.fbx",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.obj",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.usdz",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.blend",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.stl"
  ],
  "texture_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/base_color.png",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/metallic.png",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/roughness.png",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/normal.png"
  ],
  "seed": 12345,
  "rigged_character_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/rigged_character.glb",
  "basic_animations": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/walk.anim",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/run.anim"
  ],
  "rig_task_id": "rig_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response Fields - Meshy 6 (Image to 3D) generate request

Field Type Description
model_glb string URL to the GLB 3D model file.
thumbnail string URL to the generated thumbnail image.
model_urls array Array of URLs for all exported 3D formats: GLB, FBX, OBJ, USDZ, BLEND, STL.
texture_urls array Array of URLs for texture maps: base_color, metallic, roughness, normal.
seed integer Random seed used for model generation.
rigged_character_glb string URL to rigged character model in GLB format (only when enable_rigging is true).
basic_animations array Array of animation file URLs (only when enable_rigging and enable_animation are true).
rig_task_id string Unique identifier for the rigging task (only when enable_rigging is true).

Request Headers

Header Value
Content-Type application/json
Cache-Control no-cache
Ocp-Apim-Subscription-Key Your API subscription key

Response Handling

Common status codes for Meshy 6 (Image to 3D) generate request.

Code Meaning
200 Success
Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
Too Many Requests
500 Internal Server Error

Error Responses

400 Validation Error

{
  "error": "Invalid input",
  "details": [
    "Field 'image_url' is required",
    "Field 'topology' must be one of: quad, triangle"
  ]
}

404 Not Found

{
  "error": "Resource not found",
  "message": "The requested operation does not exist or is unavailable."
}

Status Workflow

The API is asynchronous. Submit a request and poll the result endpoint using the returned request_id.

Status Values

Status Description
QUEUED Request accepted, waiting to be processed
PROCESSING Being processed by the model
COMPLETED Done — output contains the result
FAILED Failed — check error field
ERROR System error — not charged

Status Flow

Submitted → QUEUED → PROCESSING → COMPLETED/FAILED/ERROR

Typical Workflow

  1. Submit request via POST /meshy-6-image-to-3d-request
  2. Receive response containing request_id
  3. Poll /v2/requests/status/{request_id} every 5-10 seconds
  4. When status is COMPLETED, use the output URLs to download your files

Meshy 6 (Image to 3D) check status - Meshy 6 (Image to 3D)

Request Code

POST https://gateway.pixazo.ai/v2/requests/status/your-request-id
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
import requests

url = "https://gateway.pixazo.ai/v2/requests/status/your-request-id"
headers = {
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}

response = requests.post(url, headers=headers)
print(response.json())
const url = 'https://gateway.pixazo.ai/v2/requests/status/your-request-id';

fetch(url, {
  method: 'POST',
  headers: {
    'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
  }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
curl -X POST "https://gateway.pixazo.ai/v2/requests/status/your-request-id" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY"

Output

{
  "model_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.glb",
  "thumbnail": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/thumbnail.jpg",
  "model_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.glb",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.fbx",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.obj"
  ]
}

Request Parameters - Meshy 6 (Image to 3D) check status

Field Type Required Default Description
request_id string Yes Unique identifier of the request to check. Retrieved from the initial submission response.

Minimum Request

{
  "request_id": "meshy-6-image-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Full Request (all options)

{
  "request_id": "meshy-6-image-to-3d_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response

{
  "model_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.glb",
  "thumbnail": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/thumbnail.jpg",
  "model_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.glb",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.fbx",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.obj",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.usdz",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.blend",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/output.stl"
  ],
  "texture_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/base_color.png",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/metallic.png",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/roughness.png",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/normal.png"
  ],
  "seed": 12345,
  "rigged_character_glb": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/rigged_character.glb",
  "basic_animations": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/walk.anim",
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/meshy-6-image-to-3d_019dxxxx/run.anim"
  ],
  "rig_task_id": "rig_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response Fields - Meshy 6 (Image to 3D) check status

Field Type Description
model_glb string URL to the GLB 3D model file.
thumbnail string URL to the generated thumbnail image.
model_urls array Array of URLs for all exported 3D formats: GLB, FBX, OBJ, USDZ, BLEND, STL.
texture_urls array Array of URLs for texture maps: base_color, metallic, roughness, normal.
seed integer Random seed used for model generation.
rigged_character_glb string URL to rigged character model in GLB format (only when enable_rigging is true).
basic_animations array Array of animation file URLs (only when enable_rigging and enable_animation are true).
rig_task_id string Unique identifier for the rigging task (only when enable_rigging is true).

Request Headers

Header Value
Ocp-Apim-Subscription-Key Your API subscription key

Response Handling

Common status codes for Meshy 6 (Image to 3D) check status.

Code Meaning
200 Success
Bad Request
401 Unauthorized
403 Forbidden
Too Many Requests
500 Internal Server Error

Notes & Tips

  • Processing time is typically 5–10 minutes.
  • For best results, use clear, high-contrast images with well-defined edges and minimal background clutter.
  • The API returns multi-format outputs: GLB, FBX, OBJ, USDZ, BLEND, and STL files.
  • Enable rigging only for humanoid characters with clearly defined limbs.
  • Texture quality depends heavily on input image clarity and lighting conditions.
  • Enable safety checker to prevent generation of inappropriate content (recommended).

Meshy 6 Image to Image ( 3D Models - Image to 3D) API Pricing

No data available

Could not load current pricing