Перейти к основному содержимому

Images

Генерация изображений с помощью DALL-E и YandexART.

POST /v1/images/generations

Описание

Создаёт изображение по текстовому описанию (prompt).

Заголовки

ЗаголовокОбязательныйОписание
AuthorizationДаBearer YOUR_API_KEY
Content-TypeДаapplication/json

Тело запроса

{
"model": "dall-e-3",
"prompt": "Космический корабль на орбите Юпитера, реалистичный стиль",
"n": 1,
"size": "1024x1024"
}

Параметры

ПараметрТипОбязательныйОписание
modelstringДаdall-e-3, dall-e-2 или yandexgpt/yandex-art
promptstringДаОписание изображения
nintegerНетКоличество изображений (1-10, default: 1)
sizestringНетРазмер изображения
qualitystringНетstandard или hd (только DALL-E 3)
stylestringНетvivid или natural (только DALL-E 3)
response_formatstringНетurl (default) или b64_json

Размеры изображений

DALL-E 3

РазмерЦена
1024x1024$0.04
1792x1024$0.08
1024x1792$0.08

DALL-E 2

РазмерЦена
256x256$0.016
512x512$0.018
1024x1024$0.02

YandexART

РазмерЦена
1024x1024$0.04

Ответ

{
"created": 1706745600,
"data": [
{
"url": "https://..../image.png",
"revised_prompt": "A detailed realistic image of a spacecraft orbiting Jupiter..."
}
]
}

С base64

При response_format: "b64_json":

{
"created": 1706745600,
"data": [
{
"b64_json": "/9j/4AAQSkZJRgABAQAA..."
}
]
}

Примеры

cURL

curl https://api.aipomogator.ru/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "dall-e-3",
"prompt": "Уютная кофейня в стиле ар-деко, тёплое освещение",
"size": "1024x1024",
"quality": "hd"
}'

Python

from openai import OpenAI

client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.aipomogator.ru/v1"
)

response = client.images.generate(
model="dall-e-3",
prompt="Уютная кофейня в стиле ар-деко, тёплое освещение",
size="1024x1024",
quality="hd",
n=1
)

image_url = response.data[0].url
print(f"Изображение: {image_url}")

# Скачать изображение
import requests
img_data = requests.get(image_url).content
with open('coffee_shop.png', 'wb') as f:
f.write(img_data)

JavaScript

import OpenAI from 'openai';

const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.aipomogator.ru/v1',
});

const response = await client.images.generate({
model: 'dall-e-3',
prompt: 'Уютная кофейня в стиле ар-деко, тёплое освещение',
size: '1024x1024',
quality: 'hd',
n: 1,
});

console.log(response.data[0].url);

Base64 ответ

response = client.images.generate(
model="dall-e-3",
prompt="Абстрактная картина",
response_format="b64_json"
)

import base64
image_data = base64.b64decode(response.data[0].b64_json)
with open('abstract.png', 'wb') as f:
f.write(image_data)

DALL-E 3 vs DALL-E 2

ПараметрDALL-E 3DALL-E 2
КачествоВышеБазовое
РазмерыДо 1792x1024До 1024x1024
Стилиvivid, natural
HD качествоДаНет
ЦенаВышеНиже
Prompt revisionДаНет

YandexART

Генерация изображений от Яндекса:

curl https://api.aipomogator.ru/v1/images/generations \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "yandexgpt/yandex-art",
"prompt": "Московский кремль на закате, масляная живопись"
}'

Советы по промптам

Хороший промпт

"Детальная фотореалистичная картина: уютная библиотека
с высокими деревянными полками, мягкий свет из окна,
на столе открытая книга и чашка чая, тёплые осенние тона"

Плохой промпт

"библиотека"

Структура эффективного промпта

  1. Основной объект — что изображено
  2. Стиль — фотореализм, масло, акварель, 3D
  3. Освещение — мягкое, драматичное, естественное
  4. Цветовая гамма — тёплые/холодные тона
  5. Композиция — крупный план, панорама, вид сверху

Ошибки

400 Bad Request

{
"error": {
"message": "Invalid size for model dall-e-3",
"type": "invalid_request_error"
}
}

400 Content Policy Violation

{
"error": {
"message": "Your request was rejected as a result of our safety system",
"type": "invalid_request_error",
"code": "content_policy_violation"
}
}

Промпт нарушает политику контента. Измените описание.