Automated Media Pipeline
The Automated Media Pipeline lets you wire FileSpin's AI addons to asset lifecycle events so they run on their own. When an asset is uploaded or has its metadata updated, the pipeline checks each enabled addon's settings, matches the event against the asset's content type and custom metadata, and triggers only the addons whose conditions match.
This page covers what the pipeline is, how the matching works, and what each addon does when it runs. For the step-by-step Dashboard walkthrough, see the Automating addons guide.
What the pipeline does
Three checks run in sequence whenever an asset event fires:
- Event hook — was the addon configured to listen for this event type (
file-saved,file-data-updated)? - Content type — does the asset's MIME type match the types you picked (e.g.
image/*,image/jpeg)? - Schema criteria — does the asset's schema and custom-field values match the criteria you defined?
Only if all three pass does the addon run. Each addon is configured independently in Settings → Addons, so you can have Face Recognition run on every uploaded portrait, Image Analysis run only on assets in a "Marketing" schema, and Remove Background run only on items tagged with a specific field — all from the same upload event.
A built-in dedup check prevents the same addon from running twice on an asset whose metadata you later edit. Each addon writes a system marker to the asset on first success; the pipeline skips the addon on subsequent events when the marker is present.
The three settings, conceptually
Every addon's automation has the same three parts in the Dashboard.
Event hooks
For each event type, you toggle the hook on or off and pick which content types qualify.
| Event | When it fires | Typical use |
|---|---|---|
file-saved | Asset upload completes | First-pass enrichment that doesn't depend on user-supplied metadata — auto-tagging, face indexing, blanket background removal |
file-data-updated | Custom metadata is changed via Dashboard | Conditional addons — run only after a user has classified the asset |
Content types support exact (image/jpeg), wildcard subtype (image/*), and any-type (*/*). The asset's MIME type must match at least one entry for the hook to fire.
Schema criteria
Schema criteria only apply to the file-data-updated hook. Fresh uploads have no custom metadata yet, so criteria can't be evaluated on file-saved.
Two filters, both optional, both applied:
- Schema — restricts the addon to assets following a specific schema. Useful when you want different addons for different content types (e.g. Face Recognition on "Event Photo" assets, Remove Background on "Product Photo" assets).
- Fields — one or more
key → valuepairs. The asset's metadata must contain each key, types must match, and string values match by substring (so"GM"matches"GM-Series"). Booleans match exactly. If a key is missing from the asset, the criterion fails.
If both schema and fields are set, both must match. If neither is set, every asset whose content type matches will trigger the addon.
Disposition
Per-addon. Tells the addon what to do with its result. The options differ between addons; see the per-addon sections below.
Face Recognition
Detects faces, generates embeddings, indexes them, and (optionally) writes face count and face IDs back to the asset's metadata so they're searchable.
Marker field set on success: _filespin_fr_count.
Disposition options:
| Option | Effect |
|---|---|
| Tag asset with face count and IDs | When on, the asset gets _filespin_fr_count and _filespin_fr_face_ids appended. When off, the face index is still built (so face search keeps working), but the asset's metadata stays untouched. |
| Process derived assets (default: off) | When off, Face Recognition skips system-generated derivative assets (e.g. background-removed PNGs created by Remove Background). When on, FR also runs on those derivatives. The default avoids duplicate face-index entries — one for the original photo, one for the cut-out — when both addons are configured together. |
Typical use
- "Index every uploaded portrait so I can search by face later" — turn on
file-savedforimage/*, no schema criteria. - "Only index assets explicitly tagged as people photos" — turn on
file-data-updated, set fields criterion tocontentType: person.
Image Analysis (Auto-tagging)
Runs vision analysis on the image, extracts labels, best-guess descriptions, and OCR text, and writes them as searchable tags. See Image Analysis (AI) for the feature overview and the Image Analysis API reference for the on-demand endpoint.
Marker field set on success: _filespin_autotag_labels.
Disposition options:
| Option | Effect |
|---|---|
| Process derived assets (default: off) | When off, Image Analysis skips system-generated derivative assets. When on, IA also runs on derivatives. The default avoids running auto-tagging on background-removed cut-outs, which produce noisy or unhelpful labels (transparent backgrounds confuse general-purpose vision models). |
Typical use
- "Auto-tag all images on upload" — turn on
file-savedforimage/*, no schema criteria. - "Only auto-tag assets in the Stock Library schema" — turn on
file-data-updated, set the schema criterion to your Stock Library schema.
Remove Background
Strips the background from an image and saves the cut-out PNG either as a conversion on the source asset or as a brand-new asset.
Marker field set on success: _filespin_rmbg_status.
Disposition options:
| Option | Effect |
|---|---|
| Output mode: Add as conversion | The cut-out is saved as a named conversion on the source asset. The original stays the canonical asset; the cut-out is a sibling visible in the Dashboard, in branded share pages with signed URLs, and at the standard conversion URL. Best when the cut-out is a derivative deliverable, not a standalone asset. |
| Output mode: Add as new asset | A brand-new PNG asset is created, linked back to the source via the _filespin_original_asset_id reserved field. Optionally inherit the source's custom metadata and schema assignment. Best when the cut-out needs its own ID, share permissions, or independent metadata edits. |
| Conversion name | When using Add as conversion, the name of the conversion. Default bg_removed. 1–30 characters, alphanumeric plus - and _. |
| Inherit metadata | When using Add as new asset, copies the source's custom metadata and schema assignment onto the new asset. |
Loop protection
Two scenarios are handled automatically — you don't need to configure either:
- Source asset re-trigger — after Remove Background runs, the marker write would normally fire another
file-data-updatedevent. The dedup check skips Remove Background when the marker is present. - Derived asset re-trigger (Add as new asset mode) — the new PNG would otherwise match Remove Background's
file-savedcontent-type filter and loop forever. The pipeline detects_filespin_original_asset_idon any incoming asset and excludes Remove Background from the matched-addon list before any output is generated.
Typical use
- "Auto-remove background from every product photo and add it as a conversion" — turn on
file-savedforimage/*, output mode Add as conversion, conversion namebg_removed. - "Remove background only on assets marked as originals, save as a new asset" — turn on
file-data-updated, fields criterionoriginalAsset: Y, output mode Add as new asset, inherit metadata on.