Skip to content

Изображения

Предоставленный текст или изображение, модель будет создавать новое изображение. Связанное руководство: генерация изображений.

Создание изображения

Метод: 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
urlURL изображения, если формат url (по умолчанию).string
revised_promptЗапрос, использованный для создания изображения, если он был изменен.string
json
{
  "url": "...",
  "revised_prompt": "..."
}

Создано при поддержке AITUNNEL