AI & creator studio
An AI assistant, image generation, AI short dramas and product ad creation inside the community, with explicit, revocable member grants for conversation access.
The AI & creator studio brings AI tools into the community app: an assistant, image generation, AI short-drama production and product ad creation. Projects, prompts, generated assets and publishing rules live in the operator's deployment on the studio-service component. Inference runs on the shared AI service.
The module is in developer preview. Its building blocks exist in the reference stack — an AI control plane that routes model traffic through a gateway with quota enforcement, an AI creation pipeline with idempotent paid commands, and a consent-gated contract for summarising and replying to selected messages — but the member-facing studio is not yet generally available there.
Capabilities
| Capability | Manifest option | Status |
|---|---|---|
| AI assistant | assistant | Preview |
| Image generation | imageGeneration | Preview |
| AI short dramas — scripts, episodes, media | shortDrama | Preview |
| Product ad creation | productAds | Preview |
| Conversation summary and reply suggestions with member grant | chatContentAccess | Preview |
Configuration
{
"modules": {
"aiStudio": {
"enabled": true,
"assistant": true,
"imageGeneration": true,
"shortDrama": true,
"productAds": false,
"chatContentAccess": "member-grant"
}
}
}Prop
Type
Validation rules for this block:
service.ai-required(error) if the studio is enabled whilesharedServices.aiisnone.module.empty(warning) if the studio is enabled withassistant,imageGeneration,shortDramaandproductAdsallfalse.privacy.ai-grant(info) ifchatContentAccessismember-grantwhile chat end-to-end encryption is on.
Chat content access
The assistant never reads chat content by default.
chatContentAccess | Behaviour |
|---|---|
none | The assistant cannot be given access to any conversation. It works only on what the member types or uploads into the studio. |
member-grant | A member can grant the assistant access to a conversation, or to selected messages in it, from their own device. The grant is scoped, visible to the member, and revocable at any time. |
How a grant works:
- The member selects a conversation or messages and chooses an AI action — for example summarise or suggest a reply.
- The app asks for consent before anything is uploaded or any AI request is made.
- With encryption on, the member's device decrypts the selected content locally and sends only that content, for that request, through the studio service to the AI service.
- Revoking the grant stops future access. Content already processed for a completed request is not recalled.
Operators cannot create grants on a member's behalf, and the Server API exposes grant metadata for audit — never granted content.
Chat encryption does not make AI inference end-to-end encrypted. Content a member sends to the assistant is processed by the AI service in plaintext for that request.
Generation jobs and billing
Generation is asynchronous. A job moves through queued, running, and then completed or failed; results are delivered to the studio service and stored in the operator's object storage.
Where an operator charges members for generation, the studio follows the sequence the reference creation pipeline uses: a server-side quote, then admission — which reserves the job, checks the quote and balance, and debits the member in one database transaction — then settlement when the result arrives. Replaying the same command returns the same job without a second charge. Prices are set by the operator; the client never supplies an amount.
Publishing
Generated assets are private to their creator until published. Publishing follows the operator's rules — who may publish, where, and whether publication passes moderation first. Published short dramas and ads can be distributed in the community's own surfaces.
Events
Preview webhook events. Payloads never include prompts, inputs or generated content.
| Event | Fired when | Key fields |
|---|---|---|
ai.grant.created | A member grants conversation access | grantId, memberId, conversationId, scope |
ai.grant.revoked | A member revokes a grant | grantId, memberId |
ai.job.created | A generation job is admitted | jobId, memberId, kind |
ai.job.completed | A job produces its result | jobId, kind, units |
ai.job.failed | A job fails | jobId, kind, reason |
ai.asset.published | A generated asset is published | assetId, memberId, kind |
Privacy scope
AI never reads chat content by default. Access to a conversation requires an explicit, revocable grant.
Shared services and metering
| Shared service | Unit | Measures |
|---|---|---|
| AI inference & generation | ai-tokens | Model tokens processed for assistant and text requests |
| AI inference & generation | images | Images generated |
| AI inference & generation | video-seconds | Seconds of video generated |
Quotas are enforced per community by the AI service and can be subdivided per member by the operator.
Limits
The manifest has no numeric fields for the studio. Throughput and quotas are set per community on the shared AI service.