Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)
    1. Docs
    2. /Development
    3. /Generative Images (ImageConductor)

    Updated Jun 9, 20262 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Docs
    2. /Development
    3. /Generative Images (ImageConductor)

    Updated Jun 9, 20262 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Docs
    2. /Development
    3. /Generative Images (ImageConductor)

    Updated Jun 9, 20262 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    Generative Images (ImageConductor)

    Ring Platform ships a provider-agnostic ImageConductor — the same facade pattern as PaymentConductor and file(). Generated assets upload to ring-filebase and return a permanent CDN URL.

    Architecture

    text
    
    Surface (MCP / admin UI / server code)
      → ImageConductor.generate(ctx)
        → provider (xai | google)
        → file().upload(generated/…)
        → optional DB row in generated_images
      → { success, images: [{ url, … }] }
    LayerPath
    Typeslib/images/conductor/types.ts
    Configlib/images/image.config.ts
    Providerslib/images/providers/xai.provider.ts, google.provider.ts
    Facadelib/images/conductor/image-conductor.ts
    Public APIlib/images/index.ts

    Surfaces

    SurfaceEntry
    MCPring-image-create → POST /api/mcp/v1/images/generate
    Admin session APIPOST /api/images/generate (Auth.js admin)
    UIcomponents/media/generate-image-dialog.tsx in news editor + rich text editor

    See Ring MCP — Image generation for MCP operator examples.

    Request body

    FieldRequiredNotes
    promptYesNatural-language description
    providerNoxai (default) or google
    aspectRatioNoxAI: flexible; Google: 1:1, 3:4, 4:3, 9:16, 16:9
    resolutionNo1k or 2k (xAI)
    nNoNumber of images (default 1)
    purposeNoStorage path segment, e.g. og,

    OG preset: aspectRatio: "2:1" on xAI (~1200×630). For Google Imagen use 16:9 as nearest OG ratio.

    Environment

    Add to .env.local (see env.local.template):

    Requires ring-filebase (FILE_BACKEND=ringbase, RINGBASE_API_URL, RINGBASE_API_TOKEN) or your configured storage backend.

    Database

    Migration data/migrations/006_generated_images_schema.sql adds generated_images audit rows (provider, model, prompt, URL). Mirror exists in data/schema.sql.

    Programmatic usage

    Troubleshooting

    SymptomCheck
    XAI_API_KEY is not configuredKey in .env.local, restart npm run dev
    Upload failedRINGBASE_API_TOKEN, FILE_BACKEND=ringbase
    TimeoutRaise IMAGE_GEN_POLL_TIMEOUT_MS (default 120000)
    Empty imageProvider quota, prompt policy, or model name drift

    Related: Autonomous newsroom uses ImageConductor for featured images.

    Generative Images (ImageConductor)

    Ring Platform ships a provider-agnostic ImageConductor — the same facade pattern as PaymentConductor and file(). Generated assets upload to ring-filebase and return a permanent CDN URL.

    Architecture

    text
    
    Surface (MCP / admin UI / server code)
      → ImageConductor.generate(ctx)
        → provider (xai | google)
        → file().upload(generated/…)
        → optional DB row in generated_images
      → { success, images: [{ url, … }] }
    LayerPath
    Typeslib/images/conductor/types.ts
    Configlib/images/image.config.ts
    Providerslib/images/providers/xai.provider.ts, google.provider.ts
    Facadelib/images/conductor/image-conductor.ts
    Public APIlib/images/index.ts

    Surfaces

    SurfaceEntry
    MCPring-image-create → POST /api/mcp/v1/images/generate
    Admin session APIPOST /api/images/generate (Auth.js admin)
    UIcomponents/media/generate-image-dialog.tsx in news editor + rich text editor

    See Ring MCP — Image generation for MCP operator examples.

    Request body

    FieldRequiredNotes
    promptYesNatural-language description
    providerNoxai (default) or google
    aspectRatioNoxAI: flexible; Google: 1:1, 3:4, 4:3, 9:16, 16:9
    resolutionNo1k or 2k (xAI)
    nNoNumber of images (default 1)
    purposeNoStorage path segment, e.g. og,

    OG preset: aspectRatio: "2:1" on xAI (~1200×630). For Google Imagen use 16:9 as nearest OG ratio.

    Environment

    Add to .env.local (see env.local.template):

    Requires ring-filebase (FILE_BACKEND=ringbase, RINGBASE_API_URL, RINGBASE_API_TOKEN) or your configured storage backend.

    Database

    Migration data/migrations/006_generated_images_schema.sql adds generated_images audit rows (provider, model, prompt, URL). Mirror exists in data/schema.sql.

    Programmatic usage

    Troubleshooting

    SymptomCheck
    XAI_API_KEY is not configuredKey in .env.local, restart npm run dev
    Upload failedRINGBASE_API_TOKEN, FILE_BACKEND=ringbase
    TimeoutRaise IMAGE_GEN_POLL_TIMEOUT_MS (default 120000)
    Empty imageProvider quota, prompt policy, or model name drift

    Related: Autonomous newsroom uses ImageConductor for featured images.

    Generative Images (ImageConductor)

    Ring Platform ships a provider-agnostic ImageConductor — the same facade pattern as PaymentConductor and file(). Generated assets upload to ring-filebase and return a permanent CDN URL.

    Architecture

    text
    
    Surface (MCP / admin UI / server code)
      → ImageConductor.generate(ctx)
        → provider (xai | google)
        → file().upload(generated/…)
        → optional DB row in generated_images
      → { success, images: [{ url, … }] }
    LayerPath
    Typeslib/images/conductor/types.ts
    Configlib/images/image.config.ts
    Providerslib/images/providers/xai.provider.ts, google.provider.ts
    Facadelib/images/conductor/image-conductor.ts
    Public APIlib/images/index.ts

    Surfaces

    SurfaceEntry
    MCPring-image-create → POST /api/mcp/v1/images/generate
    Admin session APIPOST /api/images/generate (Auth.js admin)
    UIcomponents/media/generate-image-dialog.tsx in news editor + rich text editor

    See Ring MCP — Image generation for MCP operator examples.

    Request body

    FieldRequiredNotes
    promptYesNatural-language description
    providerNoxai (default) or google
    aspectRatioNoxAI: flexible; Google: 1:1, 3:4, 4:3, 9:16, 16:9
    resolutionNo1k or 2k (xAI)
    nNoNumber of images (default 1)
    purposeNoStorage path segment, e.g. og,

    OG preset: aspectRatio: "2:1" on xAI (~1200×630). For Google Imagen use 16:9 as nearest OG ratio.

    Environment

    Add to .env.local (see env.local.template):

    Requires ring-filebase (FILE_BACKEND=ringbase, RINGBASE_API_URL, RINGBASE_API_TOKEN) or your configured storage backend.

    Database

    Migration data/migrations/006_generated_images_schema.sql adds generated_images audit rows (provider, model, prompt, URL). Mirror exists in data/schema.sql.

    Programmatic usage

    Troubleshooting

    SymptomCheck
    XAI_API_KEY is not configuredKey in .env.local, restart npm run dev
    Upload failedRINGBASE_API_TOKEN, FILE_BACKEND=ringbase
    TimeoutRaise IMAGE_GEN_POLL_TIMEOUT_MS (default 120000)
    Empty imageProvider quota, prompt policy, or model name drift

    Related: Autonomous newsroom uses ImageConductor for featured images.

    news-featured
    actorIdMCP/sessionSet automatically from actor or session
    json
    
    {
      "prompt": "professional tech banner, vibrant gradient",
      "provider": "xai",
      "aspectRatio": "16:9",
      "resolution": "2k",
      "n": 1,
      "purpose": "news-featured",
      "refCode": "optional-tracking-id",
      "seed": 42
    }
    bash
    
    IMAGE_GEN_PROVIDER=xai
    IMAGE_GEN_STORAGE_PREFIX=generated
    IMAGE_GEN_POLL_TIMEOUT_MS=120000
    
    XAI_API_KEY=your_key
    XAI_API_BASE_URL=https://api.x.ai/v1
    XAI_IMAGE_MODEL=grok-imagine-image-quality
    XAI_IMAGE_RESOLUTION=2k
    XAI_IMAGE_ASPECT_RATIO=1:1
    
    # Optional Google Imagen fallback
    GOOGLE_GENAI_API_KEY=
    GOOGLE_GENAI_BASE_URL=https://generativelanguage.googleapis.com/v1beta
    GOOGLE_IMAGE_MODEL=imagen-4.0-generate-001
    GOOGLE_IMAGE_SIZE=2K
    GOOGLE_IMAGE_ASPECT_RATIO=1:1
    typescript
    
    import { ImageConductor } from '@/lib/images/conductor/image-conductor'
    
    const result = await ImageConductor.generate({
      prompt: 'Ring Platform community meetup photo',
      purpose: 'news-featured',
      aspectRatio: '16:9',
      actorId: userId,
    })
    
    if (result.success && result.images?.[0]?.url) {
      const featuredImage = result.images[0].url
    }
    news-featured
    actorIdMCP/sessionSet automatically from actor or session
    json
    
    {
      "prompt": "professional tech banner, vibrant gradient",
      "provider": "xai",
      "aspectRatio": "16:9",
      "resolution": "2k",
      "n": 1,
      "purpose": "news-featured",
      "refCode": "optional-tracking-id",
      "seed": 42
    }
    bash
    
    IMAGE_GEN_PROVIDER=xai
    IMAGE_GEN_STORAGE_PREFIX=generated
    IMAGE_GEN_POLL_TIMEOUT_MS=120000
    
    XAI_API_KEY=your_key
    XAI_API_BASE_URL=https://api.x.ai/v1
    XAI_IMAGE_MODEL=grok-imagine-image-quality
    XAI_IMAGE_RESOLUTION=2k
    XAI_IMAGE_ASPECT_RATIO=1:1
    
    # Optional Google Imagen fallback
    GOOGLE_GENAI_API_KEY=
    GOOGLE_GENAI_BASE_URL=https://generativelanguage.googleapis.com/v1beta
    GOOGLE_IMAGE_MODEL=imagen-4.0-generate-001
    GOOGLE_IMAGE_SIZE=2K
    GOOGLE_IMAGE_ASPECT_RATIO=1:1
    typescript
    
    import { ImageConductor } from '@/lib/images/conductor/image-conductor'
    
    const result = await ImageConductor.generate({
      prompt: 'Ring Platform community meetup photo',
      purpose: 'news-featured',
      aspectRatio: '16:9',
      actorId: userId,
    })
    
    if (result.success && result.images?.[0]?.url) {
      const featuredImage = result.images[0].url
    }
    news-featured
    actorIdMCP/sessionSet automatically from actor or session
    json
    
    {
      "prompt": "professional tech banner, vibrant gradient",
      "provider": "xai",
      "aspectRatio": "16:9",
      "resolution": "2k",
      "n": 1,
      "purpose": "news-featured",
      "refCode": "optional-tracking-id",
      "seed": 42
    }
    bash
    
    IMAGE_GEN_PROVIDER=xai
    IMAGE_GEN_STORAGE_PREFIX=generated
    IMAGE_GEN_POLL_TIMEOUT_MS=120000
    
    XAI_API_KEY=your_key
    XAI_API_BASE_URL=https://api.x.ai/v1
    XAI_IMAGE_MODEL=grok-imagine-image-quality
    XAI_IMAGE_RESOLUTION=2k
    XAI_IMAGE_ASPECT_RATIO=1:1
    
    # Optional Google Imagen fallback
    GOOGLE_GENAI_API_KEY=
    GOOGLE_GENAI_BASE_URL=https://generativelanguage.googleapis.com/v1beta
    GOOGLE_IMAGE_MODEL=imagen-4.0-generate-001
    GOOGLE_IMAGE_SIZE=2K
    GOOGLE_IMAGE_ASPECT_RATIO=1:1
    typescript
    
    import { ImageConductor } from '@/lib/images/conductor/image-conductor'
    
    const result = await ImageConductor.generate({
      prompt: 'Ring Platform community meetup photo',
      purpose: 'news-featured',
      aspectRatio: '16:9',
      actorId: userId,
    })
    
    if (result.success && result.images?.[0]?.url) {
      const featuredImage = result.images[0].url
    }