Media Management
Capell Admin manages media through the active media backend. Curator remains the preferred crop editor when capell.media.backend is curator; the built-in Spatie fallback provides focal points and crop presets when Curator is not installed.
Uploading
Section titled “Uploading”Editors upload files through the Media resource and through package-owned Filament media fields. The resource shows the file preview, owner, collection, type, and quick actions for opening the owning record where Capell can resolve one.
Focal Points And Crop Presets
Section titled “Focal Points And Crop Presets”For Spatie-backed images, the edit page includes a Crop tab:
Focal point XandFocal point Ystore the image focal point as percentages.- Crop presets let editors choose named crops such as square, landscape, portrait, and social ratios.
- The preview shows the current focal marker so editors can see where derived crops will anchor.
- Saving an image refreshes generated Spatie conversions for the selected presets.
When Curator is configured, Capell hides the fallback Crop tab and leaves image cropping to Curator’s own editor.
Localized Metadata
Section titled “Localized Metadata”Localized media metadata uses the shared polymorphic translations table. The Media resource writes alt text, captions, credits, and decorative flags to the translation meta JSON column, so media metadata follows the same language model as pages and content.
Frontend rendering reads this metadata automatically when <x-capell::media> receives a Capell media model and no explicit alt prop. Decorative images render with an empty alt attribute.
Usage Relationships
Section titled “Usage Relationships”The edit page includes a usage panel that shows the model currently owning the media record. Package authors can extend this with richer “used on these pages” relationships by recording media references in their own structured fields and exposing them through admin resource extenders.
AI Media Doctor
Section titled “AI Media Doctor”Install capell-app/media-ai when you want optional AI image actions in the Media resource. The package contributes a Doctor image action only when an ImageDoctor implementation is bound, so projects can wire their preferred ai-orchestrator/image provider without coupling Admin to that dependency.