| name | klingai-cost-controls |
| description | Implement budget limits, usage alerts, and spending controls for Kling AI. Use when managing
costs or preventing overruns. Trigger with phrases like 'klingai cost', 'kling ai budget',
'klingai spending limit', 'video generation costs'.
|
| allowed-tools | Read, Write, Edit, Bash(npm:*), Grep |
| version | 1.18.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","kling-ai","cost-controls","budget"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Kling AI Cost Controls
Overview
Prevent unexpected spending with per-request cost estimation, daily budget enforcement, threshold alerts, and usage dashboards. Credits are consumed per task based on duration, mode, and audio.
Credit Cost Reference
| Config | Credits |
|---|
| 5s standard | 10 |
| 5s professional | 35 |
| 10s standard | 20 |
| 10s professional | 70 |
| 5s standard + audio (v2.6) | 50 |
| 10s professional + audio (v2.6) | 200 |
| Image generation (Kolors) | 1 |
| Virtual try-on | 5 |
Budget Guard
import time
from dataclasses import dataclass, field
@dataclass
class BudgetGuard:
"""Enforce daily credit budget with alerting."""
daily_limit: int = 1000
alert_threshold: float = 0.8
_used: int = 0
_reset_time: float = field(default_factory=time.time)
_alerts_sent: set = field(default_factory=set)
def _check_reset(self):
if time.time() - self._reset_time > 86400:
self._used = 0
self._reset_time = time.time()
self._alerts_sent.clear()
def estimate_credits() -> :
base = {(, ): , (, ): ,
(, ): , (, ): }
credits = base.get((duration, mode), )
audio:
credits *=
credits
() -> :
._check_reset()
usage_pct = (._used + credits_needed) / .daily_limit
usage_pct >= .alert_threshold ._alerts_sent:
._alerts_sent.add()
._on_alert()
._used + credits_needed > .daily_limit:
RuntimeError(
)
():
._used += credits
():
()
() -> :
._check_reset()
(, .daily_limit - ._used)
() -> :
._check_reset()
{
: ._used,
: .daily_limit,
: .remaining,
: ,
}