# Hyper3D - Rodin V2.5 - Image to 3D - Fast

> Rodin V2.5 by Hyper3D generates realistic and production ready 3D models from text or images. Do fast prototyping using the fast model. 


## Overview

- **Endpoint**: `https://fal.run/fal-ai/hyper3d/rodin/v2.5/fast`
- **Model ID**: `fal-ai/hyper3d/rodin/v2.5/fast`
- **Category**: image-to-3d
- **Kind**: inference
**Tags**: image-to-3d



## Pricing

Your request will cost **$0.4** per generation. Furthermore, if **HighPack** is added to the `addons`, it will cost an additional **$0.8** per generation.

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:


- **`image_urls`** (`list<string>`, _optional_):
  URL of images to use while generating the 3D model. Required for Image-to-3D mode. Up to 5 images allowed.
  - Array of string
  - Examples: ["https://v3.fal.media/files/panda/l7mQrG8plbB42lBNqVjm0_image.png","https://v3b.fal.media/files/b/kangaroo/scq50Bf1PB2NZOW8szphV_image.png","https://v3.fal.media/files/penguin/X21qtlVMazAtljzRCJD2__image.png"]

- **`tier`** (`TierEnum`, _optional_):
  Generation tier. Higher tiers produce more detailed meshes but cost more. See more info in the [documentation](https://developer.hyper3d.ai/api-specification/rodin-gen2.5#use-gen-2.5-generation-with-following-gen-2.5-tiers). Selecting Gen-2.5-Minimum will automatically configure to a minimum mode, where 50K Triangle is selected, taking priority over quality_mesh_option. Default value: `"Gen-2.5-Extreme-Low"`
  - Default: `"Gen-2.5-Extreme-Low"`
  - Options: `"Gen-2.5-Minimum"`, `"Gen-2.5-Extreme-Low"`, `"Gen-2.5-Low"`

- **`prompt`** (`string`, _optional_):
  A textual prompt to guide model generation. Optional for Image-to-3D mode - if empty, the model auto-generates a prompt from the images. Default value: `""`
  - Default: `""`
  - Examples: "A futuristic robot with sleek metallic design."

- **`use_original_alpha`** (`boolean`, _optional_):
  When enabled, preserves the transparency channel from input images during 3D generation.
  - Default: `false`

- **`seed`** (`integer`, _optional_):
  Seed value for randomization, ranging from 0 to 65535. Optional.
  - Range: `0` to `65535`

- **`geometry_file_format`** (`GeometryFileFormatEnum`, _optional_):
  Format of the geometry file. Possible values: glb, usdz, fbx, obj, stl. Default is glb. Default value: `"glb"`
  - Default: `"glb"`
  - Options: `"glb"`, `"usdz"`, `"fbx"`, `"obj"`, `"stl"`

- **`material`** (`MaterialEnum`, _optional_):
  Material type. PBR: physically-based materials with realistic lighting. Shaded: baked lighting with no PBR maps. All: both PBR and Shaded variants. None: geometry only with no textures. Default value: `"All"`
  - Default: `"All"`
  - Options: `"PBR"`, `"Shaded"`, `"All"`, `"None"`

- **`quality_mesh_option`** (`QualityMeshOptionEnum`, _optional_):
  Combined quality and mesh type selection. Quad = smooth surfaces, Triangle = detailed geometry. Maps to `mesh_mode` (Quad/Raw) and `quality_override` (face count) on the Hyper3D API. Valid face counts depend on the selected tier. Up to 1M Triangle is supported for tiers Minimum, Extreme-Low, Low. For fast endpoint, this limit is up to 20K, primarily for prototyping and testing. For generating higher quality meshes, use the standard endpoint. Auto option will choose the advised options for each tier:
  1. Gen-2.5-Minimum: 20K Triangle
  2. Gen-2.5-Extreme-Low: 20K Triangle
  3. Gen-2.5-Low: 20K Triangle Default value: `"Auto"`
  - Default: `"Auto"`
  - Options: `"Auto"`, `"1K Quad"`, `"4K Quad"`, `"8K Quad"`, `"18K Quad"`, `"20K Quad"`, `"2K Triangle"`, `"4K Triangle"`, `"8K Triangle"`, `"10K Triangle"`, `"20K Triangle"`

- **`texture_mode`** (`Enum`, _optional_):
  Texture generation quality. When unset, the API picks a default appropriate for the tier.
  - Options: `"legacy"`, `"extreme-low"`, `"low"`, `"medium"`, `"high"`

- **`enable_creative_mode`** (`boolean`, _optional_):
  If enabled, the generation will have enhanced generative robustness while ensuring output consistency. This corresponds to `geometry_instruct_mode` being equal to `creative` on the Hyper3D API.
  - Default: `false`

- **`hd_texture`** (`boolean`, _optional_):
  Enables enhanced texture post-processing for higher visual fidelity.
  - Default: `false`

- **`texture_delight`** (`boolean`, _optional_):
  Removes baked lighting/highlights from the generated textures.
  - Default: `false`

- **`is_micro`** (`boolean`, _optional_):
  Generate finer micro-scale geometric detail. Only effective with `tier="Gen-2.5-Extreme-High"`.
  - Default: `false`

- **`TAPose`** (`boolean`, _optional_):
  Generate characters in T-pose or A-pose format, making them easier to rig and animate in 3D software.
  - Default: `false`

- **`bbox_condition`** (`RodinGen25BbboxField`, _optional_):
  This is a controlnet that controls the maximum sized of the generated model.

- **`addons`** (`RodinGen25Addons`, _optional_):
  Optional add-ons. Single values are accepted as a shorthand for a list with one item.

- **`preview_render`** (`boolean`, _optional_):
  Generate a preview render image of the 3D model along with the model files.
  - Default: `false`



**Required Parameters Example**:

```json
{}
```

**Full Example**:

```json
{
  "image_urls": [
    "https://v3.fal.media/files/panda/l7mQrG8plbB42lBNqVjm0_image.png",
    "https://v3b.fal.media/files/b/kangaroo/scq50Bf1PB2NZOW8szphV_image.png",
    "https://v3.fal.media/files/penguin/X21qtlVMazAtljzRCJD2__image.png"
  ],
  "tier": "Gen-2.5-Extreme-Low",
  "prompt": "A futuristic robot with sleek metallic design.",
  "geometry_file_format": "glb",
  "material": "All",
  "quality_mesh_option": "Auto"
}
```


### Output Schema

The API returns the following output format:

- **`model_mesh`** (`File`, _required_):
  Generated 3D object file.
  - Examples: {"url":"https://storage.googleapis.com/falserverless/model_tests/video_models/base_basic_shaded.glb"}

- **`model_meshes`** (`list<File>`, _optional_):
  Additional generated 3D object files returned by Hyper3D besides model_mesh.
  - Array of File

- **`seed`** (`integer`, _required_):
  Seed value used for generation.

- **`textures`** (`list<Image>`, _required_):
  Generated textures for the 3D object.
  - Array of Image



**Example Response**:

```json
{
  "model_mesh": {
    "url": "https://storage.googleapis.com/falserverless/model_tests/video_models/base_basic_shaded.glb"
  },
  "model_meshes": [
    {
      "url": "",
      "content_type": "image/png",
      "file_name": "z9RV14K95DvU.png",
      "file_size": 4404019
    }
  ],
  "textures": [
    {
      "url": "",
      "content_type": "image/png",
      "file_name": "z9RV14K95DvU.png",
      "file_size": 4404019,
      "width": 1024,
      "height": 1024
    }
  ]
}
```


## Usage Examples

### cURL

```bash
curl --request POST \
  --url https://fal.run/fal-ai/hyper3d/rodin/v2.5/fast \
  --header "Authorization: Key $FAL_KEY" \
  --header "Content-Type: application/json" \
  --data '{}'
```

### 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/hyper3d/rodin/v2.5/fast",
    arguments={},
    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/hyper3d/rodin/v2.5/fast", {
  input: {},
  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/hyper3d/rodin/v2.5/fast)
- [API Documentation](https://fal.ai/models/fal-ai/hyper3d/rodin/v2.5/fast/api)
- [OpenAPI Schema](https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/hyper3d/rodin/v2.5/fast)

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