Чтобы сгенерировать 4K-изображение в GPT Image 2, задайте размер в API-запросе: 3840x2160 для горизонтального кадра или 2160x3840 для вертикального. Эти значения важнее фразы вроде «make it 4K» в prompt, потому что именно size управляет целевыми пикселями.
После ответа модели сохраните base64-данные как PNG или другой нужный формат и проверьте фактическую ширину и высоту файла. Если размер не совпал, файл был изменен CMS, или запрос прошел с другим пресетом, такой результат нельзя считать готовым 4K-ассетом.
Маршрут тоже нужно выбрать заранее. Image API проще для прямой генерации и редактирования. Responses API удобнее, когда изображение является частью диалога, agent flow или цепочки инструментов. В обоих случаях выходы выше 2560x1440 требуют отдельной проверки, потому что это экспериментальный диапазон.
| Задача | Первый шаг | Почему | Когда остановиться |
|---|---|---|---|
| Горизонтальный 4K | size: "3840x2160" | понятный 16:9 вывод | файл не равен 3840x2160 |
| Вертикальный 4K | size: "2160x3840" | подходит для постеров и mobile | downstream crop ломает композицию |
| Многошаговое приложение | Responses API image tool | картинка часть agent или tool flow | нет сохраненного файла для проверки |
| Максимум качества | 2K master -> upscale | проще выбрать лучшую композицию | upscale портит текст |
Не считайте слово 4K в prompt техническим контролем. Контроль начинается с size, а заканчивается только после сохранения и измерения файла.
Параметр size управляет пикселями
Prompt описывает содержание: продукт, фон, стиль, текст, настроение и композицию. Он может сказать модели, что нужен плакат для большого экрана, но он не заменяет параметр размера. Если API-запрос не содержит корректный size, production pipeline не имеет надежного договора о пикселях.
Самая чистая первая проверка выглядит просто: один стабильный prompt, один размер, один quality preset и сохранение результата на диск. После этого можно добавить reference images, edit flow, compression, CDN upload и локализацию визуалов. Если начать со всех переменных сразу, отладка станет слишком дорогой.
Сделайте size частью контракта между контентом, дизайном и инженерией. Редактор видит, какой canvas будет создан. Инженер валидирует строку до вызова API. Дизайнер проверяет, не обрезал ли downstream инструмент важные зоны изображения.
hljs jsconst result = await client.images.generate({
model: "gpt-image-2",
prompt: "A precise product poster with clean Russian headline text.",
size: "3840x2160",
quality: "high"
});

Допустимые 4K и custom-размеры
Валидный custom size должен пройти несколько проверок. Длинная сторона не должна превышать 3840 пикселей. Ширина и высота должны быть кратны 16. Соотношение длинной и короткой стороны не должно быть больше 3:1. Общее число пикселей должно оставаться в разрешенном диапазоне.
3840x2160 и 2160x3840 удобны как базовые 4K-варианты, потому что они понятны команде и легко проверяются. 4096x2160 выглядит привычно для рынка 4K, но длинная сторона выходит за лимит GPT Image 2, поэтому его лучше не отправлять напрямую.
До вызова API полезно поставить локальный валидатор. Он экономит деньги, время очереди и нервы редакторов. Ошибка должна говорить, что именно не прошло: edge limit, multiple of 16, aspect ratio или pixel count. Иначе команда будет переписывать prompt вместо исправления параметра.
hljs jsfunction validSize(width, height) {
const pixels = width * height;
const longEdge = Math.max(width, height);
const shortEdge = Math.min(width, height);
return longEdge <= 3840 && width % 16 === 0 && height % 16 === 0 &&
longEdge / shortEdge <= 3 && pixels >= 655360 && pixels <= 8294400;
}
| Case | Use it? | Why | Check |
|---|---|---|---|
| 3840x2160 | yes | standard landscape 4K | verify decoded width and height |
| 2160x3840 | yes | portrait 4K within the same edge limit | confirm downstream crop rules |
| 4096x2160 | no | the long edge exceeds 3840 | use a valid 3840-edge size or upscale |
| 3840x1200 | depends | must satisfy aspect and total-pixel rules | check 3:1 ratio and pixel floor |
Image API для прямой 4K-генерации
Если продукту нужна одна картинка из одного запроса, начинайте с Image API. Этот маршрут меньше всего прячет: вы задаете prompt, size, quality, формат, получаете изображение и сохраняете его. Для команды это проще тестировать, документировать и повторять.
В production-логах храните prompt hash, модель, size, quality, output format, время ответа, статус ошибки и фактические пиксели сохраненного файла. Тогда спор о качестве не превращается в догадки: видно, какая именно конфигурация дала какой ассет.
На первом проходе не стоит одновременно тестировать high quality, reference image, edit mode, длинные тексты и нестандартное соотношение сторон. Сначала докажите, что 4K request сохраняется и измеряется корректно. После этого расширяйте матрицу тестов.
hljs jsimport fs from "node:fs";
const image = result.data[0];
fs.writeFileSync("gpt-image-2-4k.png", Buffer.from(image.b64_json, "base64"));

Responses API для agent и tool workflow
Responses API имеет смысл, когда картинка не является отдельной задачей. Например, пользователь описывает товар, модель уточняет позиционирование, генерирует hero image, затем возвращает текст для лендинга и список ограничений. В таком случае image generation становится инструментом внутри более длинного ответа.
Но multi-step маршрут не отменяет параметр размера. Tool call должен содержать конкретный size, а не только естественную просьбу на русском или английском. После tool result все равно нужно сохранить файл, измерить его и передать downstream-системам уже проверенный asset.
Разделите ошибки по слоям. Text reasoning мог выбрать плохой brief, image tool мог отказать, сохранение могло не записать файл, а frontend мог показать crop. Если лог не разделяет эти слои, команда будет менять модель вместо исправления конкретного участка workflow.
hljs jsconst response = await client.responses.create({
model: "gpt-5.4",
input: "Plan a launch banner, generate it, then explain production notes.",
tools: [{ type: "image_generation", model: "gpt-image-2", size: "3840x2160" }]
});
Quality, format и прозрачный фон
quality выбирайте по стадии работы. Low или medium подходят для быстрых композиционных тестов. High логичен для финального кандидата, но он может увеличить стоимость и latency. Не смешивайте сравнение качества с проверкой размера: сначала докажите, что файл имеет нужные пиксели.
Формат выбирайте по месту доставки. PNG хорош для дальнейшей обработки и аккуратного текста. JPEG или WebP могут быть уместнее для сайта, если важна скорость загрузки. После компрессии проверяйте не только вес файла, но и то, не сломались ли мелкий текст, линии интерфейса и логотипы.
GPT Image 2 не дает прозрачный background как прямую возможность модели. Если нужен transparent PNG, планируйте post-processing: segmentation, mask, design tool или отдельный background-removal step. Иначе команда будет ждать параметр, которого в этом маршруте нет.
Цену не описывайте как одну сумму за 4K. Влияют image input, image output, text input, quality, edits, retries и batch mode. Для production-сметы используйте текущие официальные данные и фактический счет после smoke test.
Нативный 4K или 2K-мастер с upscale
Нативный 4K выбирайте, когда сам размер является требованием контракта: баннер, постер, preview для печати, marketplace hero или asset, который дальше не должен масштабироваться. Этот путь короче, но каждый неудачный вариант дороже.
2K-мастер плюс upscale выбирайте, когда важнее выбрать лучшую композицию и стабильный текст. Сначала можно дешево перебрать несколько вариантов, затем один кандидат привести к 4K. Такой путь часто практичнее для изображений с UI, упаковкой, локализованными надписями и людьми.
Решение должно быть привязано к риску. Если главный риск - недостающие пиксели, просите нативный 4K. Если главный риск - плохая композиция, начните с 2K. Если главный риск - бюджет, разделите exploration и final render на разные лимиты.
| Production need | First route | Reason | Stop rule |
|---|---|---|---|
| Direct 4K file from one request | Image API | one generation call controls size directly | stop if decoded file is not requested size |
| Agent or multi-step app | Responses API image tool | image generation can sit beside text and tools | stop if tool result is not saved and measured |
| Large format from best-looking draft | 2K master plus upscale | often more controllable for text and fine detail | stop if upscaler changes text or layout |
| Unclear access or billing | small smoke test | org verification and cost vary by account | stop before batch spending |
Проверка сохраненного файла
Успешный API response еще не доказывает, что production asset готов. Сначала убедитесь, что файл записан, формат читается, ширина и высота совпадают с запросом, а downstream-пайплайн не заменил оригинал оптимизированной копией меньшего размера.
Автоматизируйте проверку. После генерации считайте metadata через sharp, sips, ImageMagick или библиотеку, которая уже используется в проекте. Запишите width, height, format и file size рядом с артефактом. Такой след сильно упрощает локализацию, CDN upload и future refresh.
Если файл не совпал, не начинайте с переписывания prompt. Сначала проверьте строку size, model access, organization verification, API error, save path и image optimizer. Большая часть 4K-сбоев находится не в творческой части запроса, а в контракте размера или post-processing.

Диагностика сбоев и неправильного размера
Invalid size обычно означает, что один из размерных критериев нарушен. Логируйте width, height, pixel count и aspect ratio до отправки. Для редактора сообщение 4096x2160 exceeds the 3840 edge limit полезнее, чем общий image generation failed.
Access error означает, что проблема может быть не в коде. Для GPT Image 2 может требоваться доступ модели или organization verification. Перед тем как сравнивать качество и стоимость, сделайте маленький smoke test в той же организации и тем же API key, который будет использовать production.
Wrong final size часто появляется после успешной генерации. CMS может создать preview, CDN может отдать responsive variant, frontend может показывать srcset, а дизайнер может экспортировать уменьшенную копию. Проверяйте original, uploaded original и public URL отдельно.
FAQ
Можно ли просто написать 4K в prompt?
Нет. Prompt помогает описать намерение, но пиксели контролирует size. После генерации нужно сохранить файл и проверить width/height.
Какие размеры лучше использовать первыми?
3840x2160 для landscape и 2160x3840 для portrait. Custom sizes используйте только после проверки edge limit, кратности 16, aspect ratio и pixel count.
Почему 4096x2160 не подходит?
Длинная сторона превышает 3840 пикселей. Для GPT Image 2 безопаснее запросить валидный 3840-edge размер или сделать upscale после генерации.
Image API или Responses API?
Image API проще для прямой генерации. Responses API нужен, когда изображение является частью agent, chat или multi-tool workflow.
Можно ли получить transparent background?
Не напрямую в GPT Image 2. Используйте post-processing, mask или отдельный background-removal step.
Что делать, если 4K-запрос нестабилен?
Проверьте размер, доступ модели и сохраненный файл. Если проблема остается, создайте 2K-мастер, выберите лучший вариант и upscale контролируемым инструментом.



