How to cap an AI video agent's spend: five limits, in order

A video agent has five separate limits: model budget, turns, per-call max_spend_usd, run cap and plan queue. Which stops a runaway Sume job, and which does not.

4 min readSume
All posts

A video agent has no single cost cap. Claude Code's --max-budget-usd caps its own estimate of model spend; Sume caps renders with max_spend_usd on each call, generation_spend_cap_usd on an Agent Completion, and the plan's queue. Set the ones that match how you run the agent.

Which limit covers what?

Each limit watches something different.

Limits for an agent calling Sume (Claude Code facts read 2026-10-09)
LimitWhereCovers
--max-budget-usdClaude Code, print modeEstimated model API spend; can pass the cap
--max-turnsClaude Code, print modeNumber of agent turns
max_spend_usdSume MCP, per paid callThat call's render; enforced only when sent
generation_spend_cap_usdSume Agent CompletionsGeneration spend of the run; required
Plan queueSume workspaceConcurrent and queued jobs; 429 queue_full

What stops a runaway?

Not the model budget. It does not know render prices, and stopping the run leaves any job in flight running and billing. The per-call cap bounds each render. The run cap bounds a whole Agent Completion. The queue bounds how many jobs can exist at once.

A starter setup

Pick by how you run the agent:

  • Local or CI session: --max-turns, --max-budget-usd and max_spend_usd on every paid call, with dry_run first.
  • Sume-hosted run: generation_spend_cap_usd, set low, plus a webhook for the terminal event.
  • Scheduled Actions: the effective default is $1.00 per run, and a caller can only lower the schedule's cap for a single run.

What still needs a human?

Balance. balance_get reads the wallet, and a short wallet fails a submit with 402 insufficient_credits. Cancel works only before generation starts, so the cap you set at submit time is the one that matters. See Safe automation.

Sources

Related posts

More in Agents

All Agents posts

Written by Sume