Skip to content

Image Uploads & Variants

Uploads

Built-in sections that accept images (Hero bg_image, Features icons, etc.) write to the public disk under filamentcraft/uploads/ by default. Override with environment variables:

dotenv
FILAMENTCRAFT_UPLOADS_DISK=s3
FILAMENTCRAFT_UPLOADS_DIR=tenants/acme/site
FILAMENTCRAFT_UPLOADS_VISIBILITY=public
FILAMENTCRAFT_UPLOADS_MAX_KB=10240

The disk MUST be publicly readable so the renderer's Storage::disk()->url($path) call resolves to a working URL.

Size variants

ImageValue::small(), medium(), and large() return the original URL by default — FilamentCraft does not bundle an image transformer. To wire up your stack's resizer (Glide, Imgix, Cloudinary, etc.), register a resolver on the plugin:

php
->imageSizesUsing(fn (ImageValue $image, string $size): string => match ($size) {
    'small' => $glide->getUrl($image->path, ['w' => 480]),
    'medium' => $glide->getUrl($image->path, ['w' => 1024]),
    'large' => $glide->getUrl($image->path, ['w' => 1920]),
    default => $image->url,
})

Proprietary — distributed via Anystack.