Формат изображения OpenAI (изображение)
Официальная документация
📝 Введение
Учитывая текстовую подсказку и/или входное изображение, модель будет генерировать новые изображения. OpenAI предоставляет множество мощных моделей генерации изображений, которые могут создавать, редактировать и изменять изображения на основе описаний на естественном языке. В настоящее время поддерживаются следующие модели:
| Модель | Описание |
|---|---|
| Серия DALL·E | Включает две версии, DALL·E 2 и DALL·E 3, которые существенно отличаются по качеству изображения, творческому самовыражению и точности |
| GPT-изображение-1 | Последняя модель изображений OpenAI поддерживает функции редактирования нескольких изображений и может создавать новые комбинированные изображения на основе нескольких входных изображений |
💡 Пример запроса
Создать образ ✅
# Базовое создание изображений
curl https://88api.ai/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "dall-e-3",
"prompt": "Милая маленькая морская выдра",
"n": 1,
"size": "1024x1024"
}'
# Генерация изображений высокого качества
curl https://88api.ai/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "dall-e-3",
"prompt": "Милая маленькая морская выдра",
"quality": "hd",
"style": "vivid",
"size": "1024x1024"
}'
# Использовать формат возврата base64
curl https://88api.ai/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "dall-e-3",
"prompt": "Милая маленькая морская выдра",
"response_format": "b64_json"
}'Пример ответа:
{
"created": 1589478378,
"data": [
{
"url": "https://...",
"revised_prompt": "Милая маленькая морская выдра играет в воде,У него круглые глаза и пушистый мех."
}
]
}Редактировать фотографии ✅
# редактирование изображений dall-e-2
curl https://88api.ai/v1/images/edits \
-H "Authorization: Bearer $API_KEY" \
-F image="@otter.png" \
-F mask="@mask.png" \
-F prompt="Милая маленькая калан в берете" \
-F n=2 \
-F size="1024x1024"
# gpt-image-1 Пример редактирования нескольких изображений
curl https://88api.ai/v1/images/edits \
-H "Authorization: Bearer $API_KEY" \
-F "model=gpt-image-1" \
-F "image[]=@body-lotion.png" \
-F "image[]=@bath-bomb.png" \
-F "image[]=@incense-kit.png" \
-F "image[]=@soap.png" \
-F "prompt=Создайте красивую подарочную корзину из этих четырех предметов." \
-F "quality=high"Пример ответа (dall-e-2):
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}Пример ответа (gpt-image-1):
{
"created": 1713833628,
"data": [
{
"b64_json": "..."
}
],
"usage": {
"total_tokens": 100,
"input_tokens": 50,
"output_tokens": 50,
"input_tokens_details": {
"text_tokens": 10,
"image_tokens": 40
}
}
}Генерируйте варианты изображений ✅
curl https://88api.ai/v1/images/variations \
-H "Authorization: Bearer $API_KEY" \
-F image="@otter.png" \
-F n=2 \
-F size="1024x1024"Пример ответа:
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}📮 Запрос
Конечная точка
Создать изображение
POST /v1/images/generationsСоздавайте изображения на основе текстовых подсказок.
Редактировать изображения
POST /v1/images/editsСоздайте отредактированное или расширенное изображение на основе одного или нескольких исходных изображений и подсказок. Эта конечная точка поддерживает модели dall-e-2 и gpt-image-1.
Генерация вариантов
POST /v1/images/variationsСоздайте вариацию заданного изображения.
Метод аутентификации
Включите в заголовок запроса для аутентификации ключа API следующее:
Authorization: Bearer $API_KEYГде $OPENAI_API_KEY — ваш ключ API.
Параметры тела запроса
Создать изображение
$OPENAI_API_KEY
- Тип: строка
- Требуется: Да
- Описание: Ожидается создание текстового описания изображения.
- максимальная длина dall-e-2 составляет 1000 символов.
- dall-e-3 имеет максимальную длину 4000 символов.
- Советы:
- Используйте конкретные и подробные описания.
- Включите ключевые визуальные элементы.
- Укажите желаемый художественный стиль
- Опишите композицию и перспективу.
$OPENAI_API_KEY
- Тип: строка
- Требуется: Нет -По умолчанию: дал-е-2
- Описание: Модель, используемая для создания изображений.
$OPENAI_API_KEY
- Тип: целое число или ноль.
- Требуется: Нет
- Значение по умолчанию: 1
- Описание: количество изображений, которые нужно сгенерировать. Должно быть от 1 до 10. dall-e-3 поддерживает только n=1.
$OPENAI_API_KEY
- Тип: строка
- Требуется: Нет -Значение по умолчанию: стандартное
- Описание: Качество создаваемого изображения. Опция hd обеспечивает более детальное и последовательное изображение. Этот параметр поддерживается только dall-e-3.
$OPENAI_API_KEY
- тип: строка или ноль
- Требуется: Нет -Значение по умолчанию: URL-адрес
- Описание: Возвращает формат сгенерированного изображения. Должен быть один из URL или b64_json. URL-адрес действителен в течение 60 минут после создания.
$OPENAI_API_KEY
- тип: строка или ноль
- Требуется: Нет -По умолчанию: 1024x1024.
- Описание: Размер создаваемого изображения. dall-e-2 должен иметь одно из следующих разрешений: 256 x 256, 512 x 512 или 1024 x 1024. dall-e-3 должен иметь одно из следующих разрешений: 1024x1024, 1792x1024 или 1024x1792.
$OPENAI_API_KEY
- тип: строка или ноль
- Требуется: Нет -По умолчанию: яркий
- Описание: Создайте стиль изображения. Должен быть одним из ярких или естественных. Яркий имеет тенденцию создавать сюрреалистические и драматические изображения, а естественный имеет тенденцию создавать более естественные, менее сюрреалистические изображения. Этот параметр поддерживается только dall-e-3.
$OPENAI_API_KEY
- Тип: строка
- Требуется: Нет
- Описание: уникальный идентификатор, который представляет конечного пользователя и помогает OpenAI отслеживать и обнаруживать злоупотребления.
Редактировать изображения
$OPENAI_API_KEY
- Тип: файл или массив файлов.
- Требуется: Да
- Описание: Изображение для редактирования.
- Для dall-e-2: должен быть действительный файл PNG размером менее 4 МБ и квадратной формы. Если маска не указана, изображение должно иметь прозрачность, которая будет использоваться в качестве маски.
- Для gpt-image-1: несколько изображений могут быть предоставлены в виде массива, каждое изображение должно быть файлом PNG, WEBP или JPG размером менее 25 МБ.
prompt
- Тип: строка
- Требуется: Да
- Описание: Ожидается создание текстового описания изображения.
- максимальная длина dall-e-2 составляет 1000 символов.
- gpt-image-1 имеет максимальную длину 32000 символов.
prompt
- Тип: Файл
- Требуется: Нет
- Описание: дополнительное изображение с полностью прозрачными областями (например, с нулевым альфа-каналом), указывающими, где следует внести изменения. Если предоставлено несколько изображений, маска будет применена к первому изображению. Должен быть действительным файлом PNG размером менее 4 МБ и иметь те же размеры, что и изображение.
prompt
- Тип: строка
- Требуется: Нет -По умолчанию: дал-е-2
- Описание: Модель, используемая для создания изображений. Поддерживает dall-e-2 и gpt-image-1. По умолчанию используется dall-e-2, если не используются специальные параметры gpt-image-1.
prompt
- тип: строка или ноль
- Требуется: Нет -По умолчанию: авто
- Описание: Качество создаваемого изображения.
- gpt-image-1 поддерживает высокий, средний и низкий уровень
- dall-e-2 поддерживает только стандарт
- По умолчанию — автоматический
prompt
- тип: строка или ноль
- Требуется: Нет -По умолчанию: 1024x1024.
- Описание: Размер создаваемого изображения.
- gpt-image-1 должен иметь одно из следующих значений: 1024x1024, 1536x1024 (по горизонтали), 1024x1536 (книжная ориентация) или авто (по умолчанию).
- dall-e-2 должен иметь одно из следующих разрешений: 256 x 256, 512 x 512 или 1024 x 1024.
Остальные параметры такие же, как при создании интерфейса изображения.
Генерация вариантов
prompt
- Тип: Файл
- Требуется: Да
- Описание: Изображение, на котором основан вариант. Должен быть действительный файл PNG размером менее 4 МБ и квадратной формы.
Остальные параметры такие же, как при создании интерфейса изображения.
📥 Ответ
Успешный ответ
Все три конечные точки возвращают ответ, содержащий список объектов изображения.
prompt
- Тип: целое число
- Описание: временная метка создания ответа.
prompt
- Тип: массив
- Описание: сгенерированный список объектов изображения.
prompt (только gpt-image-1)
- Тип: Объект
- Описание: использование токена для вызовов API.
prompt: общее количество использованных токенов.prompt: введите количество используемых токенов.
output_tokens: выводит количество использованных токенов.output_tokens: введите данные токена (текстовый токен и токен изображения).
Объект изображения
output_tokens
- Тип: строка
- Описание: если формат ответа — b64_json, он содержит JSON сгенерированного изображения в кодировке Base64.
output_tokens
- Тип: строка
- Описание: если формат ответа — URL (по умолчанию), он содержит URL-адрес сгенерированного изображения.
output_tokens
- Тип: строка
- Описание: содержит измененное приглашение, используемое для создания изображения, если в приглашении есть какие-либо изменения.
Пример объекта изображения:
{
"url": "https://...",
"revised_prompt": "Милая маленькая морская выдра играет в воде,У него круглые глаза и пушистый мех."
}🌟 Лучшие практики
Подскажите предложения по написанию
- Используйте четкие и конкретные описания
- Укажите важные визуальные детали
- Опишите желаемый художественный стиль и атмосферу.
- Обратите внимание на описание композиции и перспективы.
Рекомендации по выбору параметров
-
Выбор модели
- dall-e-3: подходит для сцен, требующих высокого качества и точных деталей.
- dall-e-2: подходит для быстрого прототипирования или простой генерации изображений.
-
Выбор размера
- 1024x1024: лучший выбор для общих сценариев.
- 1792x1024/1024x1792: подходит для горизонтальных/вертикальных сцен.
- Меньший размер: подходит для миниатюр или быстрого предварительного просмотра.
-
Качество и стиль.
- качество=hd: для изображений, требующих мелкой детализации.
- style=vivid: подходит для творческих и художественных эффектов.
- style=natural: подходит для воспроизведения реальных сцен.
Часто задаваемые вопросы
-
Не удалось создать изображение. – Проверьте, соответствует ли запрос политике в отношении контента.
- Подтвердите формат файла и ограничения на размер.
- Проверьте разрешения ключа API.
-
Результаты не такие, как ожидалось
- Оптимизировать быстрое описание
- Настройте параметры качества и стиля – Рассмотрите возможность использования функций редактирования или морфинга изображений.