Skip to main content
Upload media once, then reuse it in content, pages, and AI chat. Files created by Fimo’s generation commands land in the same media library.

Upload and find files

The upload response includes the asset ID and URL. When you attach an uploaded image to content, Fimo stores the value as a reference to that asset: the ID is persisted with the entry, alongside the URL as a fallback. A read returns that reference as stored. Ask for the asset’s current name, MIME type, and intrinsic width and height by naming the field in populate:
--populate accepts a media field, or a blocks field, which covers every media value inside it. A populated read reflects the media library as of that moment, so replacing or renaming an asset shows up without editing any entry. Framework image components render the stored reference, and use the intrinsic size when the read carried it to reserve the aspect ratio and avoid requesting variants larger than the original file. Your component props and CSS still choose the displayed size and crop. Asset lists return nextCursor when another page exists. Keep the same filters when continuing a query. The older --offset flag remains accepted for existing scripts. You can also create folders, move assets, and remove them:

Let agents read existing assets

When an agent needs to understand a document or media file, it can read the supported interpretation already associated with a Media Library asset:
The result is bounded. Follow nextCursor until complete is true for a complete read, or use --query for one targeted question. Use fimo assets open <asset-id> --download when the agent needs the original file instead of its canonical interpretation. Archives are downloaded and inspected in the agent’s sandbox rather than extracted on the server.

Supported file types

Asset reading covers these common file types:
  • Images: .png, .jpg, .jpeg, .webp, .avif
  • Documents and data: .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .epub, .odt, .ods, .odp, .rtf, .html, .htm, .csv, .md, .markdown, .json, .txt
  • Archives: .zip
  • Audio: .mp3, .wav, .aiff, .aif, .aac, .ogg, .flac
  • Video: .mp4, .mpeg, .mpg, .mov, .avi, .flv, .webm, .wmv, .3gp
  • 3D models: .glb, .gltf, .fbx, .obj, .stl, .ply
Chat model input support can vary. If a model cannot accept a direct attachment, use a model that supports the format or read the stored asset interpretation with fimo assets read.

Size limits

No single file may exceed 50 MiB, wherever it is uploaded from — the CLI, the Media Library, or a chat attachment. Chat attachments are held to a tighter limit per file type, because the whole message has to fit in one turn: One message carries at most 10 attachments totalling 20 MiB. A file over any of these limits is refused before it is uploaded, and Fimo names the file, its size, and the limit it missed. A project’s total stored media is a separate, plan-based allowance. Reaching it refuses new uploads with the figures involved, whatever each file’s size.

Generate an image

Image commands can also edit an existing image, remove its background, or upscale it. Run the task with --help to see the inputs supported by your installed CLI. Preview a generation request without creating an asset:

Generate a video

Add --image <asset-id-or-url> to start from an image. Other video tasks can animate an image from source motion or replace people while keeping the source motion.

Choose a quality

Replace or remove assets safely

Check where an asset is referenced before you remove it:
The scan covers the Current Branch, Main, and Live, and reports coverage and a reference count for each. Other Branches and code references are not checked, so use the result as guidance for those three places only.
fimo assets remove <asset-id> removes the asset from the current Branch. It does not replace references automatically. Reference counts and incomplete scan results do not block it. Main, Live, other Branches, and the stored file remain unchanged. fimo assets remove <asset-id> --permanent deletes the asset from the project and cannot be undone. The command asks for confirmation. Pass --yes only for an already-approved non-interactive run:
With both --replace-with and --permanent, Fimo first updates known content references in every active Branch and Live, then deletes the source file. If a replacement fails, Fimo keeps the source file so the command is safe to retry. fimo assets delete remains an alias for fimo assets remove for existing scripts. For every media task, option, and supported limit, see the CLI reference.

What’s next

Media library

Upload, sort, and reuse files in Studio.

Content

Attach assets to content fields.

Frameworks

Render media with the right adapter.