Appearance
Admin Billing
Target Audience: Platform administrators and staff
Admin billing tools manage organization credits and feature usage charges.
Credit Top-Ups
Credits are added from the tenant/admin edit flow. Top-ups are additive only:
- Enter a positive amount.
- Enter a reason.
- Submit the top-up.
The system increases the organization's existing balance and records a ledger row labeled Manual top-up. Staff should not edit a tenant's credit balance directly; the Django admin marks the balance read-only so the ledger remains the audit trail.
Feature Usage Charges
The Billing section includes a Feature Usage tab. This table contains fixed feature rows. Admins can edit the integer credit cost for a feature, but cannot edit the feature name or slug from this page.
The current seeded features are:
| Slug | Name | Charged |
|---|---|---|
video_export | Video export | Per output |
link_page_creation | Link page creation | Per artist link page (one-time) |
link_creation | Link creation | Per unlocked link slot on a link page |
Set a feature cost to 0 only when usage should be free but still recorded in the ledger.
Video Studio Export Billing
Video Studio project creation is free. Export is the paid gate.
Before a render starts, the app asks the backend for a quote and then charges the tenant wallet. Rendering begins only after the debit succeeds.
For Asset Groups, every selected export-enabled member counts as one billable output. If no Asset Group member is selected, the base export counts as one output.
Idempotency and Ledger References
Video export charges are idempotent per tenant, feature slug, and idempotency key. Replaying the same export charge does not debit twice. If the same key is reused for a different project snapshot, the backend rejects it with a conflict.
Video export ledger rows store reference_type=VIDEO_EXPORT and a fingerprint reference so support can distinguish genuine replays from mismatched requests.