# Rodin Gen-2.5

> Run Rodin Gen-2.5 by hyper3d online or via API. $0.58/credit; Extreme-High tier +0.5 credits, texture extreme-high +2 credits, no setup.

**URL:** https://inference.sh/apps/hyper3d/rodin-gen-2-5
**Last updated:** 2026-10-28

---

Hyper3D Rodin Gen-2.5 by Deemos. 3D models from a text prompt or up to five images, five quality tiers, raw or quad meshes, PBR textures up to 8K, GLB, USDZ, FBX, OBJ or STL.

- app: `hyper3d/rodin-gen-2-5`
- maker: [hyper3d](https://inference.sh/apps/hyper3d.md)
- category: [3d](https://inference.sh/apps/category/3d.md)
- input → output: text → 3d, image → 3d
- tasks: [text to 3d](https://inference.sh/apps/tag/text-to-3d.md), [image to 3d](https://inference.sh/apps/tag/image-to-3d.md)
- price: $0.58/credit; Extreme-High tier +0.5 credits, texture extreme-high +2 credits
- runs via: api, javascript and python sdk, belt cli, mcp

## rodin-gen-2-5 API Guide

### About
hyper3d rodin gen-2.5 by deemos. 3d models from a text prompt or up to five images, five quality tiers, raw or quad meshes, pbr textures up to 8k, glb, usdz, fbx, obj or stl.

### Get an API Key
Create one in [settings → api keys](https://app.inference.sh/settings/keys). The examples read it from `INFERENCE_API_KEY`.

```bash
export INFERENCE_API_KEY="inf_your_key"
```

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Run and Get Result
Submit a request and wait for the final result.

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## version @6anwrt7c pinned
result = client.run({
        "app": "hyper3d/rodin-gen-2-5@6anwrt7c",
        "input": {
            "prompt": "a carved wooden owl perched on a branch"
        }
    })

print(result["output"])
```

#### Stream Live Updates
Get real-time progress updates as the task runs.

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## version @6anwrt7c pinned
## stream=True yields updates as they arrive
for update in client.run({
        "app": "hyper3d/rodin-gen-2-5@6anwrt7c",
        "input": {
            "prompt": "a carved wooden owl perched on a branch"
        }
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

#### Run in the Background
Start the task and get its id back right away, then check on it with `GET /tasks/{id}`. It is done when `status` is 10 (completed), 11 (failed) or 12 (cancelled).

```python
import os
from inferencesh import inference, TaskStatus

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## returns as soon as the task is created
task = client.run({
        "app": "hyper3d/rodin-gen-2-5@6anwrt7c",
        "input": {
            "prompt": "a carved wooden owl perched on a branch"
        }
    }, wait=False)

## later: read its current state
state = client.tasks.get(task["id"]).data
if state["status"] == TaskStatus.COMPLETED:
    print(state["output"])
```

### 2. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "hyper3d/rodin-gen-2-5@6anwrt7c",
    "input": {
        "image": "/path/to/local/image.png",  # detected & uploaded
        "audio": "https://example.com/audio.mp3",  # url passed through
    }
})
```

#### Manual Upload

```python
## upload and get a hosted URL
file = client.files.upload("/path/to/file.png")
print(file.uri)  # https://cloud.inference.sh/...
```

### 3. Schema

#### Input
- **prompt** (string): What to make, for text to 3D. With images, leave it empty unless the images need explaining.
- **images** (array): One to five images of one object. The first image sets the materials.
- **tier** (string): Quality tier. Extreme-High costs 0.5 credits more and adds a mesh of up to 10M faces.
- **mesh_mode** (string): Raw triangles, or a quad mesh.
- **quality** (string): Face count. Raw: 1M, 500K, 60K, 20K. Quad: 50K, 18K, 8K, 4K.
- **quality_override** (integer): Exact face count, instead of quality. Above 1M needs the High or Extreme-High tier; Quad takes at most 200K.
- **geometry_file_format** (string): File format of the model.
- **material** (string): PBR maps, baked shading, both, hybrid, or no material.
- **texture_mode** (string): Texture quality. Empty: follows the tier. extreme-high gives 6K textures and costs 2 credits more.
- **hd_texture** (boolean): Higher quality texture.
- **uhd_texture** (boolean): 4K textures, 8K with high_pack.
- **high_pack** (boolean): The HighPack add-on: 4K textures, 8K with uhd_texture.
- **texture_delight** (boolean): Remove lighting baked into the images from the texture.
- **geometry_instruct_mode** (string): faithful follows the images more literally (experimental).
- **is_symmetric** (string): Symmetry of the object, if known.
- **is_micro** (boolean): Micro detail. Extreme-High tier only.
- **t_a_pose** (boolean): Put a human-like subject in a T or A pose.
- **use_original_alpha** (boolean): Use the images' own transparency as the mask.
- **seed** (integer): Seed, 0 to 65535.

#### Output
- **files** (array): Every other file Hyper3D returned: textures, and the high-poly mesh of Extreme-High.
- **model** (string): The 3D model.
- **preview** (string): A preview render of the model.

## other 3d apps

- [Tripo Auto Rig](https://inference.sh/apps/tripo/tripo-rig.md): $0.01/credit (rig check free, auto rig 25 credits, retarget 10 credits/animation)
- [Hunyuan 3D Auto Rigging](https://inference.sh/apps/tencent/hunyuan-3d-auto-rigging.md): $0.02/credit, 10 credits/call ($0.20/call)
- [Hunyuan 3D 3.1](https://inference.sh/apps/tencent/hunyuan-3d-3-1.md): $0.02/credit; Geometry 15cr, Normal 25cr, +10cr views/PBR/face-count
- [Meshy 7.1](https://inference.sh/apps/meshy/meshy-7-1.md): $0.0127/Meshy credit (20 base + 10-15 texture + 5 hi-res geo)
- [Tripo 3.1](https://inference.sh/apps/tripo/tripo-3-1.md): $0.01/credit, $0.10-$0.50/run (text: 10-40 credits, image/multiview: 20-50 credits)

## faq

### how much does Rodin Gen-2.5 cost?

$0.58/credit; Extreme-High tier +0.5 credits, texture extreme-high +2 credits. you pay per run from your inference shell credits. no subscription is required.

### how do I run Rodin Gen-2.5 via api?

call hyper3d/rodin-gen-2-5 with the javascript or python sdk, the rest api, or `belt app run hyper3d/rodin-gen-2-5` from a terminal. the api reference on this page lists every input.

### who makes Rodin Gen-2.5?

Rodin Gen-2.5 is made by hyper3d and runs on inference shell. every hyper3d app is listed at https://inference.sh/apps/hyper3d.

### can my agent use Rodin Gen-2.5?

yes. agents call it as a tool through the inference shell mcp server (https://api.inference.sh/mcp), the belt cli or the sdk, and pay per run like you do.

### what are the alternatives to Rodin Gen-2.5?

other 3d apps on inference shell include Tripo Auto Rig, Hunyuan 3D Auto Rigging, Hunyuan 3D 3.1, Meshy 7.1. they run through the same api, so switching is a one-line change.
