Source: https://ailoot.ai/models/ru/gpt-image-2-5-flare/
Canonical: https://ailoot.ai/models/ru/gpt-image-2-5-flare/
Language: ru

# OpenAI: GPT Image 2.5 Flare

[Markdown](https://ailoot.ai/models/ru/gpt-image-2-5-flare/index.md) · [JSON](https://ailoot.ai/models/ru/gpt-image-2-5-flare/facts.json)

## [OpenAI: GPT Image 2.5 Flare](https://ailoot.ai/models/ru/gpt-image-2-5-flare/)

GPT Image 2.5 Flare создаёт и редактирует изображения по тексту и референсам с акцентом на быстрое повседневное визуальное творчество. Он поддерживает собственные размеры, прозрачный фон, маски и уровни качества вплоть до max для черновиков, иллюстраций и рекламных материалов.

- [**Ailoot · Картинки** `POST /v1/images/generations` `gpt-image-2.5-flare`](https://ailoot.ai/models/ru/gpt-image-2-5-flare/#method-0)
- [**Ailoot Ultra · Картинки** `POST /v1/images/generations` `gpt-image-2.5-flare`](https://ailoot.ai/models/ru/gpt-image-2-5-flare/#method-1)
- [**Ailoot Ultra · Картинки** `POST /v1/images/generations` `openai/gpt-image-2.5-flare`](https://ailoot.ai/models/ru/gpt-image-2-5-flare/#method-2)

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

GPT Image 2.5 Flare — версия OpenAI для генерации и редактирования изображений, позиционируемая для быстрой и качественной повседневной работы. Она принимает текст и изображения и возвращает изображения. Используйте её для визуальных черновиков, иллюстраций, концепций продуктов и повторяющихся творческих задач, когда задание нужно оперативно превратить в пригодное изображение. Flare отличается от Sunburst, позиционирование которого делает акцент на точности редактирования. Выбирайте Flare для обычного создания изображений и Sunburst, когда приоритетна точность правок.

Начните с основного объекта, действия, окружения, композиции и визуального оформления. Для рекламной иллюстрации запросите велосипедиста, пересекающего небольшой мост в тёплом вечернем свете, с выразительным силуэтом и открытым небом под последующий текст. Краткое поисковое задание может оставить эстетические решения открытыми; производственное задание должно назвать важные детали и их расположение. Прямые процессы генерации и редактирования допускают запросы до 32,000 символов и от одного до десяти результатов, что позволяет сравнить несколько вариаций с одной и той же целью.

При редактировании можно передать до шестнадцати изображений-референсов. Назначьте каждому референсу ясную роль, не ожидая, что модель сама определит, задаёт ли он идентичность объекта, обстановку или стиль. Маска может направлять изменение отдельной области; при нескольких изображениях она применяется к первому. Изображение и маска должны иметь совпадающие формат и размеры, а маска — альфа-канал. Руководство требует, чтобы исходник и маска были менее 50 MB. Маска служит ориентиром, а не обещанием точного сохранения границы, поэтому указывайте и желаемую правку, и то, что должно остаться узнаваемым.

Flare поддерживает качество low, medium, high, xhigh, max и автоматическое; по умолчанию — auto. Более низкое качество подходит для быстрого визуального черновика; более высокие настройки можно сравнивать по деталям итогового материала. Качество не зависит от размера и сжатия результата. Стандартные размеры включают 1024 × 1024, 1536 × 1024 и 1024 × 1536, также доступны автоматические и собственные размеры. Выбирайте ориентацию с учётом конечного размещения и полезного пространства сцены.

Собственные ширина и высота должны быть кратны шестнадцати, ни одна сторона не должна превышать 3840 пикселей. Допустимое соотношение сторон — от 1:3 до 3:1, а общая площадь — не менее 655,360 и не более 8,294,400 пикселей. Все четыре условия действуют одновременно. Руководство обозначает разрешения выше 2560 × 1440 как экспериментальные. Используйте допустимый кадр, подходящий композиции, и включайте чувствительные к обрезке детали в задание, не считая большее разрешение автоматическим улучшением макета.

Формат результата по умолчанию — PNG; альтернативы — JPEG и WebP. JPEG и WebP допускают сжатие от 0 до 100. Для прозрачного фона выбирайте PNG или WebP; непрозрачный и автоматический фон также поддерживаются. Прозрачный материал можно поместить в последующий макет, а непрозрачное изображение содержит собственный фон. Подбирайте формат, фон и сжатие под реальную потребность выдачи и храните завершённый файл вместе с заданием и выбранными настройками.

Поставщик документирует прямую генерацию и правки изображений, а также диалоговый инструмент, который может сохранять выбранные результаты для последующих изменений. В этом процессе действие может быть автоматическим, принудительной генерацией или принудительным редактированием, когда изображение есть в контексте. Потоковая передача может показать до трёх промежуточных изображений перед окончательным результатом. Эти превью показывают ход работы, а не дополнительные завершённые материалы. Для последовательной работы продолжайте с выбранного изображения и описывайте видимую правку, например перемещение одного объекта или корректировку цветовой обработки. Интерфейс производителя также поддерживает пакетную обработку.

Проверяйте надписи, расположение предметов, детали объекта и композицию изображения в предполагаемом размере. GPT Image по-прежнему может испытывать трудности с точным размещением текста, структурированными макетами и повторяемой визуальной идентичностью между генерациями. Сохраняйте принятую вариацию как следующий референс и сужайте последующую правку до важной проблемы. Повседневная генерация Flare полезна для ясной последовательности задания, визуальных альтернатив, выбора и доработки, где конечный материал оценивается по реальной творческой цели.

**Ailoot · Картинки** `POST /v1/images/generations` `gpt-image-2.5-flare`

[`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Core&caller=gpt-image-2.5-flare&fmt=images)

OpenAI /`gpt-image-2.5-flare`

### Начало

GPT Image 2.5 Flare создаёт и редактирует изображения по тексту и референсам с акцентом на быстрое повседневное визуальное творчество. Он поддерживает собственные размеры, прозрачный фон, маски и уровни качества вплоть до max для черновиков, иллюстраций и рекламных материалов.

Допустимые входные данные

Текст

Результаты

Картинки

### Доступно в Ailoot · входные данные и методы

**Ailoot · Картинки** `POST /v1/images/generations`

Входные данные

`text`

Результат

`image`

Выходной формат

Файл изображения

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения gpt-image-2.5-flare | По умолчанию— |
| Поле`prompt` | Тип`string` | ТребованиеОбязательно | Значения и ограничения Минимальная длина: 1 | По умолчанию— |
| Поле`n` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 | По умолчанию1 |
| Поле`response_format` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения url, b64\_json | По умолчанию— |
| Поле`stream` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |
| Поле`size` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`quality` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`background` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`output_format` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`output_compression` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`moderation` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`input_fidelity` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`style` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`partial_images` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Зависит от модели | По умолчанию— |

Сочетания входных материалов

**Из текста в изображение** · Обязательно: prompt

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`material_types` | Контрактtext |
| Параметр`required` | Контрактmodel, prompt |
| Параметр`optional_controls` | Контрактnull |
| Параметр`content_type` | Контрактapplication/json |

Жизненный цикл: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · Фактически возвращённый task\_id или запись в медиатеке

`GET /v1/media/assets/{asset_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

Структуры методов и ID указаны точно; возможности поставщика рассматриваются отдельно от допуска.

### Тарифы

#### Ставки методов Ailoot

Текстовый вход

0,005 $ */ 1K*

Вход, картинка

0,008 $ */ 1K tokens*

Выход, картинка

0,03 $ */ 1K tokens*

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot · Картинки

curlPython SDKNode.js SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
export AILOOT_API_KEY
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 image brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-image-2.5-flare", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
```

```python
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")

f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Set your actual UTF-8 image brief file")
request={'model': 'gpt-image-2.5-flare', 'prompt': ''}
request["prompt"]=f.read_text(encoding="utf-8")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
```

```js
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "gpt-image-2.5-flare", "prompt": ""};
if(!process.env.AILOOT_PROMPT_FILE)throw new Error("Set your actual UTF-8 image brief file");
request.prompt=readFileSync(process.env.AILOOT_PROMPT_FILE,"utf8");
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");
```

### Получить и сохранить результаты

#### Ailoot · Картинки

Загрузите каждое полученное изображение или сохраните его содержимое Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Сохраняйте все готовые результаты

Сохраните каждое готовое изображение; загрузите содержимое по каждому полученному URL или декодируйте его содержимое Base64.

Сохраняйте каждый элемент данных. Декодируйте каждый b64\_json или загружайте ресурс по каждому возвращённому подписанному URL. Выбирайте расширение имени файла по фактическому MIME и байтам.

##### Если нужно проверить исходный ответ

Если результат генерации или редактирования изображения требует проверки, сохраните исходный operation\_id/X-Client-Request-ID и возвращённые сведения о результате. Восстановите существующие собственные результаты через медиатеку, используя фактические значения task\_id или asset\_id. Не отправляйте запрос генерации или редактирования повторно и не составляйте URL опроса из operation\_id.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`created` | Типinteger |
| Поле`data[].url` | Типstring |
| Поле`data[].b64_json` | Типbase64 string |
| Поле`usage` | Типobject |

Ошибки и дальнейшие шаги

| Ответ | Условие | Следующий шаг |
| --- | --- | --- |
| Ответ400 · `invalid_request_error` | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |
| Ответ`server_error` | УсловиеВозвращённый ответ указывает, что операция или результат требуют проверки | Следующий шагСохраните исходный возвращённый ID операции или задачи, заголовки запроса и ответ; продолжайте поддерживаемые операции чтения исходной операции. Не отправляйте запрос создания повторно. |

### Псевдонимы

#### Псевдонимы моделей

<strong>Ailoot</strong> [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Core&caller=gpt-image-2.5-flare&fmt=images)
**Ailoot Ultra** [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=gpt-image-2.5-flare&fmt=images), [`openai/gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=openai%2Fgpt-image-2.5-flare&fmt=images)

#### Псевдонимы путей метода

`/v1/images`

#### Связанные ID для вызова

[`openai/gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=openai%2Fgpt-image-2.5-flare&fmt=images), [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Core&caller=gpt-image-2.5-flare&fmt=images), [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=gpt-image-2.5-flare&fmt=images)

**Ailoot Ultra · Картинки** `POST /v1/images/generations` `gpt-image-2.5-flare`

[`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=gpt-image-2.5-flare&fmt=images)

OpenAI /`gpt-image-2.5-flare`

ID модели

- `gpt-image-2.5-flare`
- `openai/gpt-image-2.5-flare`

### Начало

GPT Image 2.5 Flare создаёт и редактирует изображения по тексту и референсам с акцентом на быстрое повседневное визуальное творчество. Он поддерживает собственные размеры, прозрачный фон, маски и уровни качества вплоть до max для черновиков, иллюстраций и рекламных материалов.

Допустимые входные данные

Текст

Результаты

Картинки

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Картинки** `POST /v1/images/generations`

Входные данные

`text`

Результат

`image`

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения gpt-image-2.5-flare | По умолчанию— |
| Поле`prompt` | Тип`string` | ТребованиеОбязательно | Значения и ограничения Максимальная длина: 32 000 | По умолчанию— |
| Поле`size` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Условия: Используйте auto или WIDTHxHEIGHT, причём оба размера должны делиться на 16. Длинная сторона — не более 3,840 пикселей, общее количество — не более 8,300,000 пикселей. | По умолчаниюauto |
| Поле`background` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения transparent, opaque, auto | По умолчаниюauto |
| Поле`moderation` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения low, auto Условия: Используйте auto для стандартной модерации содержимого. | По умолчанию— |
| Поле`n` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Максимум: 10 | По умолчанию1 |
| Поле`quality` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения auto, high, medium, low | По умолчаниюauto |
| Поле`output_compression` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 0 Максимум: 100 Условия: Применяется к результатам JPEG и WebP; передайте документированное целое значение. | По умолчанию100 |
| Поле`output_format` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения webp, png, jpeg | По умолчаниюpng |
| Поле`stream` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения false Условия: Этот маршрут возвращает один завершённый ответ JSON. | По умолчаниюfalse |

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`content_type` | Контрактapplication/json |
| Параметр`required` | Контрактprompt, model |
| Параметр`material_types` | Контрактtext |
| Параметр`optional` | Контрактsize, background, moderation, n, quality, output\_compression, output\_format, stream |
| Параметр`conditions` | КонтрактПрозрачный фон требует PNG или WebP., Сжатие результата применяется к JPEG или WebP., Выбранный метод генерирует из текста. Описанные производителем средства редактирования и потоковой передачи относятся к отдельным возможностям. |

Жизненный цикл: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · Фактически возвращённый task\_id или запись в медиатеке

`GET /v1/media/assets/{asset_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

### Тарифы

##### Как рассчитывается итоговая плата

Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.

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

Быстрый режим

Не указано При выборе быстрого режима

Режим flex

Не указано При выборе режима flex

Максимальная интенсивность рассуждений

Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

#### Оценочные ставки для сравнения

#### Цены по конфигурациям

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

| Конфигурация | Шкала ставок | Прогноз количества | Плата |
| --- | --- | --- | --- |
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Плата Вход · Входные токены · Оценка только для сравнения **—** / 1K токенов Выход · Выходные токены · Оценка только для сравнения **—** / 1K токенов Вход · Чтение кэша · Оценка только для сравнения **—** / 1K токенов Вход · Запись в кэш · Оценка только для сравнения **—** / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения **—** / 1K токенов |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения **$0.24576** оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Картинки

curl

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-2.5-flare', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
```

### Получить и сохранить результаты

#### Ailoot Ultra · Картинки

Загрузите каждое полученное изображение или сохраните его содержимое Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

Чтение другого содержимого

Читать существующие материалы, принадлежащие вам

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
```

##### Сохраняйте все готовые результаты

Сохраните каждое готовое изображение; загрузите содержимое по каждому полученному URL или декодируйте его содержимое Base64.

Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.

##### Если нужно проверить исходный ответ

Сохраните возвращённый X-Client-Request-ID для сверки. Читайте только фактически возвращённые значения task\_id/asset\_id или собственную медиатеку; никогда не составляйте URL задачи из ID операции и никогда не отправляйте запрос создания повторно.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`created` | Тип |
| Поле`data[].url` | Тип |
| Поле`data[].b64_json` | Тип |
| Поле`usage` | Тип |

### Псевдонимы

#### Псевдонимы моделей

<strong>Ailoot</strong> [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Core&caller=gpt-image-2.5-flare&fmt=images)
**Ailoot Ultra** [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=gpt-image-2.5-flare&fmt=images), [`openai/gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=openai%2Fgpt-image-2.5-flare&fmt=images)

#### Псевдонимы путей метода

`/v1/images`

#### Связанные ID для вызова

[`openai/gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=openai%2Fgpt-image-2.5-flare&fmt=images), [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Core&caller=gpt-image-2.5-flare&fmt=images), [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=gpt-image-2.5-flare&fmt=images)

**Ailoot Ultra · Картинки** `POST /v1/images/generations` `openai/gpt-image-2.5-flare`

[`openai/gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=openai%2Fgpt-image-2.5-flare&fmt=images)

OpenAI /`openai/gpt-image-2.5-flare`

ID модели

- `gpt-image-2.5-flare`
- `openai/gpt-image-2.5-flare`

### Начало

GPT Image 2.5 Flare создаёт и редактирует изображения по тексту и референсам с акцентом на быстрое повседневное визуальное творчество. Он поддерживает собственные размеры, прозрачный фон, маски и уровни качества вплоть до max для черновиков, иллюстраций и рекламных материалов.

Допустимые входные данные

Текст · Картинки

Результаты

Картинки

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Картинки** `POST /v1/images/generations`

Входные данные

`text`, `image`

Результат

`image`

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения openai/gpt-image-2.5-flare | По умолчанию— |
| Поле`prompt` | Тип`string` | ТребованиеОбязательно | Значения и ограничения Минимальная длина: 1 | По умолчанию— |
| Поле`aspect_ratio` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto | По умолчанию— |
| Поле`quality` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения auto, low, medium, high, xhigh, max | По умолчанию— |
| Поле`background` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения auto, transparent, opaque | По умолчанию— |
| Поле`n` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 1 Максимум: 10 | По умолчанию— |
| Поле`input_references` | Тип`array` | ТребованиеНеобязательно | Значения и ограничения Минимум элементов: 0 Максимум элементов: 16 | По умолчанию— |
| Поле`output_compression` | Тип`integer` | ТребованиеНеобязательно | Значения и ограничения Минимум: 0 Максимум: 100 | По умолчанию— |
| Поле`provider` | Тип`object` | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`content_type` | Контрактapplication/json |
| Параметр`required` | Контрактmodel, prompt |
| Параметр`material_types` | Контрактtext, image |

Жизненный цикл: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · Фактически возвращённый task\_id или запись в медиатеке

`GET /v1/media/assets/{asset_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

### Тарифы

##### Как рассчитывается итоговая плата

Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.

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

Быстрый режим

Не указано При выборе быстрого режима

Режим flex

Не указано При выборе режима flex

Максимальная интенсивность рассуждений

Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

#### Оценочные ставки для сравнения

#### Цены по конфигурациям

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

| Конфигурация | Шкала ставок | Прогноз количества | Плата |
| --- | --- | --- | --- |
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Плата Вход · Входные токены · Оценка только для сравнения **—** / 1K токенов Выход · Выходные токены · Оценка только для сравнения **—** / 1K токенов Вход · Чтение кэша · Оценка только для сравнения **—** / 1K токенов Вход · Запись в кэш · Оценка только для сравнения **—** / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения **—** / 1K токенов |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения **$0.24576** оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Картинки

curl

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'openai/gpt-image-2.5-flare', 'prompt': 'a red panda astronaut floating in space, studio lighting'}

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
```

### Получить и сохранить результаты

#### Ailoot Ultra · Картинки

Загрузите каждое полученное изображение или сохраните его содержимое Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

Чтение другого содержимого

Читать существующие материалы, принадлежащие вам

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
```

##### Сохраняйте все готовые результаты

Сохраните каждое готовое изображение; загрузите содержимое по каждому полученному URL или декодируйте его содержимое Base64.

Сохраняйте полный ответ и заголовки, все фактические результаты, исходные возвращённые идентификаторы и все поля использования. Восстанавливайте исходную операцию без повторной отправки запроса создания.

##### Если нужно проверить исходный ответ

Сохраните возвращённый X-Client-Request-ID для сверки. Читайте только фактически возвращённые значения task\_id/asset\_id или собственную медиатеку; никогда не составляйте URL задачи из ID операции и никогда не отправляйте запрос создания повторно.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`created` | Тип |
| Поле`data[].url` | Тип |
| Поле`data[].b64_json` | Тип |
| Поле`usage` | Тип |

### Псевдонимы

#### Псевдонимы моделей

<strong>Ailoot</strong> [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Core&caller=gpt-image-2.5-flare&fmt=images)
**Ailoot Ultra** [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=gpt-image-2.5-flare&fmt=images), [`openai/gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=openai%2Fgpt-image-2.5-flare&fmt=images)

#### Псевдонимы путей метода

`/v1/images`

#### Связанные ID для вызова

[`openai/gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=openai%2Fgpt-image-2.5-flare&fmt=images), [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Core&caller=gpt-image-2.5-flare&fmt=images), [`gpt-image-2.5-flare`](https://ailoot.ai/models/ru/#m=openai%2Fgpt-image-2.5-flare&route=Ultra&caller=gpt-image-2.5-flare&fmt=images)

FAQ · OpenAI: GPT Image 2.5 Flare

Какие входные данные и результаты доступны?

`POST /v1/images/generations` · `gpt-image-2.5-flare`: `text` → `image` `POST /v1/images/generations` · `gpt-image-2.5-flare`: `text` → `image` `POST /v1/images/generations` · `openai/gpt-image-2.5-flare`: `text`, `image` → `image`

Какие поля использует запрос?

`POST /v1/images/generations` · `gpt-image-2.5-flare`: `model`, `prompt`, `n`, `response_format`, `stream` `POST /v1/images/generations` · `gpt-image-2.5-flare`: `model`, `prompt`, `size`, `background`, `moderation`, `n`, `quality`, `output_compression`, `output_format`, `stream` `POST /v1/images/generations` · `openai/gpt-image-2.5-flare`: `model`, `prompt`, `aspect_ratio`, `quality`, `background`, `n`, `input_references`, `output_compression`, `provider`

Какие ограничения действуют?

`POST /v1/images/generations` · `gpt-image-2.5-flare`: `n.minimum`: `1` `POST /v1/images/generations` · `gpt-image-2.5-flare`: `prompt.maximum_length`: `32000`; `n.minimum`: `1`; `n.maximum`: `10`; `output_compression.minimum`: `0`; `output_compression.maximum`: `100` `POST /v1/images/generations` · `openai/gpt-image-2.5-flare`: `n.minimum`: `1`; `n.maximum`: `10`; `output_compression.minimum`: `0`; `output_compression.maximum`: `100`

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

## Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

## Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка

Выберите тариф со скидкой для своих регулярных запросов.

Промокод до 50%

Введите код при покупке. Цена пересчитается с учётом действующей акции.

Расходы в истории

Модель, токены и сумма сохраняются для каждого запроса.

[Выбрать подписку](https://ailoot.ai/docs/ru/billing/subscriptions/) · [Посмотреть цены моделей](https://ailoot.ai/models/ru/)

## Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение

Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.

Лицензия для реселлера

Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.

Документы на сайте

Оферта, лицензионный договор и политика обработки данных доступны до подключения.

[Запросить реселлерскую лицензию](mailto:support@ailoot.ai) · [Оферта и лицензионный договор](https://ailoot.ai/legal/offer?lang=ru)

## Ailoot · Компания и портфель её проектов





Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.





Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.





Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
