Beta . Ortha CMS is in public beta. Every plan is free until it ends.
Get started
Menu

Content · 7 / 23

Media library

A media library with folders and alt text, over five storage adapters — the bytes stay on your disk or in your bucket.

Media LibraryCovers New folder
Folders
All media248 items Covers36 items Portraits54 items Documents12 items
Covers 36 files
AllImagesVideoAudioDocumentsArchives Search name or tag… Newest first

Drop your own images anywhere here — they stay on your machine.

cover-night-trains.jpg
Download Copy link
Alt textMissing
Describe this image
A night train waiting at a lit platform

Read aloud in place of the image. Leave blank only if it is purely decorative.

Save alt text Details
Type
Image
Size
2.4 MB
Dimensions
2400 × 1350
Format
image/jpeg
Folder
Covers
Alt text saved
2 selectedof 36 Move to… Download Duplicate Delete

How it works

  1. 01

    Drop files in. Each can carry alt text before it uploads.

  2. 02

    Open an asset to see its details and write its alt text.

  3. 03

    Attach assets to any entry from the library, or upload new ones there.

Storage
Local, S3-compatible, GCS, Azure, Vercel Blob
Kinds
Image, video, audio, document, archive
Alt text
Per asset, or marked decorative

In depth · For everybody, eventually

Files on your storage, not in the database

A media library with folders, tags and alt text, and the bytes kept wherever you configured.

Bytes never live in the database

An asset is a row with its name, kind, alt text, tags and folder, plus a key pointing at the file. The file sits on local disk or in an S3-compatible, Azure, Google Cloud or Vercel Blob bucket.

Under the hood

A deployment runs one storage provider. Switching means moving the files; the server refuses to boot until the rows and the configuration agree.

What it does

Folders and filters
Assets live in folders, carry tags, and filter like every other list.
Two derivatives per image
A 320px thumbnail and a 1280px preview, generated on upload and never upscaled.
Alt text lives with the asset
Written once and carried everywhere the asset is used.
Media fields on any type
One asset or several, restricted by kind or MIME type, and versioned with the entry.
Uploads never fail on format
A file the processor cannot read still lands; it just gets no derivatives.

The specifics

Thing What it is
Storage backends Local, S3-compatible, Azure, Google Cloud, Vercel Blob.
Asset kinds Image, video, audio, document and archive.
Finer restriction Exact MIME types or a type/* glob.
Upload limit 50 MB by default, set with MEDIA_MAX_UPLOAD_BYTES.
Scope One library per workspace, with folders inside it.

Questions

Can I reuse an asset across brands?

No. Media is scoped to a workspace, so the same logo in two workspaces is two uploads.

What if I delete an asset an entry uses?

The entry keeps the reference, and it resolves as missing instead of breaking the page.

Full reference in the docs