Руководство
Руководство по интеграции GPT Image 2.6 API: выбор между Flare и Sunburst, практика вывода GIF и SVG
От выбора ID модели до практического применения параметров генерации из текста и из изображения — за один раз разберём параметры кадров GIF и вывод SVG
На этой странице
Сначала примите три решения: линия, режим, формат вывода
Прежде чем писать первую строку запроса, определите эти три вещи — и потом не придётся многократно переписывать код.
Первое: линия — Flare или Sunburst. Без особых требований по умолчанию используйте Flare: генерация быстрее, подходит для быстрых итераций и пакетной генерации. Переключайтесь на Sunburst только тогда, когда нужно выполнять несколько раундов редактирования при качестве medium и выше и при этом важна согласованность персонажа/продукта/макета. Параметры, использование и цена у обеих линий полностью одинаковы, поэтому стоимость переключения — это лишь смена одного ID модели.
Второе: режим — генерация из текста или из изображения. Если отправная точка — промпт, это генерация из текста; если у вас уже есть 1–16 исходных изображений и вы хотите изменить их на их основе — это генерация из изображения. Обратите внимание, что диапазон доступных форматов вывода различается: gif и svg доступны только при генерации из текста, а генерация из изображения может выводить только png, jpeg, webp.
Третье: формат вывода — статичный, анимированный или векторный. По умолчанию png; если нужен прозрачный фон, используйте png или webp; если нужна анимация — gif; если нужен масштабируемый вектор — svg.
На уровне кода эти три решения сводятся к значениям двух полей: ID модели и output_format. Запишите их как константы — это гораздо удобнее, чем менять их по ходу отладки.
Четыре ID моделей и критерии выбора между Flare и Sunburst
ID модели складывается из двух частей — «линия + режим», всего четыре варианта:
-
gpt-image-2.6-flare/text-to-image -
gpt-image-2.6-flare/image-to-image -
gpt-image-2.6-sunburst/text-to-image -
gpt-image-2.6-sunburst/image-to-image
Схема именования очевидна: первая половина — линия, вторая — режим. Имена параметров, диапазоны значений и правила расчёта цены в теле запроса на обеих линиях полностью совпадают, поэтому можно обернуть всё в одну функцию и передавать линию как параметр.
Когда обязательно нужен Sunburst
Sunburst уделяет больше внимания деталям: при нескольких раундах редактирования в качестве medium и выше детали получаются более согласованными. Типичный сценарий — пошаговая тонкая настройка с фиксированным персонажем, фиксированным внешним видом продукта и фиксированным макетом. Если ваш процесс выглядит как «сначала сгенерировать, затем трижды исправить», выгода Sunburst проявится в последующих раундах.
Когда оставаться на Flare
Генерация одного изображения, массовая пакетная генерация, быстрая проверка эффекта промпта — в этих сценариях Flare быстрее, а значит, лучше. Поскольку цена у обеих линий полностью одинакова, выбор Flare не даёт никакого ценового проигрыша.
Практическая рекомендация: на этапе разработки используйте Flare, чтобы отработать параметры и форматы, а в продакшене переключайте линию для сценариев, требующих нескольких раундов редактирования. На странице модели можно сначала посмотреть описание полей для генерации из текста Flare и генерации из текста Sunburst.
Как заполнять ключевые параметры генерации из текста
У генерации из текста есть семь ключевых параметров; разберём значения и ограничения каждого.
quality и resolution
quality принимает low / medium / high / xhigh / max и определяет уровень детализации, а также является единственной основой расчёта цены для GIF. resolution принимает 1K / 2K / 4K, по умолчанию 1K. Эти два параметра вместе определяют цену за одно изображение и служат двумя рычагами управления затратами.
complexity
Принимает low / medium / high, по умолчанию high, обозначает уровень планирования. Он независим от quality: один управляет глубиной планирования композиции, другой — уровнем детализации изображения. Не меняйте complexity заодно только потому, что снизили quality: они не связаны.
aspect_ratio
Принимает auto или одно из 15 соотношений. Здесь есть правило, на котором легко ошибиться: при генерации GIF параметр aspect_ratio не передаётся или передаётся auto, поскольку соотношение GIF определяется frame_size, и конфликт между ними бессмыслен.
output_format и output_compression
output_format принимает png (по умолчанию) / jpeg / webp / gif / svg. output_compression принимает 0–100 и действует только для jpeg и webp; передача параметра сжатия для png не сработает так, как вы ожидаете.
background
Принимает auto / opaque / transparent. transparent должен использоваться вместе с png или webp; если нужен прозрачный фон, а выбран jpeg, придётся сменить формат.
Достаточно запомнить одно правило об этих ограничениях: формат, в свою очередь, ограничивает другие параметры — gif жёстко задаёт источник соотношения сторон, сжатие действует только для jpeg/webp, transparent поддерживается только для png/webp.
Вывод GIF: frame_size, количество кадров и пределы размеров
GIF можно получить только при генерации из текста, а параметры сосредоточены на кадрах.
frame_size
Ширина и высота каждого кадра в пикселях, записывается в форме «ширинаxвысота», например 512x512; обе стороны должны быть кратны 16, по умолчанию 512x512. Он же определяет общее соотношение сторон GIF, поэтому в этом случае не передавайте aspect_ratio. Обратите внимание: запись в виде соотношения, например 1:1, не принимается — нужны именно пиксельные значения.
frame_count и frame_duration_ms
frame_count принимает 2–16, по умолчанию 9. Есть ограничение, связанное с размером: 768x768 — максимум 12 кадров. frame_duration_ms не меньше 20, по умолчанию 200, округляется до 10 мс.
Три жёстких предела
Общая мозаика GIF также должна удовлетворять условиям: каждая сторона не более 3840, общее число пикселей не более 8 294 400, соотношение сторон не более 3:1. При превышении запрос будет отклонён уже на этапе отправки и не будет тарифицироваться, поэтому такие ошибки не приносят затрат, но тратят ваше время на отладку.
Минимальное рабочее тело запроса GIF:
{
"model": "gpt-image-2.6-flare/text-to-image",
"prompt": "a bouncing paper plane on white",
"output_format": "gif",
"frame_size": "512x512",
"frame_count": 9,
"frame_duration_ms": 200,
"quality": "medium"
}
Чтобы получить 13–16 кадров, используйте frame_size 512x512 или меньше; для 768x768 — максимум 12 кадров.
Как использовать вывод SVG и как рассчитывается цена
SVG также доступен только при генерации из текста; генерация из изображения этот формат не принимает. При использовании достаточно установить output_format в svg, остальные параметры заполняются как при обычной генерации из текста; если нужен прозрачный background, по-прежнему учитывайте правило сочетания форматов.
Правила расчёта цены
SVG рассчитывается как цена PNG того же уровня плюс $0.030. Например, PNG уровня low 1K стоит $0.023, SVG того же уровня — $0.053; PNG уровня high 2K стоит $0.090, SVG — $0.120. Чем выше уровень, тем дороже SVG, но добавляемые $0.030 не меняются.
Рекомендации по использованию
SVG подходит для целей, требующих масштабирования без потерь: логотипов, иконок, схем. Если ваш последующий конвейер в конечном итоге всё равно работает с растровыми изображениями, проще сразу использовать png — доплата за вектор не принесёт выгоды.
Генерация из изображения: исходные изображения, маска и аннотированное изображение — только одно из двух
На вход генерации из изображения подаются 1–16 исходных изображений в форматах jpeg / png / webp; вывод — только png / jpeg / webp.
mask_url и markup_url — только одно из двух
-
mask_url: RGBA PNG того же размера, что и первое исходное изображение, где прозрачные пиксели обозначают область, которую нужно изменить. -
markup_url: прозрачный PNG-аннотация, на котором обводится место, которое нужно изменить; сама аннотация не появляется в результате генерации.
Эти параметры взаимоисключающие: при передаче обоих запрос будет отклонён. Логика выбора проста: если нужно, чтобы система точно изменила только определённые пиксели, используйте маску; если нужно лишь указать «примерно это место» и не хочется ограничивать жёсткими границами, используйте аннотированное изображение.
Изменения возможны и вне маски
При использовании mask_url будьте готовы к тому, что области вне маски также могут незначительно меняться. Если ваш бизнес-сценарий требует попиксельной неизменности невыделенных областей, на пути генерации из изображения это не гарантируется — следует обрабатывать это самостоятельно на этапе композитинга.
Тарификация
Генерация из изображения использует ту же таблицу цен, что и генерация из текста, плюс $0.012 за каждое исходное изображение. Для low 1K с одним изображением — $0.035, с 16 изображениями — $0.215. Передавайте только действительно необходимые исходные изображения.
Пример тела запроса:
{
"model": "gpt-image-2.6-flare/image-to-image",
"prompt": "change the background to warm sunset",
"image_urls": ["https://your-cdn/source.png"],
"mask_url": "https://your-cdn/mask.png",
"output_format": "png"
}
Подробности о полях можно сверить на странице генерации из изображения Flare.
Оценка стоимости: расчёт цены за одно изображение по уровню качества и размеру
Сначала запомните три правила расчёта цены:
-
Генерация из текста (png/jpeg/webp): цена за одно изображение определяется совместно
qualityиresolution. -
SVG: цена PNG того же уровня плюс $0.030.
-
GIF: рассчитывается только по
quality, независимо от разрешения: low $0.070, medium $0.124, high $0.150, xhigh $0.266, max $0.598. -
Генерация из изображения: цена по той же таблице, плюс $0.012 за каждое исходное изображение.
Как оценить одно изображение
Четыре шага: определить режим (генерация из текста или из изображения) → определить формат (для gif учитывается только качество, для svg добавляется $0.030, для остальных — качество × разрешение) → найти цену соответствующего уровня → для генерации из изображения добавить $0.012 × количество исходных изображений. Часто используемые уровни генерации из текста: low 1K $0.023, medium 1K $0.041, high 1K $0.049, high 2K $0.090, high 4K $0.160.
В каких случаях плата не взимается
Запросы, отклонённые на этапе отправки, возвращаются в полном объёме без списания средств. Это касается недопустимых параметров (например, background=transparent вместе с jpeg, передача aspect_ratio для gif) и превышения размеров GIF. Это означает, что ошибки валидации параметров не сжигают деньги, но замедляют итерации; рекомендуется сначала выполнять проверку на стороне клиента.
Все 15 уровней см. на странице цен. Чтобы сравнить способ расчёта цены предыдущего поколения, можно посмотреть генерацию из текста GPT Image 2.5 Flare.
Итог в одной фразе: по умолчанию Flare + генерация из текста + png, при необходимости нескольких раундов редактирования переключайтесь на Sunburst, а когда нужна анимация или вектор — меняйте output_format.
Похожие статьи
Все статьи →-
Руководство
GPT Image 2.6 на практике: пиксельная GIF-анимация, SVG-векторный логотип и локальные правки через mask_url
Три готовые к копированию конфигурации параметров: число кадров и frame_size для GIF, вывод и тарификация SVG, локальные правки через mask_url
-
Руководство
Примеры Recraft Creative Upscale: увеличение пейзажей и акварели
Посмотрите изменения текстур деревянного дома, озера и акварельного городка, отличите полный результат от предпросмотра и проверьте перерисованные детали.
-
Руководство
Недействительный ключ OpenAI API: 401, переменные окружения и проверка конфигурации проекта
Различайте OpenAI 401, 403 и 429, проверяйте переменные окружения, настройки организации и проекта, а также проверяйте учётные данные запросом только на чтение.