Інтеграція DALL-E API для генерації зображень

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Інтеграція DALL-E API для генерації зображень
Простий
від 1 дня до 3 днів
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1282
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Інтеграція 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 дні.