Aveiro Documentation
Getting Started
What Is Aveiro?
Create Your Account
Create Your First Site
Dashboard Tour
Key Concepts
Members and Permissions
API Tokens
Aveiro MCP server
Organization
Affiliate Program
Sites
Sites Overview
Choosing a Template
Managing Sites
Preview and Live URLs
Social
Social Publishing Overview
Connecting Social Accounts
Social Approval Workflow
Social Agents and API
Audience
Audience Overview
Campaigns
Automation
Segments
Deliverability
Sending Domains
Embed Forms
Subscribers
Audience Agents and API
Messaging
Messaging Overview
Visitor Support Chat
Inbox
Analytics
Analytics Overview
Events
Live Visitors
Page Analytics
Editor
Editor Overview
Media Library
Pages
Pages Overview
File Tree and Collections
Creating and Organizing Pages
Page Settings
Publishing Pages
Version History
Ai
AI Overview
Chat and Suggestions
Working with AI Changes
Translations
Translations Overview
Layout
Layout Overview
Site Layouts
Collection Layouts
Header, Footer, and Sidebars
Ad Placements
Components
Components Overview
Adding and Editing Components
Component Categories
Writing with MDX
Editing
Keyboard Shortcuts
Preview, Visual, and Source
Styles
Styles Overview
Block Styles
Site Theme and Branding
Settings
Visitor Login
Analytics and Privacy
Custom Domains
Settings Overview
Publishing Settings vs Content
SEO and Social Sharing
Site Name and URL
Visitor Assistant
Site Ad Settings
Integrations
Integrations Overview
Fourthwall Integration
Studio
Studio Overview
Frametic Studio
Monetization
Monetization Overview
Products
Merchant of Record
Ads
Ads Overview
Managing Ad Inventory
TrademarkTrademark
Ctrl k
Search…
Sign up
Aveiro Documentation
Getting Started
What Is Aveiro?
Create Your Account
Create Your First Site
Dashboard Tour
Key Concepts
Members and Permissions
API Tokens
Aveiro MCP server
Organization
Affiliate Program
Sites
Sites Overview
Choosing a Template
Managing Sites
Preview and Live URLs
Social
Social Publishing Overview
Connecting Social Accounts
Social Approval Workflow
Social Agents and API
Audience
Audience Overview
Campaigns
Automation
Segments
Deliverability
Sending Domains
Embed Forms
Subscribers
Audience Agents and API
Messaging
Messaging Overview
Visitor Support Chat
Inbox
Analytics
Analytics Overview
Events
Live Visitors
Page Analytics
Editor
Editor Overview
Media Library
Pages
Pages Overview
File Tree and Collections
Creating and Organizing Pages
Page Settings
Publishing Pages
Version History
Ai
AI Overview
Chat and Suggestions
Working with AI Changes
Translations
Translations Overview
Layout
Layout Overview
Site Layouts
Collection Layouts
Header, Footer, and Sidebars
Ad Placements
Components
Components Overview
Adding and Editing Components
Component Categories
Writing with MDX
Editing
Keyboard Shortcuts
Preview, Visual, and Source
Styles
Styles Overview
Block Styles
Site Theme and Branding
Settings
Visitor Login
Analytics and Privacy
Custom Domains
Settings Overview
Publishing Settings vs Content
SEO and Social Sharing
Site Name and URL
Visitor Assistant
Site Ad Settings
Integrations
Integrations Overview
Fourthwall Integration
Studio
Studio Overview
Frametic Studio
Monetization
Monetization Overview
Products
Merchant of Record
Ads
Ads Overview
Managing Ad Inventory
TrademarkTrademark
AveiroBlogContact
© Aveiro. All rights reserved.
Built with Aveiro

Media Library

Organization-wide media library — folders, unified sources across sites, images and videos, uploads, safe deletion with org-wide reference checks, and AI generation from any media picker.
Updated 7d ago
Editor Overview
In short
Every media picker in Aveiro shares one organization library. Filter by org uploads or any site, by type (images or videos), and by folder — on **Studio → Assets**, use **Unfiled** and refinement filters (Frametic renders, not referenced) to file or clean up. Upload, paste, delete with a reference scan, open **Film a website** (guided 3D mockup setup) or **Generate with AI** in a stacked dialog — on Studio → Assets you can compose images or short video clips with multiple reference attachments. Folders are labels — canonical media paths never change when you move files.

Where the library appears

The same media picker opens anywhere you attach an image or video:
  • Site editor — hero backgrounds, Media blocks, page cover images, branding logos
  • Social — post drafts in Dashboard → Social
  • Audience — campaign images and email blocks

Organization assets page

Open Studio → Assets in the dashboard sidebar to browse the full library without opening a picker:
  • Multi-select — checkbox tiles for bulk actions
  • Bulk move — drag a selection into a folder, or use the move menu to file many assets at once
  • Bulk delete — remove unused files in one pass; files still referenced by pages, campaigns, or pending social posts are skipped (same org-wide scan as single-tile delete)
  • Permissions — every member can browse org media; site media tiles only show move/delete controls when you have edit access to that site
  • Unified AI composer — Generate with AI opens one panel for Image or Video mode, with up to three reference images, model tier, and (for images) aspect ratio or (for video) clip length. In-flight video jobs appear as pending tiles in the grid until ingest finishes
  • Film a website — paste a public URL and complete Frametic's guided setup in a tall, scroll-free dialog (the wizard tracks viewport height so the longest step fits without a frame scrollbar); credits are charged when the render is queued. While Frametic works, a placeholder tile appears in the library grid where the finished clip will land — the same pattern as in-flight AI video jobs. Failed renders show as error tiles org-wide for 24 hours so someone can see why credits were refunded; dismiss a tile to hide it in your browser (the render record stays for lookup)
  • Video poster frames — library tiles seek to the clip midpoint (not frame 0) so title cards and fade-ins do not hide the subject; the same offset is sent at publish time on platforms that accept a cover frame
  • Preview on expand — hover a tile and click Expand to open a full-size preview dialog; images and videos use contain sizing so the whole asset fits. The preview uses the same signed displayUrl as grid tiles so expanded images and videos load without your session cookie. Download in the dialog footer streams the file through a same-origin attachment route — that avoids CDN CORS limits in the browser and gives mobile Safari a proper save action instead of opening the CDN URL in a new tab.
  • The assets page uses the same folder tree, filters, upload, and AI generation controls as every media picker — it is the shared library surface, not a separate bucket.

    Refinements (Studio → Assets)

    On the organization assets page only, a Filter dropdown narrows the grid beyond folders, sources, and types. Refinements stack with the other filters:
    Filter
    What it shows
    Frametic rendersAssets whose registration carries `origin: rendered` — written only by the Frametic render completion path (Studio renders and **Film a website** jobs)
    Not referencedAssets not used by any page, site settings, draft or scheduled email campaign, or social post that still needs its media. A bare social-library registration alone does not count as usage — otherwise every Frametic render would appear referenced.
    Refinements apply server-side per page after folder and source filters. A refined page may return fewer tiles than the page size while the cursor still advances — scroll to load more until the grid is exhausted.
    Each surface defaults its Sources filter sensibly (for example the site editor starts with the current site checked). The underlying library is shared across the organization.

    Sources filter

    The toolbar Sources dropdown controls which uploads appear in the grid:
    Source
    What it includes
    Organization mediaFiles uploaded through any dashboard picker into org storage
    Per-site checkboxesImages stored under each site in your org
    All sitesQuick toggle above the site list — checks or unchecks every site at once
    Use the Types filter to show images, videos, or both. Checked sources merge into one newest-first stream. Pagination loads more as you scroll.
    When All sites is indeterminate (only some sites selected), clicking it selects every site. Clicking again clears all site sources — organization media can stay checked on its own.

    Folders

    The left sidebar organizes assets into folders — pure metadata, not separate storage buckets.
    • All media — always-present root; shows every asset regardless of folder assignment
    • Unfiled — virtual sidebar view for assets assigned to no folder (also a drop target — dropping a tile here clears its folder, same as All media)
    • Custom folders — create, rename, delete, and nest as deep as you need
    • Drag and drop — reorder folders, nest by dropping on a folder row, or drag assets from the grid into a folder
    • Drop on All media or Unfiled — clears an asset's folder assignment
    Uploading or pasting from the clipboard while a folder is selected files the new asset into that folder.
    Folders never break URLs
    Moving an asset between folders only updates folder metadata. Storage paths and public URLs stay the same — existing pages, emails, and social posts keep working.
    Folder interactions mirror the Pages file tree: accordion rows, connector lines for nested folders, right-click for the actions menu, and edge-vs-center drop zones for reorder vs nest.

    Upload and paste

    • Upload — click the upload control or drag files onto the grid
    • Paste — copy an image, focus the picker, and paste (disabled while the AI dialog is open)
    • Select — footer button confirms your choice and returns the public URL to the calling field
    Raster uploads may be compressed for site performance. Logo pickers that accept SVG skip raster conversion.

    Delete media

    Hover a tile and click Delete (unified library mode). Aveiro runs an org-wide reference scan before removing the file:
    Result
    What it means
    BlockedThe file is still needed — pages (draft or published), site settings, draft or scheduled email campaigns, or social posts that have not finished dispatching. Deletion is refused and the dialog lists each usage.
    Allowed with warningSent email campaigns or published social posts may still reference the URL in history. The file will stop loading, but you can confirm deletion.
    SafeNo references found inside Aveiro. URLs used only in external tools cannot be detected.
    The scan covers every site in the organization, not only the site where you opened the picker.
    • Organization media — any org member can delete (same as upload).
    • Site media — requires edit access to that site.
    Deleting removes the storage object (Supabase image or Bunny video) and cleans up folder assignments. It does not rewrite historical campaign or post content — fix those separately if a broken image appears after deletion.

    Generate with AI

    When AI generation is available for the surface you are in, the toolbar shows Generate with AI. It opens a stacked dialog on top of the library — the grid stays visible underneath so you can attach references and return to browsing.

    Studio → Assets (image and video)

    The org assets page uses a unified AI composer — one prompt box with an Image / Video mode selector in the footer:
    • Image mode — pick aspect ratio (square, portrait, landscape, and social presets), Quasar Lite or Quasar Max tier, and attach up to three reference images from the library for style or subject consistency
    • Video mode — on paid plans that include video upload, describe a short clip (5 or 10 seconds), pick an aspect ratio when offered (16:9, 3:4, or 9:16), and attach up to three reference images to guide the first frame. Quasar Max is the only video tier in the picker today — the former Lite tier is withdrawn but historical jobs still resolve. Generation runs as a background job — a pending tile appears in the grid until the clip is ingested to org video storage
    Each attached reference adds to the quoted credit cost (on top of the base image or per-second video rate). The composer trims attachments automatically when you switch model or mode and a selection no longer fits.

    Video tiers

    Tier
    Model
    Credit rate
    Clip length
    Aspect ratios
    Plan
    Quasar MaxAlibaba Wan 3.0 via the Vercel AI Gateway — cinematic motion and audio sync200 credits per second (1,000 for 5s, 2,000 for 10s)5 or 10 seconds at 720p with synced audio16:9 (default), 3:4, 9:16 — pick from the ratio control when the tier offers more than onePaid plans with Quasar Max
    Each attached reference image adds 150 credits on top of the per-second rate. Video jobs run asynchronously — a pending tile appears in the grid until the clip is ingested to org video storage.
    Library reference images are stored as canonical /api/media paths. Before the job starts, Aveiro resolves each one to a short-lived Supabase signed URL the video provider can fetch — external https:// references pass through unchanged; a missing library file fails the request before credits are reserved.
    Reference images with people
    Video generation cannot animate reference images that contain recognizable people — the provider rejects those requests. Use product shots, landscapes, or abstract references instead.

    Site editor, social, and email pickers

    Other dashboard pickers still focus on AI images:
    • Site editor image picker — aspect ratio, optional single reference image, Quasar Lite or Max
    • Site editor video picker — separate video generator with optional single reference image (async job with pending tile)
    • Social and email — image generation with aspect ratio; social agents can also request multi-aspect crops via the API — see Social overview
    Each generation consumes organization AI credits. Saved AI images and videos land in the library like uploads. Select the target folder before generating if you want them filed immediately.

    Frametic Studio

    When Frametic Studio is enabled for your organization (on by default), open Studio → Frametic Studio for the full Frametic editor — project grid, themes, formats, backdrops, and renders — with finished clips landing in the same library as uploads and Film a website jobs. Rendering debits organization credits through the same enqueue path as the guided wizard.
    Guide: Frametic Studio. Overview: Studio.

    How media URLs work

    Upload routes store a canonical delivery path (/api/media/…) in page MDX, site settings, campaigns, and social drafts — not a world-readable Supabase URL. When someone actually views the asset, Aveiro signs that path for them:
    Context
    Who can read
    Live published siteVisitors — standing grant while the site stays published; unpublishing revokes access. Site settings (logo, favicon, default OG image), collection listing thumbnails, shop product imagery (product pages, Products block, Product Showcase), and embedded media in custom product MDX pages are signed the same way.
    Dashboard (editor, settings, sites list, home)Org members with site access — page MDX, metadata, site settings (including the default OG image in draft preview heads), site-list and dashboard-home recent-site covers, dashboard-home social post thumbnails, Studio → Assets expand previews, AI image/video generation results returned to the composer, campaign editor HTML (rendered body and block marker), social asset thumbnails, shop product images, and custom product-page MDX bodies are signed on read so `next/image` and the newsletter canvas can load them; saves strip grants back to the canonical path. Client-composed previews (for example the campaign preview iframe) still fall back to session cookies on bare `/api/media` paths
    Email send (production, test, welcome)Recipients and their mail providers — absolute URLs with per-asset share grants minted at send time; stored campaign HTML stays unsigned
    Social post at publish timeDestination platforms — per-asset share grant stored for server-side fetch; revoked when the file is deleted
    User avatars and org logosWorld-readable by design — small identity assets used across org boundaries
    Gallery templates copy starter MDX verbatim, including /api/media/… paths that may still reference the template source site — duplication copies content, not storage files. On a live published site those references load for visitors; unpublishing revokes access even when the uploader differs.
    Template marketplace and wizard — approved gallery templates sign thumbnail / thumbnails on read (marketplace, site wizard, and the submitter's template-status panel) with the template site's visitor grant. An approved submission counts as live for media delivery even while the template site is unpublished or in coming-soon mode; revoking approval drops it from that check. Submissions canonicalize thumbnail URLs on write so signed round-trips are never persisted.
    Platform showcase — the public gallery on aveiro.app/showcase signs each site's default cover with a visitor grant and keeps the URL root-relative so next/image on the marketing host can load it without listing every customer domain in images.remotePatterns.
    The picker hands back a signed displayUrl so images render immediately in the editor canvas — next/image refetches without your session cookie, so an unsigned path would 404. Upload responses return the same pair: url (canonical, for storage) and displayUrl (signed, for rendering). When you save, Aveiro strips grants and stores the bare /api/media/… path. Library thumbnails use displayUrl the same way. Moving files between folders does not change storage paths or canonical URLs — existing references keep working.

    Social library vs org media

    Org media storage (this library) holds dashboard uploads and AI saves. Social posts attach assets from the separate social media library — register an org URL with POST /api/v1/social/media or generate through the social API.
    Guide: Social agents and API. API reference: Social media API.

    Storage limits

    Every organization has a storage allowance based on its plan. Storage is bytes at rest — unlike AI or email credits, it does not reset each billing period. When you are full, delete unused files or upgrade.
    Check Billing → Usage for a storage meter alongside editors, live sites, and pages.
    Plan
    Storage
    Video upload
    Free (trial)250 MBImages only — video upload is not on the free plan
    Starter5 GBUp to 200 MB per file
    Creator25 GBUp to 200 MB per file
    Professional100 GBUp to 200 MB per file
    EnterpriseCustomCustom

    What counts

    Storage includes:
    • Organization and site media — images uploaded through any dashboard picker
    • Hosted videos — video files on the platform CDN for each org and site
    • Chat attachments — visitor and team messaging files
    • Monetization product files — downloadable files attached to paid products
    Soft-deleted sites still count — their files remain on disk until you remove them.
    Excluded (small and fixed): user avatars and organization logos in shared branding slots.

    When uploads fail

    • Free plan — the Video block stays visible in the editor as a locked tile with Upgrade; video pickers and upload dialogs refuse video files. Upgrade to Starter or higher to upload or host video.
    • Storage full — prepare and upload endpoints return an error; delete unused assets from Studio → Assets or site media pickers first.
    • Per-file cap — paid plans enforce a 200 MB maximum per video file.
    Deleting a file from the library frees storage after the object is removed from storage backends.
    Agent uploads
    Direct agent uploads (POST /api/v1/social/media/upload and dashboard upload paths) count against the same storage meter. A rolling daily upload count limit applies separately from the byte quota.

    Tips

    Goal
    Approach
    Brand kit in one placeCreate a Brand folder under org media; file logos and hero backgrounds there
    Find a screenshot from another siteEnable that site's source, or use All sites, then search visually in the grid
    Remove unused uploadsOn Studio → Assets, filter **Not referenced**, then bulk-delete — blocked while a page, campaign, or pending social post still references the file
    File stray uploadsOpen **Unfiled** in the sidebar and drag tiles into folders — or drop on **Unfiled** to clear a folder assignment
    Audit Frametic outputFilter **Frametic renders** to see clips from Studio and **Film a website** before registering them for social posts
    Reuse a photo on a social postCopy its canonical `/api/media/…` URL from the library, then register via API or dashboard
    Consistent AI charactersSave reference sheets to a folder; attach up to three on Studio → Assets before generating variants

    Related guides

    • Adding and editing components
    • Page settings
    • Social overview
    • Campaigns