> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Генерация изображений MiniMax-H3-Image

>  - Стандартная модель minimax-h3-image: фотореализм, постеры, предметная съемка и изображения с текстом
- Асинхронная обработка с task_id для получения результата
- Генерация по тексту и редактирование с 16 референсами
- До 10 изображений за запрос, встроенное улучшение промпта (можно отключить)
- Уровни 1K / 2K / 4K + соотношение сторон или точный размер в пикселях (до 20 Мп) 

```bash cURL theme={null}
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "minimax-h3-image",
    "prompt": "Кафе на берегу моря в сумерках, фотореалистичный стиль, теплые тона",
    "size": "16:9",
    "resolution": "2K",
    "n": 1
  }'
```

```python Python theme={null}
import requests

response = requests.post(
    "https://api.apimart.ai/v1/images/generations",
    headers={
        "Authorization": "Bearer <token>",
        "Content-Type": "application/json",
    },
    json={
        "model": "minimax-h3-image",
        "prompt": "Кафе на берегу моря в сумерках, фотореалистичный стиль, теплые тона",
        "size": "16:9",
        "resolution": "2K",
        "n": 1,
    },
)

print(response.json())
```

```javascript JavaScript theme={null}
const response = await fetch(
  "https://api.apimart.ai/v1/images/generations",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer <token>",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "minimax-h3-image",
      prompt: "Кафе на берегу моря в сумерках, фотореалистичный стиль, теплые тона",
      size: "16:9",
      resolution: "2K",
      n: 1,
    }),
  },
);

console.log(await response.json());
```

```json 200 theme={null}
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KXXXXXXXXXXXXXXX"
    }
  ]
}
```

```json 400 theme={null}
{
  "error": {
    "code": 400,
    "message": "Некорректные параметры запроса",
    "type": "invalid_request_error"
  }
}
```

```json 401 theme={null}
{
  "error": {
    "code": 401,
    "message": "Ошибка аутентификации. Проверьте ключ API.",
    "type": "authentication_error"
  }
}
```

```json 402 theme={null}
{
  "error": {
    "code": 402,
    "message": "Недостаточно средств на счете",
    "type": "payment_required"
  }
}
```

```json 429 theme={null}
{
  "error": {
    "code": 429,
    "message": "Слишком много запросов. Повторите попытку позже.",
    "type": "rate_limit_error"
  }
}
```

```json 500 theme={null}
{
  "error": {
    "code": 500,
    "message": "Внутренняя ошибка сервера. Повторите попытку позже.",
    "type": "server_error"
  }
}
```

## Аутентификация

**Authorization** `string` *required*

Все методы используют Bearer Token. Получите ключ на [странице ключей API](https://apimart.ai/keys).

```
Authorization: Bearer YOUR_API_KEY
```

## О моделях

| Модель | Особенности | Сценарии |
| - | - | - |
| `minimax-h3-image` | Стандартная версия, ниже цена | Пакетная генерация, фотореализм, постеры, предметная съемка, изображения с текстом |
| `minimax-h3-image-highspeed` | Скоростная версия: быстрее генерирует, цена входных / выходных изображений в 2 раза выше стандартной | Задачи, чувствительные ко времени отклика; см. [MiniMax-H3-Image-Highspeed](https://docs.apimart.ai/ru/api-reference/images/minimax-h3-image-highspeed/generation.md) |

По умолчанию MiniMax H3 Image сначала автоматически расширяет промпт до подробного описания сцены и только затем генерирует изображение. Расширенный текст доступен в поле `revised_prompt` результата задачи. Чтобы генерировать строго по исходному тексту, см. [Отключение улучшения промпта](#отключение-улучшения-промпта).

> [!WARNING]
>
> Если `resolution` не передан, по умолчанию выводится **4K** (около 16 Мп), а цена примерно в 3 раза выше, чем у 1K / 2K. Если 4K не нужен, явно передайте `"resolution": "2K"`.

## Параметры запроса

**model** `string` *required*

Название модели генерации изображений, всегда `minimax-h3-image`.

**prompt** `string` *required*

Текстовое описание создаваемого или редактируемого изображения.

Поддерживаются китайский и английский языки. Длина после удаления начальных и конечных пробелов — от `1` до `32,000` символов.

**image\_urls** `string[]`

Массив референсных изображений, не более `16`. Наличие поля автоматически включает режим редактирования.

Каждый элемент — публично доступная прямая ссылка `http(s)://` или встроенный Base64 в формате `data:image/png;base64,...` (платформа сначала преобразует его в ссылку, а затем передает модели).

Подробнее: [Требования к референсам](#требования-к-референсам).

**size** `string` (default: auto)

Соотношение сторон или точный размер выходного изображения в пикселях.

Поддерживается:

* `auto`: модель сама выбирает композицию и пропорции по промпту
* Соотношение сторон: формат `X:Y`, где X и Y — целые числа от `1` до `300`, а соотношение находится в пределах от `1:3` до `3:1` включительно, например `1:1`, `4:3`, `16:9`, `9:16`, `3:1`
* Точные пиксели: `ширинаxвысота`, например `2048x1152` (также допускаются разделители `X`, `×`, `*`)

Подробнее: [Правила размеров](#правила-размеров).

**resolution** `string` (default: 4K)

Уровень разрешения; вместе с соотношением сторон определяет фактический размер в пикселях.

* `1K`: около 1 Мп
* `2K`: около 4,2 Мп
* `4K` (по умолчанию): около 16 Мп

Допускается запись в нижнем регистре.

> [!WARNING]
>
> Если `size` задан в точных пикселях, `resolution` передавать **нельзя** — иначе вернется 400.

**n** `integer` (default: 1)

Количество изображений, от `1` до `10`.

**prompt\_optimizer** `boolean` (default: true)

Автоматически расширять промпт или нет.

Значение `false` действует только для генерации по тексту и требует явно заданного размера; см. [Отключение улучшения промпта](#отключение-улучшения-промпта).

**output\_format** `string` (default: jpeg)

Формат выходного файла.

* `jpeg` (по умолчанию, также можно `jpg`)
* `png`
* `webp`

**output\_compression** `integer` (default: 95)

Качество сжатия от `0` до `100`; не применяется к `png`.

**watermark** `boolean` (default: false)

Добавлять ли на изображение видимый водяной знак об ИИ-генерации. Не влияет на скрытую маркировку в метаданных изображения.

> [!NOTE]
>
> Следующие параметры не поддерживаются и игнорируются: `quality`, `style`, `seed`, `negative_prompt`, `background`, `mask_url`.
>
> Результат всегда возвращается в виде URL; при передаче `response_format: "b64_json"` вернется 400.

## Правила размеров

| Что нужно | Что передать |
| - | - |
| По умолчанию (4K, пропорции выбирает модель) | Не передавать параметры размера |
| Уровень + соотношение сторон | `size: "16:9"`, `resolution: "2K"` |
| Только уровень, пропорции выбирает модель | `resolution: "1K"` (`size` не передавать или передать `auto`) |
| Точный размер в пикселях | `size: "2048x1152"` (**`resolution` не передавать**) |

### Уровень + соотношение сторон

Уровень задает общую площадь, соотношение сторон — форму:

| Уровень | Целевая площадь | Пример фактического вывода |
| - | - | - |
| `1K` | около 1024×1024 (около 1 Мп) | пропорции модели → 1184×880 |
| `2K` | около 2048×2048 (около 4,2 Мп) | `1:1` → 2048×2048 |
| `4K` (по умолчанию) | около 4096×4096 (около 16 Мп) | пропорции модели → 3552×4736 |

Фактический размер в пикселях модель округляет по соотношению сторон и уровню; ориентируйтесь на возвращенный результат. Для точного размера используйте запись в пикселях.

### Точные пиксели

При использовании `size: "ширинаxвысота"` должны выполняться условия:

| Ограничение | Значение |
| - | - |
| Общее число пикселей (ширина × высота) | `655,360` \~ `20,000,000` |
| Соотношение сторон | `1:3` \~ `3:1` |
| Совместно с `resolution` | Нельзя передавать одновременно |

* ✅ `1024x1024`, `2048x1152`, `1536x1536`, `4000x5000`
* ❌ `512x512` (слишком малая площадь), `4000x1000` (соотношение больше 3:1), `5000x5000` (больше 20 Мп)

## Требования к референсам

| Параметр | Требование |
| - | - |
| Количество | Не более 16 |
| Формат | JPG / JPEG / PNG / WebP / HEIC / HEIF (GIF не поддерживается) |
| Размер файла | Не более 64 МБ на изображение |
| Размеры изображения | Каждая сторона 128 \~ 8192 пикселей, длинная сторона ÷ короткая ≤ 4 |

> [!WARNING]
>
> При использовании URL убедитесь, что ссылка **публично доступна**. Если ссылка недоступна, задача завершится ошибкой на этапе генерации (`status` будет `failed`, средства возвращаются полностью).
>
> В режиме редактирования улучшение промпта всегда включено и не может быть отключено.

## Отключение улучшения промпта

По умолчанию модель сначала расширяет промпт, а затем генерирует изображение. Чтобы генерировать строго по исходному тексту, передайте `"prompt_optimizer": false` при следующих условиях:

* Только для **генерации по тексту**: при наличии `image_urls` вернется 400
* Размер нужно **задать явно**: `size` должен быть соотношением сторон (например, `1:1`) или размером в пикселях (например, `1024x1024`), но не `auto` и не пустым

При отключении модель читает примерно первые 4096 токенов промпта.

## Response

**code** `integer`

Код ответа; 200 при успешной отправке.

**data** `array`

Данные ответа на отправку.

**Элемент массива**

**status** `string`

Начальный статус — `submitted`.

**task\_id** `string`

Уникальный идентификатор задачи для запроса статуса и результата.

## Ответ на отправку

После успешной отправки сразу возвращается ID асинхронной задачи:

```json theme={null}
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KXXXXXXXXXXXXXXX"
    }
  ]
}
```

## Получение результата задачи

Передайте `task_id` из ответа на отправку в [метод запроса задачи](https://docs.apimart.ai/ru/api-reference/tasks/status.md):

```bash theme={null}
curl --request GET \
  --url https://api.apimart.ai/v1/tasks/task_01KXXXXXXXXXXXXXXX \
  --header 'Authorization: Bearer <token>'
```

По замерам одно изображение 1K / 2K генерируется примерно за 10 \~ 20 секунд, 4K — около 20 секунд, редактирование с референсами — около 20 секунд. Рекомендуем опрашивать статус каждые 3 \~ 5 секунд, пока он не станет `completed` или `failed`. Одна задача может выполняться до 600 секунд, поэтому таймаут опроса на клиенте лучше установить в 10 минут.

### Успешная задача

```json theme={null}
{
  "code": 200,
  "data": {
    "id": "task_01KXXXXXXXXXXXXXXX",
    "status": "completed",
    "progress": 100,
    "created": 1794450409,
    "completed": 1794450428,
    "actual_time": 19,
    "estimated_time": 60,
    "cost": 0.0493,
    "result": {
      "images": [
        {
          "url": [
            "https://upload.apimart.ai/f/image/example_0.jpeg",
            "https://upload.apimart.ai/f/image/example_1.jpeg"
          ],
          "expires_at": 1794536828,
          "revised_prompt": "The image is a realistic, close-up still life photograph of ...",
          "revised_prompts": [
            "The image is a realistic ...",
            "The image is a professional ..."
          ]
        }
      ]
    }
  }
}
```

Ссылки на изображения находятся в `data.result.images[0].url[]`: все `n` изображений собраны в одном массиве. Скачайте и сохраните их до `expires_at`. При ошибке задачи `status` будет `failed`, причина указана в `error.message`, а средства автоматически возвращаются полностью.

## Примеры использования

### Генерация по тексту (по умолчанию 4K)

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "A cozy coffee shop by the sea at sunset, photorealistic, warm tones"
}
```

### Генерация по тексту (1K + соотношение сторон, 4 изображения)

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "Минималистичное фото наушников, белый фон, мягкие тени",
  "size": "1:1",
  "resolution": "1K",
  "n": 4
}
```

### Точные пиксели + PNG

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "Постер ночного города, неоновые огни, стиль киберпанк, надпись NIGHT CITY",
  "size": "2048x1152",
  "output_format": "png"
}
```

### Редактирование по референсам

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "Одень человека с первого изображения в куртку со второго, фон оставь без изменений",
  "image_urls": [
    "https://example.com/person.jpg",
    "https://example.com/jacket.png"
  ],
  "resolution": "2K"
}
```

### Отключение улучшения промпта

```json theme={null}
{
  "model": "minimax-h3-image",
  "prompt": "a red apple on a wooden table, top view",
  "size": "1:1",
  "resolution": "1K",
  "prompt_optimizer": false
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.