# Meshy 6

> Meshy-6 is the latest model from Meshy. It generates realistic and production ready 3D models.


## Overview

- **Endpoint**: `https://fal.run/fal-ai/meshy/v6/text-to-3d`
- **Model ID**: `fal-ai/meshy/v6/text-to-3d`
- **Category**: text-to-3d
- **Kind**: inference
**Tags**: text-to-3d



## Pricing

- **Price**: $0.8 per generations

For more details, see [fal.ai pricing](https://fal.ai/pricing).

## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:


- **`prompt`** (`string`, _required_):
  Describe what kind of object the 3D model is. Maximum 600 characters.
  - Examples: "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."

- **`mode`** (`ModeEnum`, _optional_):
  Generation mode. 'preview' returns untextured geometry only, 'full' returns textured model (preview + refine). Default value: `"full"`
  - Default: `"full"`
  - Options: `"preview"`, `"full"`

- **`seed`** (`integer`, _optional_):
  Seed for reproducible results. Same prompt and seed usually generate the same result.

- **`model_type`** (`ModelTypeEnum`, _optional_):
  Type of 3D mesh generation. 'standard' produces a regular high-detail mesh; 'lowpoly' produces a low-poly mesh optimized for cleaner polygons. When set to 'lowpoly', the remesh controls (topology, target_polycount, should_remesh) are ignored by Meshy. Default value: `"standard"`
  - Default: `"standard"`
  - Options: `"standard"`, `"lowpoly"`

- **`topology`** (`TopologyEnum`, _optional_):
  Specify the topology of the generated model. Quad for smooth surfaces, Triangle for detailed geometry. Default value: `"triangle"`
  - Default: `"triangle"`
  - Options: `"quad"`, `"triangle"`

- **`target_polycount`** (`integer`, _optional_):
  Target number of polygons in the generated model Default value: `30000`
  - Default: `30000`
  - Range: `100` to `300000`

- **`should_remesh`** (`boolean`, _optional_):
  Whether to enable the remesh phase. When false, returns unprocessed triangular mesh. Default value: `true`
  - Default: `true`

- **`symmetry_mode`** (`SymmetryModeEnum`, _optional_):
  Controls symmetry behavior during model generation. Default value: `"auto"`
  - Default: `"auto"`
  - Options: `"off"`, `"auto"`, `"on"`

- **`enable_pbr`** (`boolean`, _optional_):
  Generate PBR Maps (metallic, roughness, normal) in addition to base color.
  - Default: `false`

- **`pose_mode`** (`PoseModeEnum`, _optional_):
  Pose mode for the generated model. 'a-pose' generates an A-pose, 't-pose' generates a T-pose, empty string for no specific pose. Default value: `""`
  - Default: `""`
  - Options: `"a-pose"`, `"t-pose"`, `""`

- **`enable_prompt_expansion`** (`boolean`, _optional_):
  Whether to enable prompt expansion. This will use a large language model to expand the prompt with additional details while maintaining the original meaning.
  - Default: `false`

- **`texture_prompt`** (`string`, _optional_):
  Additional text prompt to guide the texturing process (only used in 'full' mode)

- **`texture_image_url`** (`string`, _optional_):
  2D image to guide the texturing process (only used in 'full' mode)

- **`enable_rigging`** (`boolean`, _optional_):
  Automatically rig the generated model as a humanoid character. Includes basic walking and running animations. Best results with humanoid characters that have clearly defined limbs.
  - Default: `false`

- **`rigging_height_meters`** (`float`, _optional_):
  Approximate height of the character in meters. Only used when enable_rigging is true. Default value: `1.7`
  - Default: `1.7`

- **`enable_animation`** (`boolean`, _optional_):
  Apply an animation preset to the rigged model. Requires enable_rigging to be true.
  - Default: `false`

- **`animation_action_id`** (`integer`, _optional_):
  Animation preset ID from Meshy's library. Only used when enable_animation is true; in that case it must be in [0, 696] (``0`` is the "Idle" preset) and is otherwise rejected with a 422. See https://docs.meshy.ai/en/api/animation-library for available action IDs. Default value: `92`
  - Default: `92`
  - Examples: 92

- **`enable_safety_checker`** (`boolean`, _optional_):
  If set to true, input data will be checked for safety before processing. Default value: `true`
  - Default: `true`



**Required Parameters Example**:

```json
{
  "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."
}
```

**Full Example**:

```json
{
  "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.",
  "mode": "full",
  "model_type": "standard",
  "topology": "triangle",
  "target_polycount": 30000,
  "should_remesh": true,
  "symmetry_mode": "auto",
  "rigging_height_meters": 1.7,
  "animation_action_id": 92,
  "enable_safety_checker": true
}
```


### Output Schema

The API returns the following output format:

- **`animation_glb`** (`File`, _optional_):
  Animated 3D model in GLB format. Only present when enable_animation is true.

- **`animation_fbx`** (`File`, _optional_):
  Animated 3D model in FBX format. Only present when enable_animation is true.

- **`model_glb`** (`File`, _required_):
  Generated 3D object in GLB format.
  - Examples: {"url":"https://v3b.fal.media/files/b/penguin/DId89qXLu6BXu09RFAwAV_model.glb","file_name":"model.glb","file_size":9314028,"content_type":"model/gltf-binary"}

- **`thumbnail`** (`File`, _optional_):
  Preview thumbnail of the generated model
  - Examples: {"url":"https://v3b.fal.media/files/b/koala/6LJISu4ilkZXcdOETwl_d_preview.png","file_name":"preview.png","file_size":173792,"content_type":"image/png"}

- **`model_urls`** (`ModelUrls`, _required_):
  URLs for different 3D model formats
  - Examples: {"obj":{"url":"https://v3b.fal.media/files/b/monkey/cCNMHqUbKSNtDN1iGmiYm_model.obj","file_name":"model.obj","file_size":2755145,"content_type":"text/plain"},"fbx":{"url":"https://v3b.fal.media/files/b/kangaroo/7nUUw5dHN9a0DKlOpAKbP_model.fbx","file_name":"model.fbx","file_size":5444380,"content_type":"application/octet-stream"},"usdz":{"url":"https://v3b.fal.media/files/b/panda/XcC-mIJywUvH7coyrzENU_model.usdz","file_name":"model.usdz","file_size":9834246,"content_type":"model/vnd.usdz+zip"},"glb":{"url":"https://v3b.fal.media/files/b/penguin/DId89qXLu6BXu09RFAwAV_model.glb","file_name":"model.glb","file_size":9314028,"content_type":"model/gltf-binary"}}

- **`texture_urls`** (`list<TextureFiles>`, _optional_):
  Array of texture file objects
  - Array of TextureFiles
  - Examples: [{"base_color":{"url":"https://v3b.fal.media/files/b/panda/DoPKAuZY0tTjnr6C9ee-Q_texture_0.png","file_name":"texture_0.png","file_size":4254502,"content_type":"image/png"}}]

- **`seed`** (`integer`, _optional_):
  The seed used for generation
  - Examples: 4002110719

- **`prompt`** (`string`, _required_):
  The text prompt used for generation
  - Examples: "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`, _optional_):
  The actual prompt used if prompt expansion was enabled

- **`rigged_character_glb`** (`File`, _optional_):
  Rigged character in GLB format. Only present when enable_rigging is true.

- **`rigged_character_fbx`** (`File`, _optional_):
  Rigged character in FBX format. Only present when enable_rigging is true.

- **`basic_animations`** (`BasicAnimations`, _optional_):
  Basic walking and running animations. Only present when enable_rigging is true.

- **`rig_task_id`** (`string`, _optional_):
  Rigging task ID. Only present when enable_rigging is true.



**Example Response**:

```json
{
  "model_glb": {
    "url": "https://v3b.fal.media/files/b/penguin/DId89qXLu6BXu09RFAwAV_model.glb",
    "file_name": "model.glb",
    "file_size": 9314028,
    "content_type": "model/gltf-binary"
  },
  "thumbnail": {
    "url": "https://v3b.fal.media/files/b/koala/6LJISu4ilkZXcdOETwl_d_preview.png",
    "file_name": "preview.png",
    "file_size": 173792,
    "content_type": "image/png"
  },
  "model_urls": {
    "obj": {
      "url": "https://v3b.fal.media/files/b/monkey/cCNMHqUbKSNtDN1iGmiYm_model.obj",
      "file_name": "model.obj",
      "file_size": 2755145,
      "content_type": "text/plain"
    },
    "fbx": {
      "url": "https://v3b.fal.media/files/b/kangaroo/7nUUw5dHN9a0DKlOpAKbP_model.fbx",
      "file_name": "model.fbx",
      "file_size": 5444380,
      "content_type": "application/octet-stream"
    },
    "usdz": {
      "url": "https://v3b.fal.media/files/b/panda/XcC-mIJywUvH7coyrzENU_model.usdz",
      "file_name": "model.usdz",
      "file_size": 9834246,
      "content_type": "model/vnd.usdz+zip"
    },
    "glb": {
      "url": "https://v3b.fal.media/files/b/penguin/DId89qXLu6BXu09RFAwAV_model.glb",
      "file_name": "model.glb",
      "file_size": 9314028,
      "content_type": "model/gltf-binary"
    }
  },
  "texture_urls": [
    {
      "base_color": {
        "url": "https://v3b.fal.media/files/b/panda/DoPKAuZY0tTjnr6C9ee-Q_texture_0.png",
        "file_name": "texture_0.png",
        "file_size": 4254502,
        "content_type": "image/png"
      }
    }
  ],
  "seed": 4002110719,
  "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."
}
```


## Usage Examples

### cURL

```bash
curl --request POST \
  --url https://fal.run/fal-ai/meshy/v6/text-to-3d \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{
     "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."
   }'
```

### Python

Ensure you have the Python client installed:

```bash
pip install fal-client
```

Then use the API client to make requests:

```python
import fal_client

def on_queue_update(update):
    if isinstance(update, fal_client.InProgress):
        for log in update.logs:
           print(log["message"])

result = fal_client.subscribe(
    "fal-ai/meshy/v6/text-to-3d",
    arguments={
        "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."
    },
    with_logs=True,
    on_queue_update=on_queue_update,
)
print(result)
```

### JavaScript

Ensure you have the JavaScript client installed:

```bash
npm install --save @fal-ai/client
```

Then use the API client to make requests:

```javascript
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/meshy/v6/text-to-3d", {
  input: {
    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."
  },
  logs: true,
  onQueueUpdate: (update) => {
    if (update.status === "IN_PROGRESS") {
      update.logs.map((log) => log.message).forEach(console.log);
    }
  },
});
console.log(result.data);
console.log(result.requestId);
```


## Additional Resources

### Documentation

- [Model Playground](https://fal.ai/models/fal-ai/meshy/v6/text-to-3d)
- [API Documentation](https://fal.ai/models/fal-ai/meshy/v6/text-to-3d/api)
- [OpenAPI Schema](https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/meshy/v6/text-to-3d)

### fal.ai Platform

- [Platform Documentation](https://docs.fal.ai)
- [Python Client](https://docs.fal.ai/clients/python)
- [JavaScript Client](https://docs.fal.ai/clients/javascript)
