Media AI
Media AI adds optional AI-assisted media actions for Capell.
What Media AI provides
Media AI adds optional AI-assisted media actions for Capell.
It is designed for editors who need help improving images, preparing assets, or speeding up repetitive media tasks.
The package keeps AI actions explicit and editor-triggered rather than silently processing public assets.
Developers can connect configured AI services through a package boundary that is easier to review and disable.
Use it when media workflows need AI assistance without making the whole CMS AI-dependent.
Install on your Capell site in three steps.
Each extension ships as a standard Composer package. Purchases unlock account access immediately before you install.
-
01
Require the package
composer require capell-app/media-ai -
02
Register the extension
php artisan capell:extension:enable capell-app-media-ai -
03
Clear schema cache
php artisan capell:admin:clear-schemas-cache
Related extensions
Browse the packages that usually pair with Media AI or buy the suite it belongs to.
WordPress Importer
Preview WordPress WXR posts and pages in Capell with durable metadata ready for Migration Assistant mapping.
Media Library
Make Curator the media backbone of your Capell site. One consistent media field everywhere, a media-health das...
Media Workflow Suite
Manage richer content intake with Media Library, provider-backed Media AI actions, shared address records, tags, and native Capell forms.
Package README Install impact, package shape, common pitfalls, and maintenance notes. Open
Media AI
Provider-backed image editing actions for Capell media records.
At A Glance
- Package:
capell-app/media-ai - Namespace:
Capell\MediaAI\ - Service providers:
packages/media-ai/src/Providers/MediaAIServiceProvider.php - Capell dependencies:
capell-app/admin,capell-app/core - Third-party dependencies:
filament/filament,laravel/framework,spatie/laravel-package-tools
Why It Helps Your Capell Workflow
- Adds a provider-backed
Doctor imageaction without forcing the media library to depend on an AI provider. - Helps editors request background removal, object removal, image restoration, improvement, and upscaling from the admin media workflow.
- Fits sites that want premium AI support for media workflows but still need predictable fallbacks when AI is disabled or unconfigured.
Best Used With
What It Adds
Provider-backed image editing actions for Capell media records.
- Optional image edit action for improve, remove-background, remove-object, restore, and upscale operations.
- ImageDoctor contract with a safe null implementation.
- Opt-in AI Orchestrator image doctor adapter configured through
capell-media-ai.image_doctor. - Filament media action extender for admin workflows.
- No public frontend output and no required AI provider binding.
Why It Matters
For developers: Keeps Media AI package responsibilities isolated behind providers, actions, data objects, and package-owned resources where the package needs them.
For teams: Makes the Capell Media capability easier to explain, install, and verify during package selection.
Built With
This package makes its Composer dependencies visible because they are part of the value proposition, not just plumbing. When an upstream package has a public repository, its linked preview card points readers back to the maintainers so their work gets proper credit.
Capell packages used here
Open-source packages used here
- Spatie Laravel Package Tools - Laravel package bootstrapping for config, migrations, commands, translations, and service provider setup.
Linked package previews
Screens And Workflow
Screenshots are generated from docs/screenshots.json during package deployment.
Code Map
| Area | Path | Purpose |
|---|---|---|
| Data | packages/media-ai/src/Data |
Structured payloads, form state, view models, and integration data. |
| Filament | packages/media-ai/src/Filament |
Admin resources, pages, widgets, and settings UI. |
| Providers | packages/media-ai/src/Providers |
Registration, extension hooks, routes, migrations, and resources. |
| Resources | packages/media-ai/resources |
Views, translations, assets, and package resources. |
| Config | packages/media-ai/config |
Package configuration and publishable config. |
| Tests | packages/media-ai/tests |
Package-level Pest coverage. |
Data And Persistence
- Config:
packages/media-ai/config/capell-media-ai.php. - Data objects live in
src/Data/; use them for payloads, form state, and view models.
Extension Points
- Contracts:
ImageDoctor. - Register Capell extension points, routes, migrations, settings, render hooks, and resources from service providers.
Install And Setup
- Install with
composer require capell-app/media-aiin the host Capell application. - In this repository, verify package changes with
vendor/bin/pest; do not usephp artisan.
Docs
Testing
Run package tests from the repository root:
vendor/bin/pest packages/media-ai/tests --configuration=phpunit.xml
Maintenance Notes
- Use package
Dataclasses at boundaries instead of passing anonymous arrays between layers.
Overview A shorter package overview for marketplace and account review. Open
Media AI
The Media AI package adds provider-backed image actions to Capell's existing media resource. It does not replace the media backend, crop system, or localized metadata model.
Status: Optional · Tier: Premium · Bundle: media · Surface: Admin · Depends on: capell-app/admin, capell-app/core
What It Adds
- A
Doctor imageaction on image records in the Media resource. - A small form for the editor to choose the image operation and add instructions.
- A
Capell\MediaAI\Contracts\ImageDoctorcontract that a provider package can bind to the real image-editing implementation, directly or through AI Orchestrator. - An opt-in
AIOrchestratorImageDoctoradapter that runs a configured AI Orchestrator module/capability and maps its response back toImageDoctorResult. - A safe default
NullImageDoctor, so installing the package never exposes a broken action before an AI provider is configured.
Marketplace Positioning
Media AI is a premium Capell Media add-on to the free Media Library workflow. Today it should be sold as the admin-safe provider seam for image operations - improve, remove background, remove object, restore, and upscale - rather than as a full AI media suite. Pair Media AI with Media Library for the editing surface and AI Orchestrator for provider governance; the bundled adapter connects to a registered AI Orchestrator image capability, but the actual image model/provider remains outside this package.
Editor Flow
- Upload or open an image in Admin > Media.
- Select
Doctor image. - Choose the operation, such as background removal or cleanup.
- Add short instructions.
- Submit the action.
When the action runs, the editor sees a Filament notification carrying the ImageDoctorResult message — a success notification when the request succeeds, or a warning when it does not. The result object carries successful, an optional message, and optional generated altText / caption fields. Successful results with generated alt text or captions are written to the media record's localized translation meta for the request locale.
Integration Contract
By default the package binds NullImageDoctor. To use the first-party AI Orchestrator adapter, configure the driver and capability keys:
return [
'image_doctor' => [
'driver' => 'ai_orchestrator',
'ai_orchestrator' => [
'module' => 'media-ai',
'capability' => 'doctor-image',
],
],
];
Custom providers can still bind Capell\MediaAI\Contracts\ImageDoctor directly. Every implementation receives the current media record and an ImageDoctorRequest (a validated operation, free-text instructions, and optional locale). It returns an ImageDoctorResult reporting successful, an optional human-readable message, and optional localized altText / caption values. The message is rendered verbatim in the editor notification, so providers must return a translated, credential-free string for the request locale.
Doctor image requests are rate-limited per editor/media pair through capell-media-ai.image_doctor.rate_limit. Optional budget_cents and model config values are forwarded on ImageDoctorRequest and through the AI Orchestrator prompt/context so provider packages can enforce spend and model selection consistently.
Boundaries
- Cropping remains owned by Curator when
capell.media.backendiscurator. - Spatie installs use Capell's fallback focal-point and crop-preset UI.
- Localized alt text, captions, credits, and decorative flags are stored in the shared
translations.metaJSON column.
Downloads and releases
- Total downloads
- 0
- Last downloaded
- No downloads yet
Version history
1 release-
v1.0.0May 3, 2026
No approved reviews yet. Reviews from eligible customers appear here after marketplace review.
Payment and licences
How marketplace purchases work
Capell keeps payment, account ownership, package receipts, and install access separate so a failed step can be recovered without guessing where the licence lives.
Who takes the payment?
Paid marketplace checkouts are sent to Stripe. Capell does not collect card details inside your CMS; Stripe confirms the payment and Capell activates the matching marketplace licence for the Capell account that approved the install.
How is the licence attached?
The licence is created against the signed-in Capell account first. When the hosted install flow returns to your CMS, Capell binds that licence to the requesting site and sends back the install authorization needed to continue.
Where does Anystack fit?
Anystack can be the package commerce and distribution surface for marketplace products. Capell still records the account licence and installed receipt, then relays later Anystack product or licence events only to connected sites that already have the package installed.
What happens if checkout is cancelled or expires?
No licence is created until Stripe confirms payment. If checkout is cancelled, start it again from the same review screen. If the quote expires, return to the marketplace in your CMS and start a fresh install flow so pricing and package metadata are recalculated.
What should I do if something looks wrong?
Keep the support reference shown on the review screen or receipt, then contact support before retrying with a different account. For missing licences, failed returns, or Anystack receipt mismatches, Capell can reconcile the Stripe session, Capell account, package receipt, and connected site from that reference.