Usage & Limits
Monitor your Scriptix subscription usage and track consumption metrics.
Overview
Usage tracking shows how many resources you've consumed in your current and past billing periods. This helps you understand consumption patterns and manage your subscription effectively.
Accessing Usage Information
Navigation:
- Go to Billing & Subscription page
- Click Subscriptions tab
- Click View (eye icon) on a subscription
- Subscription details page opens
- Scroll to Usage Details section
What You'll See:
- Subscription information at top
- Usage details table below
- Historical usage by billing period
Subscription Information Display
The subscription details page shows key information about your plan:
Information Shown:
| Field | Description |
|---|---|
| Subscription Plan | SKU code of your plan |
| Start Date | Subscription start date |
| End Date | Subscription end date (if applicable) |
| Available Credits | Budget credits (reseller organizations only) |
| Speech-to-Text | Available STT units |
| Alignment | Available alignment units |
| Translation | Available translation budget |
| Auto Renew | Yes or No |
| Billing Channel | Scriptix or Azure |
| Cancellation Date | Scheduled cancellation (if applicable) |
Layout:
- Grid layout with 2 columns on mobile, 5 on desktop
- Each field displays label and value
- Border-bottom separators between fields
- Font-semibold for values
Conditional Fields:
- Available Credits - Only shown for reseller organizations (
organization.is_reseller)
Usage Metrics Tracked
Scriptix tracks five key usage metrics:
Speech-to-Text (STT) Units
What Are STT Units:
- Measurement of audio transcription
- Audio minutes processed
- Primary usage metric
Display:
- Field label: "Speech-to-Text"
- Shows available units in subscription
- Example: 1000 (units available per period)
What Consumes STT Units:
- Transcribing audio files
- Speech-to-text processing
- Batch processing
Alignment Units
What Are Alignment Units:
- Force alignment processing
- Aligning existing transcripts to audio
- Separate from STT units
Display:
- Field label: "Alignment"
- Shows available units
- Example: 500 (units available)
When Used:
- Force alignment requests
- Transcript-audio alignment
Translation Budget
What Is Translation Budget:
- Characters available for translation
- Machine translation capacity
- Character count (not words)
Display:
- Field label: "Translation"
- Shows available character budget
- Example: 200000 (characters)
What Consumes Budget:
- Translating transcripts
- Translation API calls
- All translation services
Custom Models Trained
What It Tracks:
- Number of custom model training sessions
- Each training run counted
- Accumulated per billing period
Display:
- Column: "Custom Models Trained"
- Shows count per period
- Example: 2 (trainings completed)
Custom Models Hosted
What It Tracks:
- Number of active custom models
- Models stored in organization
- Current hosting count
Display:
- Column: "Custom Models Hosted"
- Shows count per period
- Example: 3 (models hosted)
Usage Details Table
The usage details section shows consumption by billing period.
Table Columns:
| Column | Description | Sortable |
|---|---|---|
| Period Start | Beginning of billing cycle | Yes |
| Period End | End of billing cycle | Yes |
| STT Units Used | Speech-to-text units consumed | Yes |
| Alignment Units Used | Alignment units consumed | Yes |
| Translation Characters Used | Characters translated | Yes |
| Custom Models Trained | Training sessions completed | Yes |
| Custom Models Hosted | Models hosted in period | Yes |
| Billed | Yes or No (invoice generated) | Yes |
Grid Features:
- Server-side sorting (all columns sortable)
- Server-side pagination (25/50/75/100 per page)
- Server-side filtering
- Default page size: 25 items
- Height: 70vh
- Dense layout
- Striped rows
- Filter mode: popover
- No row selection
- No column filtering enabled
Data Display:
- Dates formatted with formatDate() function
- Numeric values displayed as-is
- Dash ("-") shown for null/empty values
- Billed column: "Yes" or "No" translation
Subscription Status
The page header displays subscription status:
Status Display:
- Title format:
"Subscription #{id} Status - {status}" - Dynamic status based on subscription state
Status Values:
Active:
- Subscription is currently active
- No issues or scheduled cancellation
- Normal operation
Suspended:
- Subscription has been suspended
- Value:
sub.suspended === true - Cannot be cancelled while suspended
Ended:
- Cancellation date has passed (
cancel_date <= today) - Or end date has passed (
end_date < today) - Subscription no longer active
Active (Cancels on [date]):
- Subscription active but cancellation scheduled
- Format:
"Active (Cancels on {formatted_date})" - Shows future cancel_date
- Still usable until cancellation date
Cancel Subscription
Resellers can cancel subscriptions.
Cancel Button:
- Only shown if user has RESELLER role
- Label: "Cancel"
- Variant: secondary
- Size: medium
Button States:
- Enabled: Can cancel (subscription active, no issues)
- Disabled: Cannot cancel
- Cancellation already scheduled (tooltip: "Cancellation already scheduled")
- Subscription suspended (tooltip: "Subscription is suspended")
- Subscription ended
- Not cancellable for other reasons (tooltip: "Subscription not cancellable")
Cancel Conditions:
canCancel = !suspended &&
!cancellationScheduled &&
!cancellationEffective &&
!endedByEndDate
Cancel Process:
- Click Cancel button
- Confirmation modal opens
- Title: "Cancel subscription"
- Caption: "Cancel subscription confirmation"
- Click Confirm to proceed
- Button disabled during cancellation
- Label changes to "Canceling..." when processing
- Success toast: "Subscription cancelled successfully"
- Modal closes automatically
Confirmation Modal:
- Size: small
- Destructive: true (red confirm button)
- Auto-focus on confirm button
- Cancel button available
What Happens:
- Cancellation scheduled for end of billing period
- Subscription remains active until cancel_date
- Cannot be undone after confirmation
Available vs. Used
The subscription details show available amounts, not used amounts:
Available Fields:
available_stt_units- Total STT units in planavailable_alignment_units- Total alignment unitsavailable_translation_budget- Total translation charactersavailable_stt_budget- Credits (reseller only)
Used Amounts:
- Shown in usage details table
- Per billing period
- Historical and current period
To Calculate Remaining:
Remaining = Available - Used (current period)
Example:
- Available STT Units: 1000
- STT Units Used (current period): 650
- Remaining: 350 units
Billing Period Information
Period Tracking:
- Usage tracked per billing period
- Typically monthly cycles
- Period start and end dates shown
- Each period has separate usage row
Current vs. Past Periods:
- All periods shown in same table
- Current period has
billed: false - Past periods have
billed: true - No visual distinction in grid
Period Dates:
- Formatted using formatDate() utility
- Format based on locale
- Displays dash ("-") if date invalid
Reseller-Specific Features
Available Credits
Display:
- Only shown for reseller organizations
- Condition:
organization.is_reseller === true - Field: "Available credits"
- Value:
sub.available_stt_budget
Purpose:
- Budget-based subscriptions for resellers
- Credit allocation management
- Separate from unit-based plans
Cancel Button Visibility
Access Control:
- Only shown if user has RESELLER role
- Uses
isResellerfrom useRoles() hook - Non-resellers don't see cancel button
Loading States
Subscription Data:
- Loads subscription details first
- Displays information when available
- No explicit loading indicator for subscription
Usage Data:
- Loading message: "Loading usages..."
- Shown while fetching usage table data
- Grid shows loading state
- Condition:
usageIsLoading || usageIsFetching || !usageData
Navigation
Back Button:
- Icon: DoubleArrowLeft
- Label: "Subscriptions"
- Variant: smoke
- Size: medium
- Returns to Billing & Subscription page
- Path: PATHS().BILLING_AND_SUBSCRIPTION
Button Location:
- Page header, left side
- Before cancel button (if shown)
Error Handling
Cancel Subscription Errors:
- Priority: error_description → detail → error → message → fallback
- Fallback message: "An error has occurred"
- Toast error notification
- Modal closes on error
Success Messages:
- "Subscription cancelled successfully" - Cancellation complete
Error Checks:
- Uses isAxiosError() for error type checking
- Extracts error data from response
Page Layout
Structure:
- PageHeader with title and actions
- Subscription information grid (2-5 columns)
- Usage Details section header
- Usage details data grid
Styling:
- Theme-aware colors via getColour()
- Border-bottom separators
- Grid layout responsive
- Padding on mobile (px-1, px-4)
Data Grid Configuration
Usage Table:
- Height: 70vh
- Dense: true
- Striped: true
- Grid mode: false
- Show column filters: false
- Filter mode: popover
- Manual pagination, sorting, filtering
- Row ID: String(row.id)
Pagination:
- Page sizes: 25, 50, 75, 100
- Default: 25 items per page
- Total items from API response
Track your usage! Monitor consumption, optimize workflows, and stay within limits for uninterrupted service.
Next Steps
Manage your account effectively:
- Billing & Subscription - Upgrade plan or manage payments
- Profile Settings - Update organization details
- API Keys - Monitor API usage
- User Preferences - Optimize workflows