> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackshift.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# AI DAM and versioning

> Use OpenAI-backed asset intelligence, moderation, transcripts, smart crops, background removal, collections, saved searches, and branching versions.

<Tip>
  **Live.** This area is documented as current, user-reliable behavior.
</Tip>

## Goal

Add richer discovery, governance, and version control to assets without changing stable current asset URLs.

## Prerequisites

* A clean, non-quarantined asset
* AI processing enabled for the account when using AI actions

## Workflow

<Steps>
  <Step>
    Run AI analysis after malware scanning marks the asset clean.
  </Step>

  <Step>
    Review generated tags, captions, moderation state, transcripts, smart crops, and background removal outputs.
  </Step>

  <Step>
    Use auto-quarantine defaults for severe moderation categories.
  </Step>

  <Step>
    Create collections for curated sets and saved searches for reusable filtered views.
  </Step>

  <Step>
    Use branches and versions when replacing assets needs history, restore, compare, or promotion behavior.
  </Step>
</Steps>

## AI actions

* Analyze images and videos for structured tags and captions.
* Moderate content and auto-quarantine severe high-confidence categories.
* Transcribe audio and video speech.
* Request smart crop suggestions and derived crop outputs.
* Request background removal derivatives for supported images.

## Collections and saved searches

* Collections are explicit groups of selected assets.
* Saved searches store filters such as query, tag, folder, MIME family, visibility, and checksum.
* Use collections for hand-picked campaigns, galleries, or deliverables.
* Use saved searches for living views such as recent videos, untagged assets, or quarantined items.

## Version and branch URLs

```ts theme={null}
const pinned = stackshift.assets.versionUrl(asset.id, version.id)
const staging = stackshift.assets.branchUrl(asset.id, 'staging')

await stackshift.assets.restoreVersion(asset.id, version.id)
await stackshift.assets.promoteBranch(asset.id, 'staging')
```

## Expected result

<Check>
  The asset library supports AI metadata, moderation safety, transcripts, advanced derivatives, reusable organization, and pinned version delivery.
</Check>

## Related guides

<CardGroup cols={2}>
  <Card title="StackShift Assets overview" href="/assets/overview">
    StackShift Assets is now a live media platform: storage, CDN delivery, image optimization, upload sessions, DAM, video, scanning, governance, AI metadata, and version history.
  </Card>

  <Card title="Upload UX and DAM" href="/assets/upload-ux-and-dam">
    Use resumable upload sessions, progress-aware browser uploads, tags, folders, search, bulk actions, and usage summaries.
  </Card>

  <Card title="Video, scanning, and governance" href="/assets/video-scanning-and-governance">
    Process video asynchronously, deliver HLS and posters, scan uploads, quarantine infected assets, and enforce account policies.
  </Card>
</CardGroup>
