---
title: "Генеративні зображення (ImageConductor)"
description: "Провайдер-агностична генерація зображень xAI Grok Imagine та Google Imagen — MCP, адмін UI, ring-filebase"
locale: "uk"
---
# Генеративні зображення (`ImageConductor`)

**Провайдер-агностичний фасад** (як `PaymentConductor` і `file()`): згенеровані файли завантажуються в **ring-filebase** і повертають постійний CDN URL.

## Архітектура

```text
MCP / адмін UI / серверний код
  → ImageConductor.generate(ctx)
    → провайдер (xai | google)
    → file().upload(generated/…)
  → { success, images: [{ url }] }
```

| Шар | Шлях |
|-----|------|
| Фасад | `lib/images/conductor/image-conductor.ts` |
| Провайдери | `lib/images/providers/xai.provider.ts`, `google.provider.ts` |
| Конфіг | `lib/images/image.config.ts` |

## Поверхні

| Поверхня | Вхід |
|----------|------|
| **MCP** | `ring-image-create` → `POST /api/mcp/v1/images/generate` |
| **Session API** | `POST /api/images/generate` (Auth.js admin) |
| **UI** | `GenerateImageDialog` у редакторі новин і rich text |

## Приклад запиту

```json
{
  "prompt": "professional tech banner, vibrant gradient",
  "provider": "xai",
  "aspectRatio": "16:9",
  "purpose": "news-featured"
}
```

**OG preset:** `aspectRatio: "2:1"` на xAI (~1200×630). Google Imagen — найближче `16:9`.

## Змінні середовища

```bash
IMAGE_GEN_PROVIDER=xai
IMAGE_GEN_STORAGE_PREFIX=generated
XAI_API_KEY=your_key
XAI_API_BASE_URL=https://api.x.ai/v1
XAI_IMAGE_MODEL=grok-imagine-image-quality
```

Потрібен **ring-filebase** (`FILE_BACKEND=ringbase`, `RINGBASE_API_URL`, `RINGBASE_API_TOKEN`).

Міграція аудиту: `data/migrations/006_generated_images_schema.sql`.

## Програмний виклик

```typescript
import { ImageConductor } from '@/lib/images/conductor/image-conductor'

const result = await ImageConductor.generate({
  prompt: 'Ring Platform community meetup',
  purpose: 'news-featured',
  aspectRatio: '16:9',
  actorId: userId,
})
```

## Пов’язане

- Повна EN-документація (таблиці полів, troubleshooting): [Generative images](/docs/development/generative-images.md) (локаль EN)
- [Автономна редакція](/docs/development/generative-newsroom.md) — featured image для статей
- [Ring MCP](/docs/development/ring-mcp.md) — `ring-image-create`
