Solo
1 editor, 2 Macs
$—/year
For a shooter-editor who cuts their own events or channel.
- Every feature: sorting, sync, Review, style profiles, rough cuts, Premiere export
- Unlimited events and style profiles
- Agent access (MCP)
- Updates for the year
Pricing
You buy Sift once a year. The AI work runs on your own OpenRouter or Anthropic account, so you pay the provider directly, at their prices, with a spending cap on every event.
1 editor, 2 Macs
$—/year
For a shooter-editor who cuts their own events or channel.
Up to 5 editors
$—/year
For a small team that shares footage and house styles.
What the AI costs
Sift sends sampled frames and transcript text to the model you pick, under your key. These are real totals from our own runs with the default models (Claude Sonnet 5 for frames, Claude Haiku 4.5 for transcripts, Claude Opus 5.5 for style notes). Yours will differ with the footage, the models and provider prices.
| Job | Size | Spent | Note |
|---|---|---|---|
| Wedding, full run | 436 files, about 11 GB, 7 devices | $5.68 – $7.73 | Three runs of the same wedding. Most of it is vision labels on 4,447 sampled frames. |
| Style profile, golf channel | 18 videos, about 7 hours | $7.34 | Long episodes cost more: more shots to label. |
| Style profile, one long episode | 1 h 36 min | $2.60 | Estimate before the run: $2.73. |
| Style profile, Shorts | 3 Shorts | $0.11 |
Every event and profile has a budget cap: $20 per event and $10 per profile by default, changed per run. Before a run, Sift shows the estimate, e.g. “37 frames to label · ≈ 42k tokens · $0.07 of $20.00 cap”. At the cap, labeling stops, and whatever is left goes to Review.
Switch API calls off in Settings and Sift still scans, syncs, detects scenes, transcribes, groups takes and samples frames on your Mac. Moment labels and style profiles wait until you turn it back on.
These are a handful of runs, not an average. Provider prices change, and a run that is re-labeled after a fix spends again. Check your provider's dashboard for the exact figure.
data_collection: deny).