Интеграция DALL-E API для генерации изображений

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Интеграция DALL-E API для генерации изображений
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

Интеграция DALL-E API для генерации изображений

DALL-E 3 от OpenAI — наиболее управляемая модель для business-use cases: точно следует текстовым инструкциям, понимает сложные составные промпты, не требует GPU-инфраструктуры. API доступен через OpenAI SDK.

Основные возможности

from openai import AsyncOpenAI
import base64
import httpx

client = AsyncOpenAI()

async def generate(prompt: str, **kwargs) -> bytes:
    response = await client.images.generate(
        model="dall-e-3",
        prompt=prompt,
        size=kwargs.get("size", "1024x1024"),   # 1024×1024, 1792×1024, 1024×1792
        quality=kwargs.get("quality", "standard"),  # standard ($0.04), hd ($0.08)
        style=kwargs.get("style", "vivid"),          # vivid (яркий) / natural (реалистичный)
        n=1,  # DALL-E 3 поддерживает только n=1
        response_format="b64_json"
    )
    return base64.b64decode(response.data[0].b64_json)

async def edit_image(image_bytes: bytes, mask_bytes: bytes, prompt: str) -> bytes:
    """Редактирование существующего изображения (inpainting)"""
    response = await client.images.edit(
        model="dall-e-2",  # Edit API только для DALL-E 2
        image=image_bytes,
        mask=mask_bytes,
        prompt=prompt,
        size="1024x1024",
        n=1,
        response_format="b64_json"
    )
    return base64.b64decode(response.data[0].b64_json)

async def create_variation(image_bytes: bytes) -> bytes:
    """Создание вариаций существующего изображения"""
    response = await client.images.create_variation(
        model="dall-e-2",
        image=image_bytes,
        n=1,
        size="1024x1024",
        response_format="b64_json"
    )
    return base64.b64decode(response.data[0].b64_json)

Промпт-инжиниринг для DALL-E 3

DALL-E 3 переписывает промпт внутри (автоматическое улучшение). Чтобы отключить:

response = await client.images.generate(
    model="dall-e-3",
    prompt=prompt,
    # Системная инструкция через "I NEED to..." для точного следования
)
# Фактически использованный промпт (после внутренней переработки):
print(response.data[0].revised_prompt)

Эффективные шаблоны:

# Коммерческая фотография
"{product}, professional commercial photography, white background, studio lighting, 8k, product shot"

# Иллюстрация для статьи
"flat illustration of {concept}, modern minimal style, pastel colors, no text"

# Баннер
"{subject}, banner composition, horizontal format, space for text on left side, professional"

FastAPI интеграция

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class ImageRequest(BaseModel):
    prompt: str
    size: str = "1024x1024"
    quality: str = "standard"

@app.post("/generate")
async def generate_image(request: ImageRequest):
    image_bytes = await generate(request.prompt, size=request.size, quality=request.quality)
    filename = f"{uuid.uuid4()}.png"
    url = await upload_to_s3(filename, image_bytes)
    return {"url": url, "filename": filename}

Стоимость: standard 1024×1024 — $0.040, HD — $0.080, 1792×1024 HD — $0.120. Для 10 000 изображений в месяц — $400–800. При высокой нагрузке выгоднее self-hosted FLUX или SDXL. Сроки интеграции в приложение — 1–3 дня.