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

# MAI-Image 2.6: генерация и редактирование изображений

> Полное руководство по Microsoft MAI-Image 2.6 (MAI-Image-2.6 / MAI-Image-2.6-Flash): генерация по тексту и редактирование по референсному изображению, настраиваемая ширина и высота с площадью до 1536×1536, качественный рендеринг китайского текста, фиксированная цена $0.12 / $0.06 за изображение независимо от размера.

## Обзор

**MAI-Image 2.6** — это собственная модель генерации изображений от Microsoft AI, выпущенная 2026-09-04 и доступная в режиме public preview на платформе Microsoft Foundry. На момент запуска она занимала **2-е место как по генерации изображений по тексту (text-to-image), так и по редактированию изображений на Arena**, а также **1-е место по редактированию изображений на Artificial Analysis** (по состоянию на 2026-09-04, согласно анонсу Microsoft).

APIYI предоставляет две версии через официальный канал Microsoft. Обе используют одинаковые эндпоинты и параметры:

* **`MAI-Image-2.6`**: флагманская модель, оптимизированная для высокого качества и точности
* **`MAI-Image-2.6-Flash`**: быстрая версия. По заявлению Microsoft, она генерирует изображения в 2,8 раза быстрее, чем GPT-Image-2-Medium, и подходит для высоконагруженных рабочих процессов в продакшене

<Note>
  **Особенности**: **великолепный рендеринг китайского текста** (вывески магазинов, вертикальные парные надписи и рукописный текст отображаются с точностью до иероглифа), **высокоточное редактирование** (изменяется только запрошенная область; остальная часть сохраняется пиксель-в-пиксель), произвольный холст с помощью `width` + `height` (разрешением до 1536×1536) и **фиксированная цена за изображение независимо от размера**. Генерация изображения 1024×1024 занимает около 17 с на Flash и около 30 с на 2.6.
</Note>

<Warning>
  **📌 Три вещи, которые нужно знать перед началом работы**

  1. **Поддерживаются только два эндпоинта**: `/v1/images/generations` (text-to-image, JSON) и `/v1/images/edits` (редактирование, `multipart/form-data`). **`/v1/chat/completions` и `/v1/responses` не поддерживаются** и возвращают ошибку 404.
  2. **Не передавайте `response_format`, `seed` или `negative_prompt`**. Все три параметра сразу вызовут ошибку 400. Ответ всегда возвращается в формате `data[0].b64_json` (PNG).
  3. **Задавайте размер с помощью `width` + `height`, а не `size`**. На эндпоинте text-to-image параметр `size` игнорируется без предупреждения, и вы всегда получаете 1024×1024.
</Warning>

<Info>
  Все API для работы с изображениями являются **синхронными**: асинхронный ID задачи отсутствует. При разрыве соединения клиентом результат будет потерян, но запрос всё равно тарифицируется. Установите для этой модели достаточно большой таймаут. См. [Основы работы с Image API и рекомендации](/ru/api-capabilities/image-api-best-practices).
</Info>

<CardGroup cols={2}>
  <Card title="API генерации изображений по тексту" icon="wand-sparkles" href="/ru/api-capabilities/mai-image/text-to-image">
    Генерация изображений по текстовому prompt с интерактивным Playground.
  </Card>

  <Card title="API редактирования изображений" icon="image" href="/ru/api-capabilities/mai-image/image-edit">
    Загрузка эталонного изображения с инструкцией; поддерживается объединение двух изображений. Включает Playground.
  </Card>
</CardGroup>

## Доверьте интеграцию ИИ-агенту

<Note>
  Если вы ведете разработку с помощью Codex / Claude Code / Cursor, скопируйте приведенный ниже prompt в агент. Сначала агент загрузит текстовую версию этой страницы (добавьте `.md` к любому URL документации), а затем напишет код под ваш стек технологий. В нем подробно описаны типичные ошибки: таймауты, **три параметра, возвращающие ошибку 400**, `width`/`height` вместо `size`, а также редактирование только через загрузку файлов.
</Note>

<Prompt description="Поручите ИИ-агенту для написания кода выполнить интеграцию или отладку генерации текста в изображение и редактирования изображений с помощью MAI-Image 2.6. Скопируйте и вставьте это в Codex, Claude Code, Cursor и т. д." icon="bot" actions={["copy"]}>
  Выполните интеграцию (или отладку) генерации текста в изображение и редактирования изображений с помощью Microsoft MAI-Image 2.6 в этом проекте.

  Прежде чем писать код, изучите документацию: загрузите [https://docs.apiyi.com/en/api-capabilities/mai-image/overview.md](https://docs.apiyi.com/en/api-capabilities/mai-image/overview.md) для получения текстовой версии этой страницы. Для подробного описания параметров аналогичным образом добавьте `.md` к страницам генерации текста в изображение и редактирования изображений.

  Требования:

  1. Названия моделей: флагманская `MAI-Image-2.6`, быстрая версия `MAI-Image-2.6-Flash`. **Названия моделей чувствительны к регистру**. Название, написанное строчными буквами, возвращает 503, что выглядит как сбой сервиса, но на самом деле вызвано неверным именем.

  2. Эндпоинты: только `/v1/images/generations` (JSON) и `/v1/images/edits` (`multipart/form-data`). **Не вызывайте `/v1/chat/completions` или `/v1/responses`**. Они возвращают 404.

  3. Таймауты: установите клиентский таймаут на 120 с для Flash и на 180 с для 2.6. Изображение 1024×1024 генерируется примерно за 17 с / 30 с, но пиковые нагрузки и большие размеры требуют больше времени. API генерации изображений является синхронным и не возвращает task ID: если клиент отключится, результат будет потерян, а за запрос все равно будет списана оплата. Увеличьте лимиты также на обратных прокси, шлюзах и ограничениях времени выполнения в serverless.

  4. Запрещенные параметры: **никогда не передавайте `response_format`, `seed` или `negative_prompt`**. Каждый из них возвращает 400 `Invalid parameters`. Код, перенесенный с gpt-image / DALL·E, часто явно задает `response_format="b64_json"`, поэтому удалите его. Параметры `quality`, `output_format`, `background` и `style` молча игнорируются, поэтому их также следует удалить.

  5. Обработка ответа: ответ всегда возвращается как `data[0].b64_json` — чистый base64 без префикса `data:`, декодируемый в формат PNG (около 1,5–1,7 МБ при 1024×1024). Режим `url` отсутствует. Поле `usage` содержит фиктивные значения и не может использоваться для сверки; окончательные данные содержатся в счете в консоли.

  6. Размер: используйте `width` + `height` (целые числа, обязательно вместе). Каждая сторона должна быть не менее 768, а произведение ширина × высота не должно превышать 2 359 296 (площадь 1536×1536). Значения, не кратные 16, округляются в меньшую сторону до ближайшего кратного 16. Если не указан ни один параметр, по умолчанию используется 1024×1024. **Параметр `size` молча игнорируется эндпоинтом генерации текста в изображение.**

  7. Количество: генерация текста в изображение всегда возвращает 1 изображение, и `n` не оказывает никакого эффекта; если вам нужно больше, отправляйте параллельные запросы. На эндпоинте редактирования параметр `n` работает и тарифицируется за каждое изображение.

  8. Редактирование: референсные изображения должны быть **загружены как файлы** в multipart-запросе, имя поля — `image`. **Ввод через URL и base64 JSON не поддерживается** (ошибка 400). Для двух референсных изображений используйте имена полей `image` и `image2`. Метод `image=[f1, f2]` в OpenAI SDK дважды отправляет `image[]` и отклоняется, поэтому для редактирования с несколькими изображениями формируйте multipart-запрос вручную с помощью requests / fetch. Маски не поддерживаются. Сжимайте изображения перед загрузкой: обрабатывайте только файлы более 1,5 МБ, уменьшайте длинную сторону до 2048 пикселей или менее, выполняйте перекодирование с качеством 0.9 и возвращайтесь к оригиналу в случае сбоя сжатия.

  9. Ошибки: модерация контента возвращает 400 `content_safety_violation` (реальные знаменитости, жестокость/расчленение, известные персонажи с защищенными авторскими правами и нагота блокируются). Измените prompt; повторные попытки бесполезны. Размеры вне допустимого диапазона возвращают 400 `unsupported_request_value` с точным описанием ограничения в сообщении.

  10. Считывайте ключ из переменной окружения `APIYI_API_KEY` и используйте base\_url [https://api.apiyi.com/v1](https://api.apiyi.com/v1). Никогда не прописывайте его жестко в коде и не коммитьте в git.

  11. По завершении выполните один вызов генерации текста в изображение и один вызов редактирования, затем покажите мне результаты и стоимость обоих вызовов.
</Prompt>

<Accordion title="От чего защищает этот prompt">
  | Требование | Предотвращенная ошибка |
  | - | - |
  | Удалить `response_format` | Наиболее распространенный явно заданный параметр в перенесенном коде. Его передача возвращает 400 и приводит к сбою всего пакета |
  | `width` / `height` вместо `size` | `size` молча игнорируется при генерации текста в изображение. Вы ожидаете 1536×1024, а получаете квадрат 1024×1024 |
  | Загрузка только через файл для редактирования | Передача URL изображения или base64 JSON по стандарту OpenAI возвращает 400 |
  | `image` + `image2` для двух изображений | Форма с несколькими изображениями в OpenAI SDK отправляет `image[]`, что приводит к ошибке |
  | Никаких chat / responses | Чат-клиенты отправляют chat-запросы для любого имени модели, что здесь вернет 404 |
  | Щедрые таймауты под каждую модель | За отключенные запросы плата все равно взимается. См. [Основные сведения и лучшие практики по работе с Image API](/ru/api-capabilities/image-api-best-practices) |
</Accordion>

## Почему стоит использовать MAI-Image 2.6 на APIYI

<CardGroup cols={2}>
  <Card title="Официальный канал Microsoft" icon="shield-check">
    Предоставляется через официальный канал Microsoft. Модель полностью аналогична одноименной модели в Microsoft Foundry. Стандартные эндпоинты `/v1/images/generations` и `/v1/images/edits` с форматом ответов, как у OpenAI Images API.
  </Card>

  <Card title="Тарификация за изображение" icon="receipt">
    Провайдер тарифицирует по tokens, поэтому изображения большего размера стоят дороже. APIYI предлагает **фиксированную цену за изображение независимо от размера**: 768×768 и 1536×1536 стоят одинаково, что позволяет планировать бюджет в расчете на изображение.
  </Card>

  <Card title="Доступ откуда угодно" icon="globe">
    **Не требуется аккаунт Azure или зарубежный сервер.** Подключайтесь к `api.apiyi.com` напрямую из дата-центров, домашних сетей или зарубежных узлов, используя единый ключ для всех моделей.
  </Card>

  <Card title="Полная линейка моделей" icon="layers">
    Комбинируйте с [GPT-Image-2](/ru/api-capabilities/gpt-image-2/overview), [Nano Banana 2](/ru/api-capabilities/nano-banana-2-image/overview), [Seedream](/ru/api-capabilities/seedream-image/overview) и [FLUX](/ru/api-capabilities/flux/overview) под различные сценарии использования.
  </Card>
</CardGroup>

## Ключевые возможности

<CardGroup cols={2}>
  <Card title="Отрисовка китайского текста" icon="languages">
    Китайские вывески магазинов, вертикальные парные надписи и рукописный текст на меловой доске получаются точными до иероглифа. Отлично подходит для постеров, изображений товаров и мерча
  </Card>

  <Card title="Высокоточное редактирование" icon="wand">
    «Сделай чайник кобальтово-синим» меняет только чайник; размерные метки и другие объекты остаются попиксельно идентичными
  </Card>

  <Card title="Пользовательский холст" icon="maximize">
    Любая комбинация `width` + `height` с длинной стороной до 3072 (например, баннер 3072×768) и ограничением площади до 1536×1536
  </Card>

  <Card title="Два уровня скорости" icon="zap">
    Генерация 1024×1024 занимает около 17 с на Flash и около 30 с на 2.6; задержка остается стабильной при 10 параллельных запросах
  </Card>
</CardGroup>

### Примеры результатов

**Отрисовка китайского текста** (`MAI-Image-2.6-Flash`, prompt запрашивал китайскую вывеску, приветствующую посетителей APIYI): вывеска, фонари, вертикальные парные надписи и меловая доска содержат четкий и разборчивый китайский текст.

<Frame>
  <img src="https://mintcdn.com/apiyillc/_zXMTnA1u6gpoDyM/images/mai-image-zh-text-render.jpg?fit=max&auto=format&n=_zXMTnA1u6gpoDyM&q=85&s=7b83a1cb725f1391524c334b7399ea61" alt="Отрисовка китайского текста в MAI-Image-2.6-Flash: традиционная чайная с приветственной вывеской на китайском языке" width="768" height="780" data-path="images/mai-image-zh-text-render.jpg" />
</Frame>

**Редактирование по изображению-референсу** (`MAI-Image-2.6-Flash`, инструкция «Замени глазурь чайника на глубокий кобальтово-синий, всё остальное оставь без изменений»): оригинал слева, результат справа. Цвет меняет только чайник; размерные метки и остальные объекты остаются нетронутыми.

<Frame>
  <img src="https://mintcdn.com/apiyillc/_zXMTnA1u6gpoDyM/images/mai-image-edit-teaset.jpg?fit=max&auto=format&n=_zXMTnA1u6gpoDyM&q=85&s=c86dc86c5aadf0173e19102433c01f49" alt="Пример редактирования в MAI-Image-2.6-Flash: цвет чайника изменен с кремового на кобальтово-синий, всё остальное без изменений" width="1048" height="532" data-path="images/mai-image-edit-teaset.jpg" />
</Frame>

## Тарифы

| Модель | Позиционирование | Цена APIYI | Тарификация |
| - | - | - | - |
| **`MAI-Image-2.6`** | Флагман, приоритет качества | **\$0.12 / изображение** | За изображение, любой размер |
| **`MAI-Image-2.6-Flash`** | Быстрая, приоритет пропускной способности | **\$0.06 / изображение** | За изображение, любой размер |

<Note>Цены на модели могут меняться; таблица выше носит исключительно справочный характер, а актуальные данные всегда указаны на вкладке **Цены на модели** в верхней навигации: [Цены на модели](/en/models/index).</Note>

<Info>
  **Примечания по тарификации**

  * **За изображение, независимо от размера**: 768×768 и 1536×1536 стоят одинаково, а длина prompt не влияет на цену.
  * **Редактирование стоит столько же, сколько генерация по тексту**: редактирование одного изображения и совмещение двух изображений тарифицируются как одно изображение каждое; `n=2` на эндпоинте редактирования тарифицируется как 2 изображения.
  * **Запросы, завершившиеся ошибкой 400** (модерация или неверные параметры), не создают изображение.
  * **Не сверяйте с полем `usage` в ответе**: `prompt_tokens` всегда равно 1000 × количество изображений и является плейсхолдером. Окончательными данными считаются начисления в консоли.
  * Суммируется с [акцией бонусных начислений при пополнении](/ru/faq/recharge-promotions).
</Info>

## Группы и tokens

Эта серия входит в **группу `Default`**. Её может вызывать любой вновь созданный token; подавать заявку не требуется.

<Info>
  **Режим тарификации token**: для этой серии подходят как `Pay-as-you-go Priority`, так и `Per-request`. Мы рекомендуем `Pay-as-you-go Priority`, чтобы один и тот же token работал и с моделями платформы, тарифицируемыми по tokens.

  **Частота запросов**: держите нагрузку на один ключ в пределах **50 RPM**. При больших пакетных нагрузках заранее обратитесь в службу поддержки.
</Info>

## Технические характеристики

| Параметр | Характеристика |
| - | - |
| ID моделей | `MAI-Image-2.6`, `MAI-Image-2.6-Flash` (**чувствительны к регистру**) |
| Эндпоинты | `/v1/images/generations` (JSON), `/v1/images/edits` (multipart) |
| Параметры размера | `width` + `height`, целые числа, всегда вместе |
| Диапазон размеров | Каждая сторона ≥ 768; ширина × высота ≤ 2 359 296 (= 1536×1536); округляется в меньшую сторону до кратных 16 |
| Размер по умолчанию | 1024×1024 |
| Формат вывода | PNG (RGB), только `b64_json`, около 1,5–1,7 МБ при 1024×1024 |
| Изображений на запрос | Text-to-image: всегда 1; `n` работает на эндпоинте редактирования |
| Референсные изображения | Загрузка файлов на эндпоинте редактирования, до 2 (`image` + `image2`) |
| Inpainting по маске | ❌ Не поддерживается |
| `seed` / `negative_prompt` | ❌ Возвращают 400 |
| Потоковая передача | ❌ Не поддерживается |
| Задержка (1024×1024) | Flash P50 около 17 с, 2.6 P50 около 30 с |
| Рекомендуемый клиентский таймаут | Flash ≥ 120 с, 2.6 ≥ 180 с |

## Эндпоинты

| Функция | Метод | Путь | Content-Type |
| - | - | - | - |
| Генерация изображений по тексту | `POST` | `/v1/images/generations` | `application/json` |
| Редактирование изображений | `POST` | `/v1/images/edits` | **`multipart/form-data`** |

<Warning>
  **❌ Чат-эндпоинты не поддерживаются**

  `/v1/chat/completions` и `/v1/responses` возвращают **404 `Requested path is not found`** для этой серии. Чат-клиенты, такие как Cherry Studio и LobeChat, отправляют чат-запросы ко всем моделям из списка, поэтому **не выбирайте MAI-Image в этих клиентах**. Используйте инструмент с поддержкой Images API или вызывайте его из собственного кода.
</Warning>

<Warning>
  **✅ Эндпоинт редактирования принимает только загрузку файлов через multipart**

  Отправка JSON (с `image` в виде URL, data URI или необработанного base64) на `/v1/images/edits` возвращает 400:

  ```text theme={null}
  request Content-Type isn't multipart/form-data
  ```

  Загружайте локальный файл напрямую с помощью `-F "image=@photo.jpg"`. **Хостинг изображений не требуется.** Полные примеры см. в разделе [API редактирования изображений](/ru/api-capabilities/mai-image/image-edit).
</Warning>

<Tip>
  Основной домен — `https://api.apiyi.com`, резервный домен — `https://b.apiyi.com`.
</Tip>

## Ключевые параметры

### `width` и `height` (размер вывода)

| Правило | Подробности |
| - | - |
| Всегда вместе | Передача только одного возвращает 400 |
| Минимум | Каждая сторона не менее 768; 767 возвращает 400 `'width' must be at least 768 pixels` |
| Ограничение площади | ширина × высота ≤ 2,359,296; 1600×1600 возвращает 400 `exceeds the maximum of 2359296` |
| Округление | Значения, не кратные 16, округляются в меньшую сторону: 1000×1000 → 992×992, 1024×1023 → 1024×1008 |
| Соотношение сторон | Без ограничений; 3072×768 (баннер 4:1) работает |

**Распространенные размеры холста** (все в пределах ограничения площади):

| Назначение | `width` × `height` |
| - | - |
| Квадрат | 1024×1024 / 1536×1536 |
| Альбомная ориентация 3:2 | 1536×1024 |
| Портретная ориентация 2:3 | 1024×1536 |
| Альбомная ориентация 16:9 | 1792×1008 |
| Портретная ориентация 9:16 | 1008×1792 |
| Баннер 4:1 | 3072×768 |

<Warning>
  **`size` ведет себя по-разному на двух эндпоинтах**: в text-to-image он **молча игнорируется** (всегда 1024×1024), тогда как на эндпоинте редактирования он применяется. Чтобы избежать путаницы, **используйте `width` + `height` на обоих эндпоинтах**.
</Warning>

### `n` (количество изображений)

* **Text-to-image**: `n` не действует. Передача 2, 4 или 10 по-прежнему возвращает 1 изображение (и тарифицируется как 1). Для получения большего количества отправляйте параллельные запросы.
* **Редактирование**: `n` работает. `n=2` возвращает 2 изображения, которые тарифицируются как 2.

## Рекомендации

<Steps>
  <Step title="Выбирайте вариант под конкретную задачу">
    Пакетная генерация или чувствительные к задержке задачи → `MAI-Image-2.6-Flash`. Главные постеры, сложные композиции или строгие требования к качеству → `MAI-Image-2.6`. Параметры идентичны, поэтому переключение требует лишь изменения имени модели.
  </Step>

  <Step title="Заключайте в кавычки текст, который нужно отобразить">
    Поместите любой текст, который должен появиться на изображении, в кавычки и укажите, где он должен располагаться, например вывеска с надписью «Grand Opening». Модель очень точно воспроизводит текст в кавычках.
  </Step>

  <Step title="Указывайте «оставьте всё остальное без изменений» при редактировании">
    Формулируйте инструкции наподобие «Сделай чайник кобальтово-синим, всё остальное оставь точно таким же», чтобы сохранить как можно больше деталей оригинала.
  </Step>

  <Step title="Изменение холста меняет композицию изображения">
    Если вы передадите `width` / `height` с соотношением сторон, отличным от оригинала, модель **перестраивает композицию сцены**, а не обрезает её и не добавляет поля. Для точечного редактирования не указывайте размер: тогда соотношение сторон результата будет соответствовать оригиналу с округлением до кратных 16 (например, входное изображение 1344×756 → результат 1360×768).
  </Step>

  <Step title="Нужно несколько изображений? Отправляйте параллельные запросы">
    Генерация «текст в изображение» возвращает одно изображение за вызов, поэтому для 4 изображений отправьте 4 параллельных запроса. В наших тестах при 10 параллельных запросах задержка соответствовала одиночным запросам.
  </Step>
</Steps>

## Коды ошибок и повторные попытки

| HTTP | code / message | Значение | Что делать |
| - | - | - | - |
| `400` | `unsupported_request_value` | Размер вне допустимого диапазона, неверный тип или `width`/`height` не переданы вместе | Исправьте в соответствии с ограничением в сообщении; не повторяйте запрос |
| `400` | `invalid_request`: `Invalid parameters: xxx` | Переданы `response_format` / `seed` / `negative_prompt` | Удалите это поле |
| `400` | `invalid_request`: `Prompt must be …` | `prompt` пусто или отсутствует | Добавьте prompt |
| `400` | `invalid_request`: `File must be attached in a form field with a name starting with 'image'` | Повторяющееся поле файла (`image[]`×2) или `mask` на эндпоинте редактирования | Используйте `image` + `image2`; маски не поддерживаются |
| `400` | `content_safety_violation` | Заблокировано модерацией контента | Измените prompt; повторные попытки не помогут |
| `400` | `request Content-Type isn't multipart/form-data` | На эндпоинт редактирования отправлен JSON | Переключитесь на multipart-загрузку файлов |
| `404` | `Requested path is not found` | Запрос отправлен в chat / responses | Используйте Images API |
| `500` | `image is required` | В запросе на редактирование отсутствует поле файла изображения | Убедитесь, что поле файла называется `image` |
| `503` | `no available channels` | Неверный регистр имени модели (например, только строчные буквы) | Используйте `MAI-Image-2.6` / `MAI-Image-2.6-Flash` |

<Info>
  **Рекомендации для клиента**: приведенные выше ошибки 4xx / 500 детерминированы, поэтому повторять запросы бессмысленно; вместо этого настройте оповещения об их возникновении. Повторные запросы имеют смысл только при сетевых таймаутах и `429` — с экспоненциальной задержкой и не более чем 3 попытками. Имейте в виду, что **запросы, сброшенные по таймауту на стороне клиента, все равно тарифицируются**, поэтому сначала увеличьте значение таймаута.
</Info>

## Часто задаваемые вопросы

<AccordionGroup>
  <Accordion title="Почему при передаче response_format возвращается 400?">
    Эта серия возвращает только `b64_json` и **не принимает параметр `response_format`**. Даже `"b64_json"` возвращает 400 `Invalid parameters: response_format`.

    В коде, перенесённом с gpt-image / DALL·E, он часто задаётся явно. Удалите его; изображение по-прежнему будет в `data[0].b64_json`. То же самое относится к `seed` и `negative_prompt`.
  </Accordion>

  <Accordion title="Я указал size: 1536x1024, почему результат всё равно квадратный?">
    Эндпоинт генерации изображений по тексту (text-to-image) **не считывает `size`**. Он просто игнорирует его и генерирует размер по умолчанию 1024×1024. Используйте вместо этого `"width": 1536, "height": 1024`.

    На эндпоинте редактирования `size` работает, но для единообразия рекомендуется использовать `width` + `height` в обоих случаях.
  </Accordion>

  <Accordion title="Можно ли редактировать с использованием URL изображения?">
    **Нет.** Эндпоинт редактирования принимает только загрузку файлов через `multipart/form-data`. Передача URL, data URI или строки base64 в качестве `image` вернёт ошибку 400.

    Если у вас есть только URL, сначала скачайте файл на свой сервер, а затем загрузите его:

    ```python theme={null}
    import requests
    img = requests.get("https://example.com/photo.jpg", timeout=30).content
    files = {"image": ("photo.jpg", img, "image/jpeg")}
    ```
  </Accordion>

  <Accordion title="Как отправить два референсных изображения? Почему не работает OpenAI SDK?">
    Назовите поле второго изображения **`image2`**:

    ```bash theme={null}
    curl -X POST "https://api.apiyi.com/v1/images/edits" \
      -H "Authorization: Bearer sk-your-api-key" \
      -F "model=MAI-Image-2.6" \
      -F "prompt=Place the person from image 2 into the scene in image 1" \
      -F "image=@scene.jpg" \
      -F "image2=@person.jpg"
    ```

    Метод `client.images.edit(image=[f1, f2])` из OpenAI SDK отправляет оба файла как `image[]`. Эта серия не принимает повторяющиеся поля файлов и возвращает ошибку 400. Редактирование одиночного изображения с помощью SDK работает корректно.
  </Accordion>

  <Accordion title="Поддерживается ли inpainting по маске?">
    **Нет.** Поле `mask` вернёт ошибку 400. Для локальных правок опишите нужную область в prompt, например: «Только сделай чайник синим, всё остальное оставь точно таким же». По результатам наших тестов модель точно следует подобным ограничениям.
  </Accordion>

  <Accordion title="Можно ли использовать его в Cherry Studio / LobeChat?">
    **Не рекомендуется.** Эти чат-клиенты используют `/v1/chat/completions`, который возвращает 404 для этой серии. Используйте инструмент с поддержкой OpenAI Images API или вызывайте его напрямую с помощью примеров кода из этой документации.
  </Accordion>

  <Accordion title="Сколько изображений возвращается за один запрос?">
    Генерация изображений по тексту **всегда возвращает 1**. Какое бы значение `n` вы ни передали, вы получите и оплатите 1 изображение. Для получения большего количества отправляйте параллельные запросы.

    На эндпоинте редактирования `n` работает: `n=2` возвращает 2 изображения и тарифицируется как 2.
  </Accordion>

  <Accordion title="Можно ли сопоставить тарификацию с количеством token в usage?">
    **Нет.** `usage.prompt_tokens` всегда равно 1000 × количество изображений, а `output_tokens` всегда равно 0; это плейсхолдеры. Эта серия тарифицируется поштучно за изображение, а данные в консоли APIYI являются определяющими.
  </Accordion>

  <Accordion title="Насколько строга модерация? Как выглядит блокировка?">
    В этой серии используется официальная политика безопасности контента Microsoft, которая **достаточно строгая**: реальные знаменитости, жестокость (gore), известные персонажи с авторскими правами (например, Disney) и нагота блокируются.

    При блокировке возвращается `400 content_safety_violation` с указанием конкретной причины в сообщении. Блокировки на уровне prompt обычно возвращаются в течение 5–8 с; некоторые применяются уже после генерации и занимают примерно столько же времени, сколько создание обычного изображения. Повторный запрос с тем же prompt не поможет — перефразируйте его.
  </Accordion>

  <Accordion title="Поддерживается ли потоковая передача?">
    **Нет.** Вызывайте его как обычный синхронный запрос и ожидайте полного ответа.
  </Accordion>

  <Accordion title="Возникает ошибка 503 no available channels?">
    Наиболее частая причина — **неправильный регистр имени модели**. Имя должно быть строго `MAI-Image-2.6` или `MAI-Image-2.6-Flash`; `mai-image-2.6-flash` возвращает 503.
  </Accordion>
</AccordionGroup>

## Связанные документы

* [API Text-to-Image MAI-Image 2.6](/ru/api-capabilities/mai-image/text-to-image) - справочник по API с Playground
* [API редактирования изображений MAI-Image 2.6](/ru/api-capabilities/mai-image/image-edit) - редактирование по референсному изображению и объединение двух изображений
* [Основы и лучшие практики Image API](/ru/api-capabilities/image-api-best-practices) - таймауты, обрывы соединения, сжатие
* [Бонусная акция при пополнении](/ru/faq/recharge-promotions)


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