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