Asset Sharing System
Feature Snapshot
| Field | Value |
|---|---|
| Feature name | Asset Sharing System |
| Primary goal | Enable public sharing of assets to drive viral growth |
| Availability | Users with 'share' feature flag enabled |
Key Facts the Model Must Know
- Users can share individual assets publicly or privately
- Public shares create permanent links viewable by anyone
- Private shares use the current project URL for team-only access
- Share dialog appears in asset editor sidebar
- Links remain active until explicitly made private
- Social media integration promotes Mito growth
Privacy States
| State | Description | URL behavior |
|---|---|---|
| Private | Default state, no public access | Uses current project URL |
| Public | Publicly accessible via share link | Generates share.mito.ai/{token} URL |
Core Operations
Creating public shares
- Trigger: User selects "Public access" in share dialog
- Result: Creates ShareInfo with unique token
- API: POST
/projects/{projectId}/shareswith{assetId} - URL format:
https://share.mito.ai/{token}
Making shares private
- Trigger: User selects "Private" for existing public share
- Result: Deletes ShareInfo, disables public link
- API: DELETE
/projects/{projectId}/shares/{token}
Share dialog states
- Feature-gated: Only shows if
sharefeature flag enabled - Asset context: Only appears in asset editor view
- Loading states: Handles creation/deletion async operations
Share Link Features
Public landing pages include:
- High-quality asset display
- Optional generator history showing creation process
- Mito branding and signup CTAs
- Optimized for social media sharing
Social integrations:
- X: Pre-populated with "@mito__ai" mention
- LinkedIn: Professional sharing with credit incentive
- Facebook: Direct link sharing
- Email: Pre-formatted share message
Technical Implementation
Share targets supported:
- Assets:
{assetId: string} - Takes:
{takeId: string}(storyboard feature)
API endpoints:
POST /projects/{projectId}/sharesDELETE /projects/{projectId}/shares/{token}GET /projects/{projectId}/shares/assets/{assetId}GET /projects/{projectId}/shares/takes/{takeId}
Client behavior:
- Optimistic updates for privacy state changes
- Clipboard API integration for link copying
- Real-time sync with query invalidation
Common User Scenarios
First-time sharing
User: How do I share my asset?
Assistant: Click the Share button in the asset editor, then choose "Public access" to create a link anyone can view. You can copy the link and share it on social media using the built-in buttons.
Privacy concerns
User: Can I make my shared asset private again?
Assistant: Yes! Open the Share dialog and select "Private" instead of "Public access". This immediately disables the public link while keeping the asset accessible to your workspace team.
Social media sharing
User: How do I share on LinkedIn?
Assistant: In the Share dialog, make sure your asset is set to "Public access", then click the LinkedIn button. When you share and tag @MITO AI, you can DM them to earn credits for your account.
Error Scenarios
| Problem | Cause | Solution |
|---|---|---|
| Share button missing | Feature flag disabled | Feature not available for user |
| Can't create public link | API error | Retry operation, check connection |
| Link not working | Asset deleted or made private | Verify asset exists and privacy setting |
| Copy fails | Browser permissions | Use manual text selection |
Content Guidelines
When helping with sharing:
- Explain both privacy options clearly
- Highlight the LinkedIn credit opportunity
- Emphasize asset quality for public shares
- Guide users to appropriate privacy settings
Always mention:
- Public links remain active until made private
- Shared assets help grow the Mito community
- Quality assets make better portfolio pieces
- Team members can always access private shares
Feature Boundaries
Supported workflows:
- Individual asset sharing from canvas/editor
- Privacy state management (public ↔ private)
- Social media distribution
- Portfolio building and showcase
NOT supported:
- Bulk sharing multiple assets at once
- Share link analytics or view tracking
- Custom share page branding
- Scheduled sharing or expiration
Integration Points
Canvas integration:
- Share button in asset editor top-right
- Requires opening individual asset view
- Part of broader canvas asset management
Storyboard integration:
- Also works for sharing individual takes
- Same privacy model and UI patterns
- Helps showcase video work-in-progress
Success Metrics Context
- Drives viral growth through quality asset shares
- Converts viewers into new Mito users
- Builds community around creative showcases
- Supports creator portfolio development
Related Resources
- User guide:
docs/user/canvas/guides/sharing-assets.md - Technical: Social sharing utilities in share module
- Feature flag:
shareenables entire feature set
Update Log
- 2026-01-24 — Initial asset sharing system with public/private states