The four plans
| Plan | Price | Seats | Gist |
|---|---|---|---|
| Free | $0 | 1 | 10 AI clips/mo, one platform, watermark |
| Pro | $29/mo | 3 | Unlimited clips, no watermark, all platforms |
| Studio | $99/mo | 10 | Everything in Pro, API access, priority GPUs |
| Enterprise | Custom | Unlimited | Contracts, SSO, support |
Upgrading
Settings → Billing → pick a tier → lands on Stripe Checkout. Annual vs monthly is its own button. Stripe collects the card; on success, we get a checkout.session.completed webhook and flip your workspace plan immediately.
Managing your subscription
Same panel → Manage billing, invoices, and payment method. This opens the Stripe Customer Portal — every invoice, card update, cancel, resume, or plan change happens there. Stripe then webhook’s us, and we update your workspace + fire a billing.change notification.
Downgrades + cancellations
Cancelling moves you back to Free at the end of the current period. You keep access to everything until then. If you downgrade Pro → Free and your seat count exceeds the new plan, extra members stay in the workspace but the app blocks new invites until you’re under the limit.
Failed payments
Stripe retries according to its dunning rules. We fire a billing.change notification the moment the invoice.payment_failed webhook hits, with a direct link to the billing portal so you can update your card. After Stripe gives up, your workspace reverts to Free.