models

GPT Image 1.5

Markdown · JSON

GPT Image 1.5

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

О модели

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

Изображение по подробному заданию

GPT Image 1.5 — модель OpenAI для создания изображений по текстовому описанию. Производитель выделяет следование указаниям и обработку подробного задания: в нём можно определить содержание сцены, композицию, внешний вид объектов и нужный стиль. Результат метода изображений — готовая картинка.

В Ailoot эта карточка относится к генерации с текстовым входом. OpenAI также описывает работу модели с исходными изображениями, редактирование и изменение отдельных областей. Эти возможности требуют отдельной поддержки визуального входа и не входят в обозначенный здесь текстовый способ генерации.

В отдельно предусмотренной OpenAI операции правки маска служит ориентиром: точное совпадение результата с её очертаниями не гарантируется. Для такой операции нужна поддержка передачи исходного изображения; текущая карточка Ailoot по-прежнему относится к генерации с текстовым входом.

Три формы кадра и настройка качества

Предусмотрены квадратный размер 1024x1024, горизонтальный 1536x1024 и вертикальный 1024x1536, а также автоматический выбор. Для этой версии не следует переносить произвольные размеры других моделей.

Уровни качества — low, medium, high и auto. Выбор качества влияет на объём обработки и детализацию результата. Качество и размер являются разными настройками: ориентация кадра определяет пространство композиции, а уровень качества — режим её формирования. Уровни xhigh и max для GPT Image 1.5 не заявлены.

Формат файла и фон

По умолчанию результат создаётся в PNG; также предусмотрены JPEG и WebP. Для JPEG и WebP можно задавать степень сжатия. Это настройка файла результата, которая отличается от качества генерации.

У производителя предусмотрены прозрачный и непрозрачный фон, а также автоматический выбор. Для прозрачности нужен PNG или WebP: JPEG не сохраняет альфа-канал. Прозрачный фон удобен, когда изображение должно использоваться как отдельный объект в дальнейшей композиции. Поддержку конкретных параметров следует соотносить с выбранным методом.

Текст и композиция требуют проверки

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

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

Ailoot · Картинки POST /v1/images/generations gpt-image-1.5

gpt-image-1.5

OpenAI /gpt-image-1.5

Начало

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

Допустимые входные данные
Текст
Результаты
Картинки

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

Ailoot · Картинки POST /v1/images/generations
Входные данные
text
Результат
image
Выходной формат
Файл изображения
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
gpt-image-1.5
По умолчанию—
Поле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

Ailoot КартинкиPOST /v1/images/generations
Текстовый вход
0,005 $ / 1K
Текстовый выход
0,01 $ / 1K
Вход, картинка
0,008 $ / 1K tokens
Выход, картинка
0,032 $ / 1K tokens

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →

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

Ailoot · Картинки

curlPython SDKNode.js SDK
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-1.5", "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
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-1.5', '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])
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-1.5", "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 операции или задачи, заголовки запроса и ответ; продолжайте поддерживаемые операции чтения исходной операции. Не отправляйте запрос создания повторно.

Псевдонимы

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

Ailoot gpt-image-1.5
Ailoot Ultra gpt-image-1.5

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

Используйте пути методов, указанные выше.

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

gpt-image-1.5, gpt-image-1.5

Ailoot Ultra · Картинки POST /v1/images/generations gpt-image-1.5

gpt-image-1.5

OpenAI /gpt-image-1.5

Начало

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

Допустимые входные данные
Текст
Результаты
Картинки

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

Ailoot Ultra · Картинки POST /v1/images/generations
Входные данные
text
Результат
image
ПолеТипТребованиеЗначения и ограниченияПо умолчанию
ПолеmodelТипstringТребованиеОбязательноЗначения и ограничения
gpt-image-1.5
По умолчанию—
ПолеpromptТипstringТребованиеОбязательноЗначения и ограничения
Максимальная длина: 32 000
По умолчанию—
ПолеsizeТипstringТребованиеНеобязательноЗначения и ограничения
1024x1024, 1536x1024, 1024x1536, auto
По умолчанию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.32768 оценка до генерации

Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации.

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →

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

Ailoot Ultra · Картинки

curl
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-1.5', '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}
Чтение другого содержимого
Читать существующие материалы, принадлежащие вам
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Тип

Псевдонимы

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

Ailoot gpt-image-1.5
Ailoot Ultra gpt-image-1.5

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

Используйте пути методов, указанные выше.

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

gpt-image-1.5, gpt-image-1.5

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

POST /v1/images/generations · gpt-image-1.5: text → image

POST /v1/images/generations · gpt-image-1.5: text → image

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

POST /v1/images/generations · gpt-image-1.5: model, prompt, n, response_format, stream

POST /v1/images/generations · gpt-image-1.5: model, prompt, size, background, moderation, n, quality, output_compression, output_format, stream

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

POST /v1/images/generations · gpt-image-1.5: n.minimum: 1

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

Подробнее

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

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

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

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

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

Подписка
Выберите тариф со скидкой для своих регулярных запросов.
Промокод до 50%
Введите код при покупке. Цена пересчитается с учётом действующей акции.
Расходы в истории
Модель, токены и сумма сохраняются для каждого запроса.

Выбрать подписку · Посмотреть цены моделей

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

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

Коммерческое приложение
Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.
Лицензия для реселлера
Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.
Документы на сайте
Оферта, лицензионный договор и политика обработки данных доступны до подключения.

Запросить реселлерскую лицензию · Оферта и лицензионный договор