Budget Management Guide
Learn how to configure and monitor credit budget limits for your projects, assets, and shots using Genvid's Budget Manager.
Overview
The Budget Management System provides hierarchical budget tracking with real-time spending visibility across your entire production. It helps you prevent cost overruns by establishing clear spending limits and providing instant feedback when approaching budget thresholds.
Supervisors and admins can set credit limits at three levels:
- Project Budget - Total credit limit for the entire project (must be greater than or equal to sum of all child budgets)
- Asset Budgets - Individual limits for each asset (cast member, location, prop, costume)
- Shot Budgets - Granular limits with three independent sub-budgets per shot (keyframe, dialog, video)
Why Budget Management Matters
- Cost Control: Prevent unexpected credit consumption during production
- Resource Planning: Allocate budgets strategically across assets and shots
- Real-time Awareness: Artists see budget status while working, enabling proactive decisions
- Production Confidence: Start projects with clear financial boundaries
Who Can Use Which Features
| Role | Configure Budgets | View Budgets | Generate Content |
|---|---|---|---|
| Admin | ✓ | ✓ | ✓ |
| Supervisor | ✓ | ✓ | ✓ |
| Artist | ✗ | ✓ | ✓ (if budget allows) |
| Contributor | ✗ | ✓ | ✓ (if budget allows) |
Getting Started
Prerequisites and Permissions
To configure budgets, you need:
- Supervisor or Admin role in your organization
- Access to a project where you want to set budgets
- Basic understanding of your production's credit requirements
All users can view budget information, but only Supervisors and Admins can modify budgets.
Understanding Budget Hierarchy
Genvid enforces a hierarchical budget structure:
Project Budget ($1,000)
├── Asset Budgets ($300 total)
│ ├── Cast Member A: $100
│ ├── Location B: $100
│ └── Prop C: $100
└── Shot Budgets ($700 total)
├── Shot 1: $150 (keyframe: $50, dialog: $30, video: $70)
├── Shot 2: $150 (keyframe: $50, dialog: $30, video: $70)
└── Shot 3: $400 (keyframe: $150, dialog: $50, video: $200)
Key Constraint: Project budget must always be ≥ sum of all asset budgets + sum of all shot budgets.
Accessing the Budget Manager
Reach the Budget Manager through the project's section menu:
- Open your project
- Open the section menu from the breadcrumb dropdown (or go to Project Hub → Project Sections)
- Select Budget & Analytics
The Budget Manager displays three budget sections at the top:
- Project Budget section
- Asset Budgets table
- Shot Budgets table
Below the budget sections, the same page hosts a Cost Analytics section for reviewing what your production has actually spent (see the Reviewing Cost Analytics section below).
Configuring Budgets (For Supervisors/Admins)
Setting a Project-Level Budget
The project budget is the total credit limit for all AI generation operations across assets and shots.
Step-by-Step:
- In the Project Budget section, locate the budget input field
- Enter your desired total budget limit (e.g.,
1000) - Click Save to apply the budget
- The system validates that the budget is ≥ sum of all asset and shot budgets
Example:
Scenario:
- Asset Budgets Total: $300
- Shot Budgets Total: $600
- Minimum Project Budget: $900
Valid: Setting project budget to $1,000 ✓
Invalid: Setting project budget to $800 ✗ (below $900 minimum)
Note: If you try to set a project budget lower than the sum of child budgets, you'll receive a validation error displaying the required minimum amount. The system will warn you but allow the change (you can override if needed).
To Set Unlimited Budget:
- Clear the budget field completely (leave empty)
- Click Save
- The system displays ∞ (infinity symbol) indicating unlimited spending
[See Screenshot: Project Budget Configuration]
Setting Individual Asset Budgets
Asset budgets control spending for individual assets like cast members, locations, props, and costumes. Each asset can have its own budget limit for image generation.
Step-by-Step:
- In the Asset Budgets table, locate the asset you want to budget
- Click on the budget cell in the row (or click the edit icon)
- Enter the new budget amount (e.g.,
150) - Press Enter or click outside the field to save
- The budget saves automatically and validates immediately
Real-time Validation: Asset budgets are validated immediately. If the new budget would cause the project budget to be exceeded, you'll see an error message and the change will be rejected.
Tips:
- Sort the table by asset name or current spending to prioritize budgeting
- Use the spending vs. budget columns to identify assets approaching limits
- Remember that asset budgets only track image generation costs, not other operations
[See Screenshot: Asset Budget Table]
Setting Shot Budgets
Shot budgets are more complex than asset budgets because they consist of three independent sub-budgets:
- Keyframe Budget - Credits for generating the first frame/keyframe image
- Dialog Budget - Credits for generating audio/speech for the shot
- Video Budget - Credits for rendering the final video
Important: You must set all three sub-budgets together. The system enforces an "all or none" rule to ensure consistent tracking.
Step-by-Step:
- In the Shot Budgets table, locate the shot you want to budget
- Click on the shot row to expand it (displays the three sub-budget fields)
- Enter values for all three sub-budgets:
- Keyframe Budget: e.g.,
50 - Dialog Budget: e.g.,
30 - Video Budget: e.g.,
100
- Keyframe Budget: e.g.,
- Click Save (all three fields must be filled)
- The system calculates total shot budget:
$180(50 + 30 + 100)
All or None Rule: You must set all three sub-budgets together. The system rejects partial budgets (e.g., only keyframe and dialog without video). This ensures consistent budget tracking across all generation types. To remove a shot's budget, set all three fields to empty.
Shot Budget Validation:
The system checks two constraints when saving shot budgets:
- All three sub-budgets must be provided together (or all three empty)
- The total shot budgets (summed across all shots) must not exceed the project budget (after accounting for asset budgets)
[See Screenshot: Shot Budget Expandable Row]
Using Bulk Budget Operations
For large productions with many assets or shots (50+), manually setting each budget individually is tedious. Use bulk operations to quickly establish uniform budgets.
Bulk Asset Budgets
Step-by-Step:
- Above the Asset Budgets table, click the Set All Asset Budgets button
- In the dialog that opens, enter a single budget value (e.g.,
200) - Click Apply
- A confirmation dialog appears displaying: "This will set budgets for 30 assets. Continue?"
- Review the impact (30 assets × $200 = $6,000 total)
- Click Confirm to apply, or Cancel to abort
Overwrite Warning: If some assets already have budgets set, the confirmation dialog displays how many existing budgets will be overwritten. The system does not display individual deltas, only the count of affected assets.
Validation: The system validates that the total (budget × asset count) won't exceed the project budget. If it would, you'll see an error and the operation will be rejected.
[See Screenshot: Bulk Asset Budget Dialog]
Bulk Shot Budgets
Bulk shot budgeting requires entering all three sub-budget values (per the "all or none" rule).
Step-by-Step:
- Above the Shot Budgets table, click the Set All Shot Budgets button
- In the dialog, enter values for all three sub-budgets:
- Keyframe Budget: e.g.,
100 - Dialog Budget: e.g.,
50 - Video Budget: e.g.,
150
- Keyframe Budget: e.g.,
- Click Apply
- A confirmation dialog displays: "This will set budgets for 100 shots. Continue?"
- Review the total impact: 100 shots × ($100 + $50 + $150) = $30,000 total
- Click Confirm to apply
Project Budget Constraint: The system calculates the total impact and validates against the project budget. If the bulk operation would violate the constraint (total shot budgets + asset budgets > project budget), you'll see an error and must either:
- Increase the project budget first
- Reduce the per-shot budget amounts
- Apply budgets individually to fewer shots
Button Availability: The "Set All Asset Budgets" button is disabled if there are no assets in the project. Similarly, "Set All Shot Budgets" is disabled if there is no storyboard (no shots exist yet).
[See Screenshot: Bulk Shot Budget Dialog]
Understanding Budget Displays (For All Users)
Budget information appears throughout the application so artists and supervisors can monitor spending in context while working.
Budget Display Format
All budget displays use the same format:
$ [amount spent to date] / $ [budget limit]
Examples:
$ 45 / $ 100- Spent $45 of $100 budget (45% used)$ 195 / $ 200- Spent $195 of $200 budget (97.5% used, critical!)$ 80 / ∞- Spent $80, no budget limit set (unlimited)
Color Coding System
Budget displays use color-coded thresholds to display spending status at a glance:
| Color | Threshold | Status | CSS Color |
|---|---|---|---|
| GREEN (Normal) | < 80% spent | Safe zone, plenty of budget remaining | Default text color |
| AMBER (Warning) | 80-94% spent | Approaching limit, monitor usage closely | #f59e0b |
| RED (Error) | ≥ 95% spent | Critical zone, budget nearly exhausted | #ef4444 |
| GRAY (Unset) | No budget set | Unlimited spending allowed (∞ symbol) | Muted gray |
Visual Indicators:
Normal: $ 45 / $ 100 (45% - black text)
Warning: $ 85 / $ 100 (85% - amber text)
Error: $ 97 / $ 100 (97% - red text)
Unset: $ 45 / ∞ (no limit - gray text)
Accessibility Note: The color coding is supplemented with percentage-based logic, making it easy to understand budget status even without relying solely on color perception.
Where Budgets Appear
Budget information is displayed throughout the application:
1. Project Detail Page
Location: Project header section Displays: Project-level budget (total spent / total budget) Audience: All users viewing the project Use Case: Quick overview of overall project budget status
[See Screenshot: Project Detail Budget Display]
2. Assignment Row
Location: In the assignment list for shots/assets Displays: Budget for the assigned shot or asset Audience: Artists and supervisors reviewing assignments Use Case: Understand budget constraints before starting work on an assignment
[See Screenshot: Assignment Row Budget]
3. Image Editor
Location: Sidebar or header of the Image Editor Displays: Asset budget (spent / budget) for the current asset Audience: Artists generating images for assets Use Case: Monitor asset budget while iterating on image generations Special Behavior: Generate button is disabled when spending ≥ budget
[See Screenshot: Image Editor Budget Display]
4. Keyframe Editor
Location: Editor header or sidebar Displays: Shot keyframe budget (keyframe_spent / keyframe_budget) Audience: Artists generating keyframe images for shots Use Case: Track keyframe generation costs separately from video/dialog Special Behavior: Generate button is disabled when keyframe spending ≥ keyframe budget
[See Screenshot: Keyframe Editor Budget Display]
5. Dialog Editor
Location: Editor header or sidebar Displays: Shot dialog budget (dialog_spent / dialog_budget) Audience: Artists generating audio/speech for shots Use Case: Monitor dialog generation costs independently Special Behavior: Generate button is disabled when dialog spending ≥ dialog budget
[See Screenshot: Dialog Editor Budget Display]
6. Video Editor
Location: Editor header or sidebar Displays: Shot video budget (video_spent / video_budget) Audience: Artists rendering final shot videos Use Case: Understand video generation budget before starting renders Special Behavior: Generate button is disabled when video spending ≥ video budget
[See Screenshot: Video Editor Budget Display]
7. Shot Edit Dialog
Location: Within the shot edit modal/dialog Displays: All four shot budgets:
- Keyframe budget (spent / budget)
- Dialog budget (spent / budget)
- Video budget (spent / budget)
- Total shot budget (total spent / total budget) Audience: Supervisors and artists reviewing shot details Use Case: Comprehensive view of all shot-level budgets in one place
[See Screenshot: Shot Edit Dialog Budgets]
What Happens When Budget is Exceeded
When spending reaches or exceeds the budget limit (100%+):
- Budget Display: Turns RED (error color #ef4444)
- Generate Buttons: DISABLED in all editors:
- Image Editor: "Generate Image" button disabled
- Keyframe Editor: "Generate Keyframe" button disabled
- Dialog Editor: "Generate Dialog" button disabled
- Video Editor: "Generate Video" button disabled
- User Notification: Tooltip or message explains: "Budget exceeded - increase budget to continue"
Resolution Steps:
- Contact a Supervisor or Admin
- Supervisor opens Budget Manager
- Supervisor increases the relevant budget (asset, shot sub-budget, or project budget)
- Budget display updates in real-time
- Generate buttons become enabled again
Important: Budget constraints are enforced to prevent accidental overspending. Only Supervisors and Admins can increase budgets to unlock generation capabilities.
Model Cost Transparency
Before generating AI content, you'll see the per-unit cost for the selected model. This helps you make budget-conscious decisions by understanding exactly how much each generation will cost.
Where to Find Per-Unit Costs
Model costs are displayed in small text below the model selector in these editors:
1. Image Editor
Location: Below the generation model selector
Format: $ X per image
Example: $ 0.05 per image
Use Case: Compare different image models to choose cost-effective options
[See Screenshot: Image Editor Model Cost]
2. Keyframe Editor
Location: In the "Modify with AI" dialog, below the model selector
Format: $ X per image
Example: $ 0.05 per image
Use Case: Understand keyframe generation cost before applying AI modifications
[See Screenshot: Keyframe Editor Model Cost]
3. Video Editor
Location: Below the video model selector
Format: $ X per second or $ X per frame (depending on model billing)
Example: $ 0.10 per second
Use Case: Choose video models based on budget constraints (30-second shot = $3.00)
[See Screenshot: Video Editor Model Cost]
How to Use Cost Information
Example Scenario:
You're working on a shot with a keyframe budget of $50:
- Open Keyframe Editor
- See model selector displaying "Model A: $0.05 per image"
- Calculate: $50 budget ÷ $0.05 per image = 1,000 possible generations
- Budget section displays:
$ 45 / $ 50(you've already spent $45) - Remaining budget: $5.00 = 100 more generations possible
- Choose whether to proceed or switch to a cheaper model
Cost-Conscious Choices:
- Compare model costs before selecting
- Use cheaper models for early iterations, expensive models for final renders
- Consider model cost when deciding whether to regenerate
- Understand the trade-off between quality and cost
Reviewing Cost Analytics
Budgets tell you what you're allowed to spend. The Cost Analytics section, at the bottom of the same Budget & Analytics page (below the Shot Budgets table), tells you what you've actually spent — broken down however is most useful to you.
Choosing a Report Type
Use the Report Type selector to group spending by different dimensions:
| Report Type | Groups Spending By |
|---|---|
| Cost by Asset | Each asset (cast member, location, prop, etc.) |
| Cost by Shot | Each shot in the production |
| Cost by Artist | Each team member who generated content |
| Cost by Model | Each AI model used for generation |
Filtering the Report
Narrow the report using the filters above the table:
- Start Date and End Date — Limit the report to a specific time window
- Asset Type — When viewing Cost by Asset, focus on a single asset type (for example, only cast members or only locations)
A Totals row at the bottom of the table sums the figures across every row currently displayed, so you can read the production's spend at a glance.
Reading the Cost by Asset Report
The Cost by Asset report displays these columns for each asset:
| Column | Description |
|---|---|
| Asset Name | The asset's name |
| Type | The asset type (Cast Member, Location, Prop, etc.) |
| Total Cost | Total credits spent generating this asset's media |
| Generations | How many generations were run for this asset |
| Approved | How many of those generations were approved |
| Cost Per-Image | Average cost per generated image for this asset |
Exporting the Data
Click Export CSV to download the current report as a spreadsheet file. This is useful for sharing spending summaries outside Genvid or for keeping records alongside your own production accounting.
Common Scenarios and Tips
Setting Up Budgets for a New Production
Workflow:
-
Estimate Total Production Budget
- Review project scope (number of shots, assets, complexity)
- Consult with production team on available credits
- Set a conservative project budget (e.g., $10,000)
-
Navigate to Budget Manager
- Open the project
- Open the section menu and select Budget & Analytics
-
Set Project Budget
- Enter total budget in Project Budget section
- Click Save (initially, sum of children = $0, so any amount is valid)
-
Use Bulk Operations for Initial Budgets
- Click "Set All Asset Budgets"
- Enter per-asset amount (e.g., $100 for 30 assets = $3,000 total)
- Confirm
- Click "Set All Shot Budgets"
- Enter sub-budgets (e.g., keyframe: $50, dialog: $30, video: $100 = $180 per shot × 50 shots = $9,000 total)
- Confirm
-
Verify Project Budget Constraint
- Total child budgets: $3,000 (assets) + $9,000 (shots) = $12,000
- Project budget: $10,000 (⚠️ violation!)
- Increase project budget to at least $12,000
- Or reduce per-asset/per-shot budgets to fit within $10,000
-
Monitor Spending as Production Progresses
- Check Budget Manager weekly
- Identify shots/assets approaching limits
- Adjust budgets proactively
Adjusting Budgets Mid-Production
Scenario: Shot 15 is at 90% budget ($90 / $100) but needs more iterations.
Workflow:
-
Review Current Spending
- Open Budget Manager
- Navigate to Shot 15 in Shot Budgets table
- Expand row to see sub-budget breakdown:
- Keyframe: $45 / $50 (90%)
- Dialog: $25 / $30 (83%)
- Video: $20 / $20 (100% - exceeded!)
-
Identify the Constraint
- Video budget is exhausted ($20 / $20)
- Need to increase video sub-budget for Shot 15
-
Check Project Budget Headroom
- Project budget: $10,000
- Total spent: $8,500
- Remaining project budget: $1,500 (sufficient for increase)
-
Increase Shot 15 Video Budget
- Expand Shot 15 row
- Change video budget from $20 to $50 (add $30)
- Update keyframe and dialog (or leave as-is if all three were already set)
- Click Save
-
Verify and Communicate
- Budget display in Video Editor updates to
$ 20 / $ 50(green, 40%) - Generate button is enabled again
- Notify artist that budget has been increased
- Budget display in Video Editor updates to
Monitoring Spending Across the Project
Best Practices:
-
Weekly Budget Reviews
- Open Budget Manager once per week
- Sort Asset Budgets table by "% spent" descending
- Identify assets in WARNING (amber) or ERROR (red) state
- Sort Shot Budgets table similarly
-
Proactive Adjustments
- Don't wait for budgets to hit 100%
- When an asset/shot reaches 80% (warning state), evaluate:
- Is the work nearly complete? (No action needed)
- Will it require more iterations? (Increase budget now)
-
Reallocate Budgets
- If Shot A is complete and only used $50 of $100 budget, consider:
- Reducing Shot A budget to $50
- Increasing Shot B budget by $50 (if it needs more)
- This keeps you within project budget while optimizing allocation
- If Shot A is complete and only used $50 of $100 budget, consider:
-
Track Trends
- Notice which shot types consume more budget (wide shots vs. close-ups)
- Adjust future budgets based on historical data
Best Practices for Large Productions (50+ Assets/Shots)
Challenges:
- Manually budgeting 100+ shots is time-consuming
- Different shot types have different cost profiles
- Budget adjustments are frequent
Recommendations:
-
Use Bulk Operations Extensively
- Initial budget setup: bulk operations
- Mid-production adjustments: bulk operations for shot ranges (manually select subset)
-
Establish Budget Templates by Shot Type
- Simple shots (static camera, minimal dialog): keyframe $30, dialog $20, video $50
- Complex shots (camera movement, long dialog): keyframe $100, dialog $50, video $200
- Apply bulk budgets to shots of similar complexity
-
Delegate Budget Monitoring
- Assign a production coordinator to monitor budgets
- Weekly reports to supervisors on budget status
- Escalate only when major adjustments are needed
-
Reserve Project Budget Headroom
- Don't allocate 100% of project budget to children
- Reserve 10-20% for unexpected overruns
- Example: $10,000 project budget → allocate only $8,000 to assets/shots initially
Troubleshooting
Common Validation Errors and Resolutions
"Cannot set project budget below sum of children"
Error Message: "Project budget must be at least $12,000 (current children total: $12,000)"
Cause: You're trying to set a project budget lower than the total of all asset and shot budgets.
Resolution Options:
-
Increase Project Budget (Recommended)
- Change project budget to at least the required minimum ($12,000)
- Click Save
-
Reduce Child Budgets First
- Identify assets or shots with excess budget
- Reduce their budgets to lower the children total
- Then reduce project budget
-
Use Bulk Operations to Reduce
- Click "Set All Asset Budgets"
- Enter a lower per-asset amount
- Confirm
- Repeat for shots if needed
- Then reduce project budget
"Must set all three shot budgets"
Error Message: "All three shot sub-budgets (keyframe, dialog, video) must be set together or all left empty"
Cause: You're trying to set only 1 or 2 of the 3 shot sub-budgets (violates "all or none" rule).
Resolution:
-
Provide All Three Values
- Expand the shot row
- Fill in keyframe_budget: e.g.,
50 - Fill in dialog_budget: e.g.,
30 - Fill in video_budget: e.g.,
100 - Click Save
-
Remove All Budgets (if you want to unset)
- Expand the shot row
- Clear all three fields (leave empty)
- Click Save
- Budget display will display
$ X / ∞(unlimited)
"Bulk operation would exceed project budget"
Error Message: "Bulk asset budget operation would result in $15,000 total (assets: $5,000 + shots: $10,000), which exceeds project budget of $12,000"
Cause: The bulk operation total (budget × resource count) would violate the project budget constraint.
Resolution Options:
-
Increase Project Budget First (Recommended)
- Navigate to Project Budget section
- Increase project budget to at least $15,000 (or higher for headroom)
- Click Save
- Return to asset/shot tables
- Retry bulk operation
-
Reduce Per-Resource Budget Amount
- In the bulk budget dialog, reduce the amount
- Example: Instead of $200/asset, try $150/asset
- Recalculate: 30 assets × $150 = $4,500 (lower total)
- Click Apply and Confirm
-
Apply Budgets Individually
- Cancel bulk operation
- Manually set budgets for a subset of resources
- Only budget the most critical assets/shots
- Leave others with no budget (unlimited)
Understanding Unset Budgets (Infinity Symbol)
Display: $ 45 / ∞
Meaning: No budget limit has been configured for this resource. Spending can continue indefinitely.
When This Occurs:
- Project, asset, or shot budget is NULL (not set)
- Historical resources from before budget system was implemented
Impact:
- No color coding (displayed in gray/muted color)
- Generate buttons remain enabled regardless of spending
- No budget enforcement
To Set a Budget:
- Open Budget Manager
- Locate the resource with ∞ budget
- Enter a budget value
- Click Save
- Budget display updates to
$ X / $ Yformat
Budget Validation Rules (Technical Reference)
For technical users, here are the validation rules enforced by the Budget Manager:
1. Project Budget Constraint
Project Budget ≥ Sum of All Child Budgets
Calculation:
Project Budget ≥ (Sum of Asset Budgets) + (Sum of Shot Total Budgets)
Where:
Shot Total Budget = keyframe_budget + dialog_budget + video_budget
Example (Valid):
Project Budget: $1,000
Assets Total: $300 (3 assets × $100 each)
Shots Total: $600 (3 shots × $200 each)
Validation: $1,000 ≥ $900 ✓
Example (Invalid):
Project Budget: $800
Assets Total: $300
Shots Total: $600
Validation: $800 < $900 ✗ (rejected with error)
2. Shot Budget All-or-None Rule
(keyframe_budget IS NOT NULL AND
dialog_budget IS NOT NULL AND
video_budget IS NOT NULL)
OR
(keyframe_budget IS NULL AND
dialog_budget IS NULL AND
video_budget IS NULL)
Valid Examples:
✓ Keyframe: $50, Dialog: $30, Video: $100
✓ Keyframe: NULL, Dialog: NULL, Video: NULL
Invalid Examples:
✗ Keyframe: $50, Dialog: $30, Video: NULL (rejected)
✗ Keyframe: NULL, Dialog: NULL, Video: $100 (rejected)
✗ Keyframe: $50, Dialog: NULL, Video: $100 (rejected)
3. Non-Negative Budgets
CHECK (budget IS NULL OR budget >= 0)
CHECK (keyframe_budget IS NULL OR keyframe_budget >= 0)
CHECK (dialog_budget IS NULL OR dialog_budget >= 0)
CHECK (video_budget IS NULL OR video_budget >= 0)
Valid: NULL (no budget), 0 (zero budget), 100 (positive budget)
Invalid: -50 (negative budget) - rejected with error
4. Bulk Operation Validation
Before applying bulk budgets, the system validates:
For Bulk Assets:
New Assets Total = asset_count × bulk_budget
New Project Total = New Assets Total + Current Shots Total
Validation: Project Budget ≥ New Project Total
For Bulk Shots:
New Shots Total = shot_count × (keyframe + dialog + video)
New Project Total = Current Assets Total + New Shots Total
Validation: Project Budget ≥ New Project Total
If validation fails, the bulk operation is rejected and an error is displayed.
How Spending is Calculated (Technical Reference)
Spending Calculation Logic
Budget spending is calculated from the credit_transactions table based on completed transactions:
Project Spending:
SUM(ABS(amount))
FROM credit_transactions
WHERE project_id = <project_id>
AND status = 'completed'
Asset Spending:
SUM(ABS(ct.amount))
FROM asset_media_link aml
JOIN media m ON aml.media_id = m.id
LEFT JOIN credit_transactions ct ON m.transaction_id = ct.transaction_id
WHERE aml.asset_id = <asset_id>
AND m.deleted_at IS NULL
AND ct.status = 'completed'
Shot Spending (by sub-budget type):
-- Keyframe spending
SUM(ABS(ct.amount))
FROM shot_media_link sml
JOIN media m ON sml.media_id = m.id
LEFT JOIN credit_transactions ct ON m.transaction_id = ct.transaction_id
WHERE sml.shot_id = <shot_id>
AND sml.link_type = 'shot_firstframe'
AND m.deleted_at IS NULL
AND ct.status = 'completed'
-- Dialog spending (link_type = 'shot_dialog')
-- Video spending (link_type = 'shot_video')
Key Points
- Negative Amounts:
credit_transactions.amountis negative for consumption, positive for grants/refunds. UseABS()when summing spending. - Status Filter: Only
status = 'completed'transactions count toward spending. Pending/failed transactions are excluded. - Soft Deletes: Exclude media where
deleted_at IS NOT NULLto ignore deleted generations. - Real-time Updates: Spending is calculated dynamically from database views, so budget displays update immediately after generation operations complete.
Next Steps
- Learn about the Video Editor to understand generation costs
- Explore Timeline Export for post-production workflows
- Review credit management in your organization settings
Summary
The Budget Management System provides comprehensive control over production spending:
- Hierarchical Budgets: Project → Assets + Shots (keyframe + dialog + video)
- Real-time Visibility: Budget displays in 7 locations with color-coded warnings
- Bulk Operations: Efficiently configure large productions
- Model Cost Transparency: Per-unit costs displayed before generation
- Automatic Enforcement: Generate buttons disabled when budget is exceeded
By following the workflows and best practices in this guide, you can maintain tight cost control while empowering your team to create great content within budget constraints.
