МожливостіСутності
Документація
    Ring Platform

    Децентралізоване самобудівне майбутнє

    Увійти
    Сутності
    Можливості
    Магазин
    Документація
    Концепції
    RING ЕкономікаSonoratek LLCГлобальний впливAI зустрічає Web3
    Розпочати
    Швидкий стартКалькуляторДорожня карта
    Конфіденційність|Контакти
    v1.104.26|Sonoratek LLC

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)

    Documentation

    Концепції, цінність і типові сценарії

    Ласкаво просимо до Ring
    Швидкий довідник
    Початок роботи
    Передумови
    Встановлення
    Валідація першого успіху
    Наступні кроки
    Функції
    Магазин
    Склад і залишки
    Керування вендорами
    Комісії та розрахунки
    SubscriptionConductor
    PaymentConductor
    Ring Oracle
    Інтеграція платежів
    Публічні пули та DAO-банки
    Інтеграція WayForPay
    Web3 Гаманець
    WalletConductor
    Кредитні винагороди
    Партнерська та реферальна підтримка
    Реферальні коди (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Система Стейкінга Токенів
    Лабораторія проєкту власника (Owner Project Lab)
    Сутності
    Можливості
    AI Matcher
    Повідомлення
    Завдання Ring
    WebRTC-дзвінки та STUNner TURN
    Ігри з друзями
    Модуль Новин - Цифровий Газетний Досвід
    Блоги учасників
    Сторінки публічного профілю
    Віджети профілю облікового запису
    Ring File Cabinet
    Система Резервування Імен Користувачів
    Науковий редактор
    Notifications
    Push-сповіщення через FCM (Ring)
    Email AI-CRM
    Ring Mailer і RingdomX Mail
    Протокол Tunnel
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Безпека та відповідність
    Консоль адміністратора
    Адмінська Wiki
    Керування через Telegram
    Система локалей
    Мобільний Досвід
    Паттерни Оптимізації Продуктивності
    Приклади
    Швидкий старт
    Базове налаштування
    Білий лейбл
    Користувацьке брендування
    Інтеграція Web3
    Реальні приклади
    Розширені функції
    Кастомізація
    Швидкий старт — ваш перший клон Ring
    Повний посібник налаштування
    Вертикальні пресети (SSOT)
    Ringization playbook
    Брендування
    Теми
    Функції
    Локалізація
    Налаштування токеноміки
    Інтеграція платіжних шлюзів
    Еталонні деплої Ring
    Конфігурація
    Публічні змінні середовища
    Секрети Order Lab
    Project ID WalletConnect (Reown Cloud)
    Підтримувані сервіси
    Вікі NODUS (знання проєкту)
    Плейбук конфігурації
    Web3
    Token launch jurisdictions
    Гаманець
    Поради з безпеки гаманця
    Інтеграції
    Ethereum гаманці (Wagmi v3)
    RingFileBase (API об’єктного сховища)
    Ring CDN (edge RingFileBase)
    Розгортання
    Розгортання на власному сервері
    Vercel
    Docker
    Конфігурація Середовища
    Моніторинг та Аналітика
    Оптимізація продуктивності
    Резервне копіювання і відновлення
    Архітектура
    Data Model
    Security
    Real Time
    Синхронізація discovery після мутацій
    Архітектура PaymentConductor
    Архітектура WalletConductor
    Архітектура News Kingdom
    Бекенд Сервіси
    Інтеграція Firebase
    Розробка
    Ring MCP Server
    OSS і enterprise

    Швидкий вхід (CTO · аудитори · агенти)

    Вітаємо — місія та аудиторії
    Швидкий довідник
    Початок роботи
    Архітектура та Auth.js
    Режими бекенду та БД (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Деплой (Docker · k8s)
    Безпека та відповідність
    ringdom.org — база LegioX
    Код — ліцензія MIT (GitHub)
    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Ring Logo

    Loading documentation...

    Preparing Ring content

    Generative Gallery

    Generative Gallery — це спільне медіаполе Ring Platform для створення NFT, форм товарів мультивендорного магазину та Image/Video chat на панелі деталей File Cabinet. Оператори завантажують зображення або генерують варіанти через ImageConductor, збагачують промпти за допомогою Ghost-write (TextConductor + вебпошук), а історію зберігають у прихованому tool chat (genmedia:…), який не захаращує Messages.

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Засновники бачать операторську цінність і поверхні; розробники — модулі, білінг і перевірені шляхи.

    Де це працює

    ПоверхняРоль
    Майстер створення NFTОбкладинка колекції + mint-медіа через GenerativeMediaField (scope: 'nft')
    Форма товару продавця / адміністратораГалерея зображень товару (scope: 'product'); Agent Knowledge Research — окремий шлях WebConductor, див. Store
    Панель деталей File CabinetImage chat / Video chat → GenerativeMediaEditorFsModal (scope: 'cabinet'); збереження поруч із джерелом
    Галерея деталей товаруДля смужки надає перевагу derivatives.thumb / webpUrl; lightbox використовує оригінал
    Картки новин / hero / OGpickImageSrc → card / hero / og; за наявності — розмитий LQIP
    АватарavatarThumb (sync_thumb) має перевагу над оригіналом photoURL
    Бульбашки зображень у чатіMessageAttachment.derivatives.thumb має перевагу над оригінальним URL
    Mint NFT + лістингиOff-chain Metaplex JSON (image, необов’язковий animation_url, properties.files)

    SSOT-модуль: features/generative-media/. Області: nft | product | cabinet | editor.

    Чому це важливо для вашого клону

    • Одне поле — кілька робочих столів — фотографії каталогу, NFT-арт учасника та enhance/enlive у кабінеті використовують один generative UX.
    • Витрати спершу з кредитів — Ghost-write і генерація зображень списують кредити платформи через WalletConductor до запуску ходу.
    • Чиста скринька — історія генерації живе у прихованій розмові product-tool (generative_gallery / genmedia:).
    • Research проти Generate — Store Research (WebConductor) збирає вебфото з цитатами у File Cabinet …/alt; Generative Gallery створює або покращує пікселі. Додавання до галереї з research залишається явною дією Use in gallery.
    • Сусідні файли кабінету — enhance/enlive зберігає результат поруч із джерелом як {name}-enhanced-… або {name}-enlive-…, тому оригінали залишаються недоторканими.

    NFT Marketplace

    Створення/mint/list для member — Generative Gallery є медіашляхом.

    Multi-Vendor Store

    Форми товарів + Agent Knowledge Research (WebConductor) + Use in gallery.

    Архітектура

    Generative turns із кредитами спершу проходять через server actions → features/generative-media/service.ts → ImageConductor / TextConductor, із необов’язковим створенням WebP і FCM/in-app сповіщенням після завершення фонової генерації.

    Хід зображення generative gallery

    Шлях входу з кабінету (Phase G — випущено)

    КрокДеталь
    Тригер UIfile-cabinet-detail-panel.tsx — Image chat / Video chat на файлах зображень, коли canGenerate
    Вузол desktopfile-cabinet-desktop.tsx відкриває GenerativeMediaEditorFsModal зі scope="cabinet"
    Дія збереженняsaveGeneratedMediaToDesktopAction у app/_actions/file-cabinet.ts

    Пов’язана документація

    Related documentation

    Real-Time Messaging

    Залежність: Conversation.type проти metadata.kind — tool chats повторно використовують product channel.

    NFT Exhibition Marketplace

    Той самий процес: Generative Gallery під час create/mint/list для member.

    Multi-Vendor Store

    Той самий процес: поле галереї товару плюс WebConductor Agent Knowledge Research.

    Ring File Cabinet

    Наступний крок: Image/Video chat на панелі деталей і збереження поруч із parentId.

    1. Документація
    2. /Функції
    3. /Generative Gallery

    Оновлено 6 вер. 2026 р.5 хв прослуховування

    Generative Gallery

    Generative Gallery — це спільне медіаполе Ring Platform для створення NFT, форм товарів мультивендорного магазину та Image/Video chat на панелі деталей File Cabinet. Оператори завантажують зображення або генерують варіанти через ImageConductor, збагачують промпти за допомогою Ghost-write (TextConductor + вебпошук), а історію зберігають у прихованому tool chat (genmedia:…), який не захаращує Messages.

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Засновники бачать операторську цінність і поверхні; розробники — модулі, білінг і перевірені шляхи.

    Де це працює

    ПоверхняРоль
    Майстер створення NFTОбкладинка колекції + mint-медіа через GenerativeMediaField (scope: 'nft')
    Форма товару продавця / адміністратораГалерея зображень товару (scope: 'product'); Agent Knowledge Research — окремий шлях WebConductor, див. Store
    Панель деталей File CabinetImage chat / Video chat → GenerativeMediaEditorFsModal (scope: 'cabinet'); збереження поруч із джерелом
    Галерея деталей товаруДля смужки надає перевагу derivatives.thumb / webpUrl; lightbox використовує оригінал
    Картки новин / hero / OGpickImageSrc → card / hero / og; за наявності — розмитий LQIP
    АватарavatarThumb (sync_thumb) має перевагу над оригіналом photoURL
    Бульбашки зображень у чатіMessageAttachment.derivatives.thumb має перевагу над оригінальним URL
    Mint NFT + лістингиOff-chain Metaplex JSON (image, необов’язковий animation_url, properties.files)

    SSOT-модуль: features/generative-media/. Області: nft | product | cabinet | editor.

    Чому це важливо для вашого клону

    • Одне поле — кілька робочих столів — фотографії каталогу, NFT-арт учасника та enhance/enlive у кабінеті використовують один generative UX.
    • Витрати спершу з кредитів — Ghost-write і генерація зображень списують кредити платформи через WalletConductor до запуску ходу.
    • Чиста скринька — історія генерації живе у прихованій розмові product-tool (generative_gallery / genmedia:).
    • Research проти Generate — Store Research (WebConductor) збирає вебфото з цитатами у File Cabinet …/alt; Generative Gallery створює або покращує пікселі. Додавання до галереї з research залишається явною дією Use in gallery.
    • Сусідні файли кабінету — enhance/enlive зберігає результат поруч із джерелом як {name}-enhanced-… або {name}-enlive-…, тому оригінали залишаються недоторканими.

    NFT Marketplace

    Створення/mint/list для member — Generative Gallery є медіашляхом.

    Multi-Vendor Store

    Форми товарів + Agent Knowledge Research (WebConductor) + Use in gallery.

    Архітектура

    Generative turns із кредитами спершу проходять через server actions → features/generative-media/service.ts → ImageConductor / TextConductor, із необов’язковим створенням WebP і FCM/in-app сповіщенням після завершення фонової генерації.

    Хід зображення generative gallery

    Шлях входу з кабінету (Phase G — випущено)

    КрокДеталь
    Тригер UIfile-cabinet-detail-panel.tsx — Image chat / Video chat на файлах зображень, коли canGenerate
    Вузол desktopfile-cabinet-desktop.tsx відкриває GenerativeMediaEditorFsModal зі scope="cabinet"
    Дія збереженняsaveGeneratedMediaToDesktopAction у app/_actions/file-cabinet.ts

    Пов’язана документація

    Related documentation

    Real-Time Messaging

    Залежність: Conversation.type проти metadata.kind — tool chats повторно використовують product channel.

    NFT Exhibition Marketplace

    Той самий процес: Generative Gallery під час create/mint/list для member.

    Multi-Vendor Store

    Той самий процес: поле галереї товару плюс WebConductor Agent Knowledge Research.

    Ring File Cabinet

    Наступний крок: Image/Video chat на панелі деталей і збереження поруч із parentId.

    1. Документація
    2. /Функції
    3. /Generative Gallery

    Оновлено 6 вер. 2026 р.5 хв прослуховування

    Generative Gallery

    Generative Gallery — це спільне медіаполе Ring Platform для створення NFT, форм товарів мультивендорного магазину та Image/Video chat на панелі деталей File Cabinet. Оператори завантажують зображення або генерують варіанти через ImageConductor, збагачують промпти за допомогою Ghost-write (TextConductor + вебпошук), а історію зберігають у прихованому tool chat (genmedia:…), який не захаращує Messages.

    Використовуйте вкладки Founder / Developer на бічній панелі документації, щоб відфільтрувати цю сторінку. Засновники бачать операторську цінність і поверхні; розробники — модулі, білінг і перевірені шляхи.

    Де це працює

    ПоверхняРоль
    Майстер створення NFTОбкладинка колекції + mint-медіа через GenerativeMediaField (scope: 'nft')
    Форма товару продавця / адміністратораГалерея зображень товару (scope: 'product'); Agent Knowledge Research — окремий шлях WebConductor, див. Store
    Панель деталей File CabinetImage chat / Video chat → GenerativeMediaEditorFsModal (scope: 'cabinet'); збереження поруч із джерелом
    Галерея деталей товаруДля смужки надає перевагу derivatives.thumb / webpUrl; lightbox використовує оригінал
    Картки новин / hero / OGpickImageSrc → card / hero / og; за наявності — розмитий LQIP
    АватарavatarThumb (sync_thumb) має перевагу над оригіналом photoURL
    Бульбашки зображень у чатіMessageAttachment.derivatives.thumb має перевагу над оригінальним URL
    Mint NFT + лістингиOff-chain Metaplex JSON (image, необов’язковий animation_url, properties.files)

    SSOT-модуль: features/generative-media/. Області: nft | product | cabinet | editor.

    Чому це важливо для вашого клону

    • Одне поле — кілька робочих столів — фотографії каталогу, NFT-арт учасника та enhance/enlive у кабінеті використовують один generative UX.
    • Витрати спершу з кредитів — Ghost-write і генерація зображень списують кредити платформи через WalletConductor до запуску ходу.
    • Чиста скринька — історія генерації живе у прихованій розмові product-tool (generative_gallery / genmedia:).
    • Research проти Generate — Store Research (WebConductor) збирає вебфото з цитатами у File Cabinet …/alt; Generative Gallery створює або покращує пікселі. Додавання до галереї з research залишається явною дією Use in gallery.
    • Сусідні файли кабінету — enhance/enlive зберігає результат поруч із джерелом як {name}-enhanced-… або {name}-enlive-…, тому оригінали залишаються недоторканими.

    NFT Marketplace

    Створення/mint/list для member — Generative Gallery є медіашляхом.

    Multi-Vendor Store

    Форми товарів + Agent Knowledge Research (WebConductor) + Use in gallery.

    Архітектура

    Generative turns із кредитами спершу проходять через server actions → features/generative-media/service.ts → ImageConductor / TextConductor, із необов’язковим створенням WebP і FCM/in-app сповіщенням після завершення фонової генерації.

    Хід зображення generative gallery

    Шлях входу з кабінету (Phase G — випущено)

    КрокДеталь
    Тригер UIfile-cabinet-detail-panel.tsx — Image chat / Video chat на файлах зображень, коли canGenerate
    Вузол desktopfile-cabinet-desktop.tsx відкриває GenerativeMediaEditorFsModal зі scope="cabinet"
    Дія збереженняsaveGeneratedMediaToDesktopAction у app/_actions/file-cabinet.ts

    Пов’язана документація

    Related documentation

    Real-Time Messaging

    Залежність: Conversation.type проти metadata.kind — tool chats повторно використовують product channel.

    NFT Exhibition Marketplace

    Той самий процес: Generative Gallery під час create/mint/list для member.

    Multi-Vendor Store

    Той самий процес: поле галереї товару плюс WebConductor Agent Knowledge Research.

    Ring File Cabinet

    Наступний крок: Image/Video chat на панелі деталей і збереження поруч із parentId.

    1. Документація
    2. /Функції
    3. /Generative Gallery

    Оновлено 6 вер. 2026 р.5 хв прослуховування

    File Cabinet

    Вхід до Image/Video chat із панелі деталей і збереження поруч із джерелом.

    WalletConductor

    Сьогодні generative billing працює через spendCredits.

    Чекліст оператора

    • Переконайтеся, що провайдери ImageConductor / TextConductor налаштовані.
    • Поповніть кредити платформи (необов’язкові перевизначення GENERATIVE_CREDIT_*).
    • Віддавайте перевагу ring_filebase, щоб завантаження повертали повну карту derivatives.
    • Навчіть продавців: Upload | Generate у формі товару; Research для вебзбору; Image chat кабінету для полірування.
    • Для лістингів NFT перевіряйте showcase thumbnails/animation, коли автори додають галереї з кількох елементів.

    Типові шляхи

    Погляд засновника — Upload, Generate або покращення в кабінеті
    Іменування{base}-enhanced-{ts}.{ext} для зображень; {base}-enlive-{ts}.{ext} для відео (base з імені файлу джерела)
    Батьківський елементparentId: genSourceNode.parentId — сусідній файл джерела, а не новий кореневий дамп
    Pipelinecabinet.genmedia.sibling_save у scripts/PIPELINES.md

    Модулі

    ШляхРоль
    features/generative-media/types.tsGalleryItem, області nft | product | cabinet | editor, buildGenMediaChatKey → genmedia:scope:entity:page:field
    features/generative-media/billing.tsCredit-first WalletConductor.spendCredits + журнал generative_usage
    features/generative-media/service.tsПрихований tool chat, upload, Ghost-write, ходи ImageConductor / video
    features/generative-media/nft-metadata.tsMetaplex JSON + помічники завантаження
    features/generative-media/parse-product-images.tsГалерея URL FormData для vendor/admin
    features/generative-media/components/generative-media-field.tsxВіджет SSOT із вкладками Upload | Generate
    features/generative-media/components/generative-media-editor-fs-modal.tsxПовноекранна історія + Ghost-write + Use this image
    app/_actions/generative-media.tslistGenMediaMessagesAction, runGenMediaImageAction, runGhostWriteAction, …
    lib/file/media-asset.tsSSOT відображення pickImageSrc / pickGalleryDisplayUrl
    features/chat/services/conversation-service.tsisHiddenToolConversation

    Гейти авторизації (перевірено)

    1. 1

      Потрібна сесія — усі server actions generative-media викликають auth(); без автентифікації → Unauthorized.

    2. 2

      Область NFT потребує member+ — requireMember = true, коли scope === 'nft'.

    3. 3

      Області product / cabinet — автентифікований actor (форма vendor/admin або шлях власника cabinet).

    Білінг (credit-first)

    ДіяEnv keyКредити за замовчуванням
    Ghost-writeGENERATIVE_CREDIT_GHOST_WRITE5
    Image genGENERATIVE_CREDIT_IMAGE15
    Video gen (ціна є; studio polish TBD)GENERATIVE_CREDIT_VIDEO50

    Потік: м’яка ідемпотентність за referenceId у generative_usage → перевірка балансу → WalletConductor.spendCredits → рядок журналу.

    Повторне використання каналу розмови

    ПолеЗначення
    type'product'
    metadata.kind'generative_gallery'
    metadata.hiddenFromInboxtrue
    metadata.productId / subjectgenmedia:{scope}:{entity}:{page}:{field}

    Чати product-agent магазину також використовують type: 'product' із реальним productId каталогу та без tool kind — вони залишаються видимими у Messages.

    WalletConductor

    Залежність: витрачання кредитів для generative billing.

    RingFileBase (object storage API)

    Залежність: об’єктне сховище + драбини похідних fileId_v_*.

    Generative Images (ImageConductor)

    Поглиблення: нотатки про ImageConductor / сховище нижчого рівня.

    File Cabinet

    Вхід до Image/Video chat із панелі деталей і збереження поруч із джерелом.

    WalletConductor

    Сьогодні generative billing працює через spendCredits.

    Чекліст оператора

    • Переконайтеся, що провайдери ImageConductor / TextConductor налаштовані.
    • Поповніть кредити платформи (необов’язкові перевизначення GENERATIVE_CREDIT_*).
    • Віддавайте перевагу ring_filebase, щоб завантаження повертали повну карту derivatives.
    • Навчіть продавців: Upload | Generate у формі товару; Research для вебзбору; Image chat кабінету для полірування.
    • Для лістингів NFT перевіряйте showcase thumbnails/animation, коли автори додають галереї з кількох елементів.

    Типові шляхи

    Погляд засновника — Upload, Generate або покращення в кабінеті
    Іменування{base}-enhanced-{ts}.{ext} для зображень; {base}-enlive-{ts}.{ext} для відео (base з імені файлу джерела)
    Батьківський елементparentId: genSourceNode.parentId — сусідній файл джерела, а не новий кореневий дамп
    Pipelinecabinet.genmedia.sibling_save у scripts/PIPELINES.md

    Модулі

    ШляхРоль
    features/generative-media/types.tsGalleryItem, області nft | product | cabinet | editor, buildGenMediaChatKey → genmedia:scope:entity:page:field
    features/generative-media/billing.tsCredit-first WalletConductor.spendCredits + журнал generative_usage
    features/generative-media/service.tsПрихований tool chat, upload, Ghost-write, ходи ImageConductor / video
    features/generative-media/nft-metadata.tsMetaplex JSON + помічники завантаження
    features/generative-media/parse-product-images.tsГалерея URL FormData для vendor/admin
    features/generative-media/components/generative-media-field.tsxВіджет SSOT із вкладками Upload | Generate
    features/generative-media/components/generative-media-editor-fs-modal.tsxПовноекранна історія + Ghost-write + Use this image
    app/_actions/generative-media.tslistGenMediaMessagesAction, runGenMediaImageAction, runGhostWriteAction, …
    lib/file/media-asset.tsSSOT відображення pickImageSrc / pickGalleryDisplayUrl
    features/chat/services/conversation-service.tsisHiddenToolConversation

    Гейти авторизації (перевірено)

    1. 1

      Потрібна сесія — усі server actions generative-media викликають auth(); без автентифікації → Unauthorized.

    2. 2

      Область NFT потребує member+ — requireMember = true, коли scope === 'nft'.

    3. 3

      Області product / cabinet — автентифікований actor (форма vendor/admin або шлях власника cabinet).

    Білінг (credit-first)

    ДіяEnv keyКредити за замовчуванням
    Ghost-writeGENERATIVE_CREDIT_GHOST_WRITE5
    Image genGENERATIVE_CREDIT_IMAGE15
    Video gen (ціна є; studio polish TBD)GENERATIVE_CREDIT_VIDEO50

    Потік: м’яка ідемпотентність за referenceId у generative_usage → перевірка балансу → WalletConductor.spendCredits → рядок журналу.

    Повторне використання каналу розмови

    ПолеЗначення
    type'product'
    metadata.kind'generative_gallery'
    metadata.hiddenFromInboxtrue
    metadata.productId / subjectgenmedia:{scope}:{entity}:{page}:{field}

    Чати product-agent магазину також використовують type: 'product' із реальним productId каталогу та без tool kind — вони залишаються видимими у Messages.

    WalletConductor

    Залежність: витрачання кредитів для generative billing.

    RingFileBase (object storage API)

    Залежність: об’єктне сховище + драбини похідних fileId_v_*.

    Generative Images (ImageConductor)

    Поглиблення: нотатки про ImageConductor / сховище нижчого рівня.

    File Cabinet

    Вхід до Image/Video chat із панелі деталей і збереження поруч із джерелом.

    WalletConductor

    Сьогодні generative billing працює через spendCredits.

    Чекліст оператора

    • Переконайтеся, що провайдери ImageConductor / TextConductor налаштовані.
    • Поповніть кредити платформи (необов’язкові перевизначення GENERATIVE_CREDIT_*).
    • Віддавайте перевагу ring_filebase, щоб завантаження повертали повну карту derivatives.
    • Навчіть продавців: Upload | Generate у формі товару; Research для вебзбору; Image chat кабінету для полірування.
    • Для лістингів NFT перевіряйте showcase thumbnails/animation, коли автори додають галереї з кількох елементів.

    Типові шляхи

    Погляд засновника — Upload, Generate або покращення в кабінеті
    Іменування{base}-enhanced-{ts}.{ext} для зображень; {base}-enlive-{ts}.{ext} для відео (base з імені файлу джерела)
    Батьківський елементparentId: genSourceNode.parentId — сусідній файл джерела, а не новий кореневий дамп
    Pipelinecabinet.genmedia.sibling_save у scripts/PIPELINES.md

    Модулі

    ШляхРоль
    features/generative-media/types.tsGalleryItem, області nft | product | cabinet | editor, buildGenMediaChatKey → genmedia:scope:entity:page:field
    features/generative-media/billing.tsCredit-first WalletConductor.spendCredits + журнал generative_usage
    features/generative-media/service.tsПрихований tool chat, upload, Ghost-write, ходи ImageConductor / video
    features/generative-media/nft-metadata.tsMetaplex JSON + помічники завантаження
    features/generative-media/parse-product-images.tsГалерея URL FormData для vendor/admin
    features/generative-media/components/generative-media-field.tsxВіджет SSOT із вкладками Upload | Generate
    features/generative-media/components/generative-media-editor-fs-modal.tsxПовноекранна історія + Ghost-write + Use this image
    app/_actions/generative-media.tslistGenMediaMessagesAction, runGenMediaImageAction, runGhostWriteAction, …
    lib/file/media-asset.tsSSOT відображення pickImageSrc / pickGalleryDisplayUrl
    features/chat/services/conversation-service.tsisHiddenToolConversation

    Гейти авторизації (перевірено)

    1. 1

      Потрібна сесія — усі server actions generative-media викликають auth(); без автентифікації → Unauthorized.

    2. 2

      Область NFT потребує member+ — requireMember = true, коли scope === 'nft'.

    3. 3

      Області product / cabinet — автентифікований actor (форма vendor/admin або шлях власника cabinet).

    Білінг (credit-first)

    ДіяEnv keyКредити за замовчуванням
    Ghost-writeGENERATIVE_CREDIT_GHOST_WRITE5
    Image genGENERATIVE_CREDIT_IMAGE15
    Video gen (ціна є; studio polish TBD)GENERATIVE_CREDIT_VIDEO50

    Потік: м’яка ідемпотентність за referenceId у generative_usage → перевірка балансу → WalletConductor.spendCredits → рядок журналу.

    Повторне використання каналу розмови

    ПолеЗначення
    type'product'
    metadata.kind'generative_gallery'
    metadata.hiddenFromInboxtrue
    metadata.productId / subjectgenmedia:{scope}:{entity}:{page}:{field}

    Чати product-agent магазину також використовують type: 'product' із реальним productId каталогу та без tool kind — вони залишаються видимими у Messages.

    WalletConductor

    Залежність: витрачання кредитів для generative billing.

    RingFileBase (object storage API)

    Залежність: об’єктне сховище + драбини похідних fileId_v_*.

    Generative Images (ImageConductor)

    Поглиблення: нотатки про ImageConductor / сховище нижчого рівня.