Создавайте с CometAPIНужен один API для нескольких моделей?Протестируйте рабочий процесс в Playground, затем создайте API-ключ, когда модель и стоимость подойдут для вашего сценария.
Как использовать GPT Image 2.6 API: генерация SVG и редактирование изображений - CometAPI
Как использовать GPT Image 2.6 API: генерация SVG и редактирование изображений
Изучите рабочие процессы API GPT Image 2.6 с помощью CometAPI: генерация SVG, прозрачные PNG, редактирование нескольких изображений, разметка, параметры, цены и миграция.
Deon GoodwinКоманда исследователей AI-моделей и API
GPT Image 2.6 API в CometAPI предоставляет разработчикам практичный путь к генерации и редактированию изображений с двумя вариантами: Sunburst и Flare.
Создавайте графические ассеты с помощью Python и ключа CometAPI: начните с растрового запроса, затем добавьте вывод в SVG, опорные изображения или прозрачный PNG-слой аннотации, когда ваш маршрут это поддерживает. Примеры используют Python 3.10 или более новый и хранят API-ключ на вашем сервере.
Главное различие: прозрачный PNG на выходе — это готовый ассет; прозрачный PNG-файл разметки — это вход, указывающий модели, где редактировать.
Key Takeaways
Используйте GPT Image 2.6 Flare для быстрых черновиков, а Sunburst — для детальных правок.
Отправляйте запросы на генерацию и запросы на редактирование на соответствующие эндпоинты Image API.
Проверено на ясность, указание источников и актуальную терминологию API.
Используйте SVG для векторных ассетов и прозрачный PNG для растровых вырезов.
Держите разметку отдельно от исходного изображения и сопоставляйте их размеры с учётом ориентации.
Подтверждайте поддержку маршрута, прежде чем включать расширенные поля в приложении.
What Is the GPT Image 2.6 API?
OpenAI представила GPT Image 2.6 4 ноября 2026 года. Семейство моделей принимает текст и изображения для визуального создания и правок.
Оба варианта ориентированы на рабочий процесс, но их приоритеты различаются.
Спецификация
Sunburst
Flare
Идентификатор API
gpt-image-2.6-sunburst
gpt-image-2.6-flare
Основной фокус
Детальная визуальная работа
Быстрая итерация
Входные данные
Текст и изображения
Текст и изображения
Выходные данные
Изображения
Изображения
Практическая отправная точка
Финальные ассеты и аккуратные правки
Черновики и интерактивное редактирование
Поддержка аудио
Нет
Нет
What Parameters Does the GPT Image 2.6 API Support?
Начните с небольшой и явной конфигурации.
Параметр
Запрос на генерацию
Практическое применение
model
Явный идентификатор варианта
Сохраняйте воспроизводимость выбора модели
prompt
Текстовые инструкции
Описывайте ассет и ограничения
quality
Начните с low, medium или high
Регулируйте качество рендеринга
complexity
low, medium или high
Регулируйте объём планирования
size
Например, 1024x1024
Фиксируйте размеры для сравнения
n
Сначала используйте 1
Упростите тестирование и оценку затрат
output_format
PNG, JPEG, WebP, SVG или GIF, в зависимости от эндпоинта
Соответствуйте целевому формату ассета
background
auto, opaque или transparent
Управляйте поведением фона в растре
Для правок запрос также передаёт исходные изображения. Схема image-edit поддерживает до 16 опорных изображений.
Оставьте complexity по умолчанию для первой генерации. Для прицельной правки, такой как перекраска одного объекта, начните с low и проверьте, что окружающие детали остались неизменными.
How Do You Use GPT Image 2.6 API with CometAPI?
Следуйте руководству по настройке CometAPI, чтобы создать ключ, затем сохраните его в переменной окружения ниже. Для примеров редактирования вам также понадобятся локальные PNG-исходники.
Примеры используют requests для Python, чтобы прямо показать тела JSON и multipart-запросов.
Эти примеры используют формат запросов OpenAI Image API через CometAPI. Перед запуском убедитесь, что выбранный маршрут CometAPI поддерживает модель и поля, используемые в примере.
Install the dependencies
pip install requests pillow
Установите ключ в оболочке:
export COMETAPI_KEY="YOUR_COMETAPI_KEY"
Пользователи PowerShell могут использовать:
$env:COMETAPI_KEY = "YOUR_COMETAPI_KEY"
Create shared request helpers
Сохраните общие вспомогательные функции как image_workflows.py. Поместите каждый пример рабочего процесса в отдельный скрипт и импортируйте нужные помощники. Запускайте только тот рабочий процесс, который хотите протестировать.
Этот помощник вызывает ошибку при неуспешном HTTP-ответе или некорректных данных base64. Он ожидает data[0].b64_json; если ваш маршрут возвращает другую структуру, изучите ответ перед изменением функции сохранения.
Храните возвращённую запись о расходах вместе с выходными данными. Если запрос завершился по тайм-ауту, проверьте его статус или запись биллинга перед повторной отправкой: тайм-аут не означает, что генерация не удалась.
Generate a first image
Запустите этот вызов после общих помощников, чтобы сгенерировать единичное изображение продукта и сохранить его как cup.png.
Для последующих примеров редактирования сделайте копию cup.png под именем product.png в той же рабочей директории. Оставьте cup.png неизменённым как оригинал. Вместо этого вы можете использовать собственную фотографию продукта, сохранённую как product.png.
Подготовьте setting.png отдельно: используйте PNG-фотографию фона или окружения, где вы хотите разместить чашку, с достаточным свободным пространством для продукта. Используйте изображение, которое вам разрешено загружать. Сохраните его рядом с product.png; запрос с несколькими ссылками использует его для окружения, а не как вторую ссылку на продукт.
generate(
prompt=(
"Create a studio product photograph of an unbranded teal "
"ceramic travel cup on a warm cream background. "
"Show one cup, a clean silhouette, and a soft contact shadow. "
"No text or decorative objects."
),
destination="cup.png",
output_format="png",
)
Проверьте результат по краткому чек-листу приёмки: одна чашка, правильный цвет, чистый силуэт и отсутствие лишних объектов.
How Do You Generate SVG with GPT Image 2.6?
Используйте вывод SVG для редактируемых векторных ассетов. Запросите его через эндпоинт генерации с n=1, затем декодируйте ответ в файл .svg. Вывод SVG не поддерживает потоковую передачу.
generate(
prompt=(
"Design an original minimalist icon of a teal travel cup "
"with a small leaf motif. Use simple closed vector shapes, "
"two flat colors, and generous negative space. "
"No text, gradients, photographs, or background scenery."
),
destination="cup-icon.svg",
output_format="svg",
)
Полезная проверка принятия SVG выходит за рамки простого открытия файла:
Проверьте XML перед встраиванием внешнего SVG в приложение.
Не отправляйте SVG обратно как вход для растрового редактирования. Держите векторные правки и растровые рабочие процессы раздельно.
How Do You Create Transparent PNG Assets with GPT Image 2.6?
Для вырезки запросите PNG на выходе и прозрачный фон. Официальный пример transparent-logo также подчёркивает чистые края альфа-канала и отсутствие нарисованного шахматного фона.
generate(
prompt=(
"Create a single teal ceramic travel cup as an isolated "
"e-commerce asset. Center the entire cup with generous padding. "
"Keep clean edges and a fully transparent background. "
"No floor, backdrop, checkerboard pattern, or text."
),
destination="cup-transparent.png",
output_format="png",
background="transparent",
)
Проверьте фактическую прозрачность:
from PIL import Image
with Image.open("cup-transparent.png") as image:
alpha = image.convert("RGBA").getchannel("A")
minimum, maximum = alpha.getextrema()
if minimum == 255:
raise RuntimeError("The output contains no transparent pixels.")
if maximum == 0:
raise RuntimeError("The output is entirely transparent.")
print("The output contains visible content and transparency.")
Это выявляет непрозрачное изображение, выдаваемое за вырезку. Оно не оценивает качество краёв; оцените ассет на светлом и тёмном фоне.
How Do You Edit Images with Multiple GPT Image 2.6 References?
Назначьте каждой ссылке конкретную роль. В этом примере первое изображение передаёт идентичность продукта, второе — желаемое окружение.
with (
open("product.png", "rb") as product,
open("setting.png", "rb") as setting,
):
response = requests.post(
f"{BASE_URL}/images/edits",
headers=HEADERS,
data={
"model": "gpt-image-2.6-sunburst",
"prompt": (
"Use the cup in the first image as the exact product "
"reference. Use the second image only for the setting. "
"Place the cup naturally in that setting. Preserve its "
"silhouette, lid, color, and printed details. "
"Do not copy other products from the second image."
),
"quality": "high",
"complexity": "medium",
"output_format": "png",
},
files=[
("image[]", ("product.png", product, "image/png")),
("image[]", ("setting.png", setting, "image/png")),
],
timeout=(15, 300),
)
save_result(response, "product-in-setting.png")
Пример с multipart использует image[]. JSON-запросы на правку используют массив images; не смешивайте эти кодировки.
Для повторяемых тестов сохраняйте фиксированный порядок ссылок. Сравнивайте исходный продукт и результат на полном разрешении, особенно ручки, этикетки, края и отражения.
How Does Transparent PNG Markup Work in GPT Image 2.6?
Разметка — это слой аннотации. Нарисуйте круг или другую визуальную подсказку на отдельном прозрачном PNG, затем отправьте этот файл вместе с оригинальным изображением.
Рабочий процесс разметки применяет аннотации к первому входному изображению. Оверлей должен соответствовать его размерам с учётом ориентации, содержать прозрачные пиксели и оставаться отдельным от оригинала. Не комбинируйте markup с mask или prompt_rewriter.
Официальная демонстрация показывает отмеченную вазу:
Полученная правка меняет вазу:
Это официальные демонстрационные изображения, а не результаты из приведённого ниже кода.
Prepare an annotation layer
Прямоугольник ниже задаёт эллипс аннотации. Подгоните координаты, чтобы охватить объект, который вы хотите отредактировать, затем проверьте оверлей перед отправкой.
with (
open("product-oriented.png", "rb") as source,
open("markup.png", "rb") as markup,
):
response = requests.post(
f"{BASE_URL}/images/edits",
headers=HEADERS,
data={
"model": MODEL,
"prompt": (
"Change the body of the cup inside the red circle "
"to matte cobalt blue. Preserve the lid, shape, "
"lighting, and surrounding scene. "
"Remove the annotation from the finished image."
),
"quality": "medium",
"complexity": "low",
"output_format": "png",
},
files={
"image": ("product.png", source, "image/png"),
"markup": ("markup.png", markup, "image/png"),
},
timeout=(15, 300),
)
save_result(response, "cup-edited.png")
Ключевое решение — указать и требуемое изменение, и детали, которые нужно сохранить. Аннотация определяет цель; текст определяет операцию.
GPT Image 2.6 API Pricing: Token Rates and SVG Costs
Оба варианта имеют следующие опубликованные тарифы OpenAI по токенам.
Категория токенов
Тариф Sunburst за 1M токенов
Тариф Flare за 1M токенов
Текст на входе
$5.00
$5.00
Кэшированный текст
$1.25
$1.25
Изображение на входе
$8.00
$8.00
Кэшированное изображение
$2.00
$2.00
Изображение на выходе
$30.00
$30.00
Это тарифы OpenAI, а не подтверждённая квота CometAPI.
Например, растровый запрос с 1 000 текстовых токенов на входе, без токенов изображения на входе и 2 000 токенов изображения на выходе обойдётся в $0.065.
Для GPT Image 2.6 API в CometAPI используйте цену, указанную для выбранного маршрута, и проверяйте списание, зафиксированное для вашего запроса. Приведённые выше тарифы OpenAI — это справочный расчёт, а не квота CometAPI.
Полезная бизнес-метрика:
Cost per accepted asset =
total workflow spending ÷ number of approved assets
Включайте отклонённые генерации и раунды правок в числитель.
How Do You Migrate an Existing Image Workflow to GPT Image 2.6?
Если вы уже используете GPT Image 2.5, сначала обновите идентификатор модели и оставьте эндпоинт и обработку ответа явными. Добавляйте дополнительные форматы вывода только после успешного базового запроса.
Задайте model="gpt-image-2.6-flare" или model="gpt-image-2.6-sunburst" вместо использования модели по умолчанию. Сохраните ваши текущие входные файлы и prompt, проверяя первый ответ.
Для SVG используйте эндпоинт генерации, сохраните декодированные байты с расширением .svg и исключите потоковую передачу. Для растровых правок оставляйте исходные изображения в запросе на правку. Добавляйте markup только после подготовки отдельного прозрачного оверлея.
Обновите также слой обслуживания файлов: SVG-ассет и PNG-ассет требуют разных типов медиа. Сохраните оригинальный источник и утверждённые правки. Начинайте каждую новую правку с версии, содержащей изменения, которые вы хотите сохранить.
Conclusion
Начните с примера продуктового изображения, затем выберите рабочий процесс, соответствующий вашему выходу: SVG для редактируемой векторной графики, прозрачный PNG для вырезов, опорные изображения для объединения визуальных входов или разметку для прицельных изменений. Сравнивайте Flare и Sunburst с одинаковыми prompt и настройками и отслеживайте стоимость за принятый ассет.
FAQ
How should I handle a GPT Image 2.6 request timeout?
Тайм-аут может произойти, пока сервер всё ещё обрабатывает запрос. Сохраните идентификатор запроса и проверьте журнал запросов у провайдера перед повторной отправкой, чтобы избежать дублирования работы и списаний.
Why does my application fail to save the returned image?
Помощник ожидает JSON-ответ, содержащий data[0].b64_json. Сначала проверьте HTTP-статус и структуру ответа. Если ваш маршрут возвращает URL изображения, реализуйте предписанный поток загрузки URL, а не передавайте этот URL декодеру base64. Сохраняйте расширение файла в соответствии с запрошенным форматом.
How can I keep edit files from being overwritten?
Сохраняйте исходник, оверлей и каждый выход под отдельными именами. Например, используйте product-source.png, product-markup.png и product-edit-01.png. Храните prompt рядом с результатом. Это позволит вернуться к конкретной правке без потери оригинала или случайной загрузки аннотированного предпросмотра как источника.
What should I check before embedding a generated SVG?
Откройте ассет в целевом рендерере и проверьте его XML вашими стандартными инструментами валидации SVG. Проверьте размеры, обтравку, пути и любой текст перед публикацией. Примените политику санитизации SVG вашего приложения, отдавайте с корректным типом медиа и убедитесь, что он остаётся разборчивым при минимальном размере, используемом в интерфейсе.