Изображения
Предоставленный текст или изображение, модель будет создавать новое изображение. Связанное руководство: генерация изображений.
Создание изображения
Метод: 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": "..."
}