# MiniMax H3 Image

> MiniMax's open-weight image model: native 4K up to 17 megapixels, and edits from up to 16 reference images

- Model page: https://yir.ai/models/minimax-h3-image
- Model ID: `minimax/minimax-h3-image`
- Billing: by the channel that ran the job; attempts the upstream did not bill are free.

## Native 4K, with the weights out in the open

### Open weights that fit one 16 GB card

The weights are on Hugging Face; one tester rendered 16 MP images on a single 16 GB RTX 5080, streaming the rest from system memory

### Scored highest on text and design

An independent 600-prompt test at 16 MP averaged 3.94 out of 5 from an AI grader

- Text & design: 4.36
- People: 4.22
- Commercial: 3.56
- Info design: 3.56

## Pricing

Current public prices by channel for the same output specification; official prices are a reference. You are billed by the channel that actually runs the job, which may change on failover.

| Output specification | Channel | Public price |
|---|---|---|
| 1K | MiniMax (official) (Text input) | ≈$0.0218 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.0312 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.0406 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.0501 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.0595 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.0689 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.0783 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.0877 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.0972 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.1066 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.116 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.1254 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.1348 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.1443 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.1537 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.1631 / image |
| 1K | MiniMax (official) (Image input) | ≈$0.1725 / image |
| 1K | KIE | $0.009 ~ $0.0115 / image |
| 2K | MiniMax (official) (Text input) | ≈$0.0233 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.0328 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.0422 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.0516 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.061 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.0704 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.0799 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.0893 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.0987 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.1081 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.1175 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.127 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.1364 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.1458 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.1552 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.1646 / image |
| 2K | MiniMax (official) (Image input) | ≈$0.1741 / image |
| 2K | KIE | $0.009 ~ $0.0115 / image |
| 4K | MiniMax (official) (Text input) | ≈$0.0688 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.0782 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.0876 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.0971 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1065 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1159 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1253 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1347 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1442 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1536 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.163 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1724 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1818 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.1913 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.2007 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.2101 / image |
| 4K | MiniMax (official) (Image input) | ≈$0.2195 / image |
| 4K | KIE | $0.0275 ~ $0.03 / image |

## Parameters

- Operation: `generate_image`

| Parameter | Values | Default |
|---|---|---|
| `input` | text / image | text |
| `resolution` | 1K / 2K / 4K | 4K |
| `aspect_ratio` | 1:1 / 2:3 / 3:2 / 3:4 / 4:3 / 4:5 / 5:4 / 9:16 / 16:9 / 21:9 | 1:1 |

## Integration

Pick either: the official SDK for new code, or swap the Base URL in projects already using the OpenAI protocol.

### Official SDK (TypeScript)

The SDK calls the Standard API (https://gateway.yir.ai) to submit, wait for and collect jobs; a Go SDK is also available. https://yir.ai/docs/integrations/sdk

```bash
pnpm add @yir-ai/sdk
```

```ts
import { createNodeYirClient } from "@yir-ai/sdk/server";

// Reads YIR_API_KEY from the environment by default: process.env.YIR_API_KEY
const client = createNodeYirClient();

// 1. Submit an image generation job
const job = await client.submitImage({
  model: "minimax/minimax-h3-image",
  input: {
    type: "text",
    prompt: "Create a citrus sparkling water product poster: a clear glass bottle and fresh oranges, cream background, soft natural light, and a crisp product label",
  },
  parameters: {
    resolution: "4K",
    aspect_ratio: "1:1",
    n: 1,
  },
});

// 2. Wait for the job to finish and deliver its result
const result = await client.waitForJob(job.id);
console.log("Delivered files:", result.result);
if (result.result && "files" in result.result) {
  for (const file of result.result.files) {
    console.log("->", file.url);
  }
}
```

### OpenAI-compatible API

OpenAI Images and Sora Videos protocols for OpenAI SDKs and gateways such as new-api; no chat. https://yir.ai/docs/integrations/openai-compatibility

- OpenAI SDK base_url: `https://gateway.yir.ai/openai/v1`
- new-api channel Base URL (channel type OpenAI): `https://gateway.yir.ai/openai`
- Model ID: `minimax/minimax-h3-image`

```bash
curl https://gateway.yir.ai/openai/v1/images/generations \
  -H "Authorization: Bearer $YIR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax/minimax-h3-image",
    "prompt": "Create a citrus sparkling water product poster: a clear glass bottle and fresh oranges, cream background, soft natural light, and a crisp product label",
    "resolution": "4K",
    "aspect_ratio": "1:1"
  }'
```

## FAQ

### Does MiniMax H3 Image have an official API?

Yes. MiniMax sells MiniMax H3 Image through its own official API, and its list price is shown as the official reference in the table above. Through Yir you call MiniMax H3 Image with one API key and compare it with every provider's public price.

### MiniMax H3 Image or Nano Banana 2.1: which should I use?

Use MiniMax H3 Image when you want open weights you can self-host or fine-tune later. Use Nano Banana 2.1 when price comes first: its cheapest 4K channel on Yir costs less than H3 Image's, and it has more providers to fail over to.

### What pixel size is a 4K MiniMax H3 Image?

About 16 to 17 megapixels. On KIE, 4K is 4096 × 4096 at 1:1, 5472 × 3072 at 16:9 and 6272 × 2688 at 21:9; the official route returns up to 5440 × 3072 at 16:9.

### How fast is MiniMax H3 Image at 4K?

MiniMax says a 4K image takes under 10 seconds on its own platform. In our test of six 4K text-to-image jobs on KIE, processing took 23 to 39 seconds, with a median of about 28 (November 2026).

### Can MiniMax H3 Image put text in images?

Yes. In the trail map on this page every title, label and legend line came out as written, though the model added a small "EST. 1925" line we did not ask for. Put the exact words in quotes and say where they go.

### Is MiniMax H3 Image open source?

The weights are public on Hugging Face as MiniMaxAI/MiniMax-H3-Image, so you can self-host or fine-tune later. Through Yir you call MiniMax's own API or KIE, with nothing to deploy.

## Rules

- Authenticate with Authorization: Bearer $YIR_API_KEY; keep the key in a server environment variable, never in browser code, source control, prompts or logs.
- Jobs are asynchronous: keep the Job ID, wait for a terminal state, then read the result; handle failure and cancellation.
- For safe retries, reuse the same idempotency key and request; do not blindly resubmit when the result is unknown.
- Result URLs are temporary; copy files elsewhere if you need to keep them.

## Links

- [Quickstart](https://yir.ai/docs/getting-started/quickstart)
- [API reference](https://yir.ai/docs/reference)
- [llms.txt](https://yir.ai/llms.txt)
