Изображения
Предоставленный текст или изображение, модель будет создавать новое изображение. Связанное руководство: генерация изображений.
Создание изображения
Метод: POST
shell
https://api.openai.com/v1/images/generations`
Создает изображение по указанному запросу.
Тело запроса
Параметр | Описание | Требуемость |
---|---|---|
prompt | Текстовое описание желаемого изображения(-ий). Максимальная длина – 1000 символов для dall-e-2 и 4000 символов для dall-e-3 . | Required |
model | Модель, используемая для генерации изображений. По умолчанию используется dall-e-2 . | Optional |
n | Количество создаваемых изображений. Значение должно быть от 1 до 10. Для dall-e-3 поддерживается только n=1 . | Optional |
quality | Качество создаваемого изображения. hd создает изображения с более тонкими деталями. Этот параметр поддерживается только для dall-e-3 . | Optional |
response_format | Формат возвращаемых изображений. Должен быть url или b64_json . URL действителен 60 минут. | Optional |
size | Размер создаваемых изображений. Для dall-e-2 значения: 256x256 , 512x512 , 1024x1024 . Для моделей dall-e-3 : 1024x1024 , 1792x1024 , 1024x1792 . | Optional |
style | Стиль создаваемых изображений. Может быть vivid или natural . Этот параметр поддерживается только для dall-e-3 . | Optional |
user | Уникальный идентификатор, представляющий вашего конечного пользователя. | Optional |
Возвращает
Список объектов изображений.
Примеры запросов и ответов
shell
curl https://api.openai.com/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "dall-e-3",
"prompt": "Милый детеныш морской выдры",
"n": 1,
"size": "1024x1024"
}'
python
from openai import OpenAI
client = OpenAI()
client.images.generate(
model="dall-e-3",
prompt="Милый детеныш морской выдры",
n=1,
size="1024x1024"
)
javascript
import OpenAI from "openai";
const openai = new OpenAI();
async function main() {
const image = await openai.images.generate({ model: "dall-e-3", prompt: "Милый детеныш морской выдры" });
console.log(image.data);
}
main();
Ответ
json
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}
Создание редактированного изображения
Метод: POST
shell
https://api.openai.com/v1/images/edits
Создает отредактированное изображение, используя оригинальное изображение и запрос.
Тело запроса
Параметр | Описание | Требуемость |
---|---|---|
image | Изображение для редактирования. Должно быть PNG файлом менее 4MB и квадратным. Если маска не указана, изображение должно иметь прозрачные области. | Required |
prompt | Текстовое описание желаемого изображения(-ий). Максимальная длина — 1000 символов. | Required |
mask | Дополнительное изображение, указывающее, где следует редактировать исходное изображение. Должно быть PNG файлом. | Optional |
model | Модель для генерации изображений. На данный момент поддерживается только dall-e-2 . | Optional |
n | Количество создаваемых изображений. Значение должно быть от 1 до 10. | Optional |
size | Размер создаваемых изображений. Варианты: 256x256 , 512x512 , 1024x1024 . | Optional |
response_format | Формат возвращаемых изображений. Должен быть url или b64_json . URL действует 60 минут. | Optional |
user | Уникальный идентификатор пользователя. | Optional |
Возвращает
Список объектов изображений.
Примеры запросов и ответов
shell
### Пример curl-запроса
curl https://api.openai.com/v1/images/edits \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F image="@otter.png" \
-F mask="@mask.png" \
-F prompt="Милый детеныш морской выдры в берете" \
-F n=2 \
-F size="1024x1024"
python
### Запрос на Python
from openai import OpenAI
client = OpenAI()
client.images.edit(
image=open("otter.png", "rb"),
mask=open("mask.png", "rb"),
prompt="Милый детеныш морской выдры в берете",
n=2,
size="1024x1024"
)
javascript
### Запрос на JavaScript
import fs from "fs";
import OpenAI from "openai";
const openai = new OpenAI();
async function main() {
const image = await openai.images.edit({
image: fs.createReadStream("otter.png"),
mask: fs.createReadStream("mask.png"),
prompt: "Милый детеныш морской выдры в берете",
});
console.log(image.data);
}
main();
Ответ
json
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}
Создание вариации изображения
Метод: POST
shell
https://api.openai.com/v1/images/variation
Создает вариацию на основе указанного изображения.
Тело запроса
Параметр | Описание | Требуемость |
---|---|---|
image | Основание для вариации. Должно быть PNG файлом менее 4MB и квадратным. | Required |
model | Модель для генерации изображений. На данный момент поддерживается только dall-e-2 . | Optional |
n | Количество создаваемых изображений. Значение должно быть от 1 до 10. Для dall-e-3 , поддерживается только n=1 . | Optional |
response_format | Формат возвращаемых изображений. Должен быть url или b64_json . URL действует 60 минут. | Optional |
size | Размер создаваемых изображений. Варианты: 256x256 , 512x512 , 1024x1024 . | Optional |
user | Уникальный идентификатор пользователя. | Optional |
Возвращает
Список объектов изображений.
shell
curl https://api.openai.com/v1/images/variations \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F image="@otter.png" \
-F n=2 \
-F size="1024x1024"
python
from openai import OpenAI
client = OpenAI()
response = client.images.create_variation(
image=open("image_edit_original.png", "rb"),
n=2,
size="1024x1024"
)
javascript
import fs from "fs";
import OpenAI from "openai";
const openai = new OpenAI();
async function main() {
const image = await openai.images.createVariation({
image: fs.createReadStream("otter.png"),
});
console.log(image.data);
}
main();
Ответ
json
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}
Объект изображения
Представляет URL или содержимое изображения, созданного API OpenAI.
Параметр | Описание | Тип |
---|---|---|
b64_json | Базовая64-энкодированная JSON строка изображения, если формат b64_json . | string |
url | URL изображения, если формат url (по умолчанию). | string |
revised_prompt | Запрос, использованный для создания изображения, если он был изменен. | string |
json
{
"url": "...",
"revised_prompt": "..."
}