Scanning documentation library
Scanning documentation library
Scanning documentation library
ImageConductor)Провайдер-агностичний фасад (як PaymentConductor і file()): згенеровані файли завантажуються в ring-filebase і повертають постійний CDN URL.
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 |
{
"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.
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.
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,
})ring-image-createImageConductor)Провайдер-агностичний фасад (як PaymentConductor і file()): згенеровані файли завантажуються в ring-filebase і повертають постійний CDN URL.
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 |
{
"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.
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.
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,
})ring-image-createImageConductor)Провайдер-агностичний фасад (як PaymentConductor і file()): згенеровані файли завантажуються в ring-filebase і повертають постійний CDN URL.
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 |
{
"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.
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.
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,
})ring-image-create