Scheduled AI runs: default spend cap is $1.00, only lowerable
A scheduled Action's spend cap defaults to $1.00 when unset. A per-run generation_spend_cap_usd is clamped to the smaller value. null lifts the ceiling.

A scheduled Sume Action has a per-run generation spend cap, and when nobody set one the default is $1.00 (1000000 USD micros). A run started through the API can pass generation_spend_cap_usd, but a number is clamped to min(request, Action cap): it can lower the cap and never raise it. null runs without the automation ceiling, and 0 is rejected with 400.
This is from the Scheduled overview and API trigger docs, read 2026-09-29. A video-heavy schedule can need more than $1.00, so raise the cap where you author the schedule.
What does the cap rule look like?
| Request field | Effective cap |
|---|---|
| Omitted | The Action's cap (default $1.00) |
| A number above 0 | min(request, Action cap) |
null | No automation ceiling; wallet balance, generation admission and org limits still apply |
0 | 400 |
Where can I read a schedule's cap?
GET /v1/actions/{action_id} returns generation_spend_cap_usd_micros, or null when the default applies. The API cannot create, edit or delete a schedule: you author it in the dashboard or by chat, and the API lists, reads and runs it.
curl -X POST https://api.sume.com/v1/actions/$ACTION_ID/runs \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{ "generation_spend_cap_usd": 0.5 }'How do I see what a run spent?
Read GET /v1/action-runs/{run_id}: usage.billable_amount_usd_micros is the generation spend attributed to the run, counting reserved and captured amounts, and it settles when the run ends. It is the same running total the cap is enforced against.
What should I check before an overnight schedule?
- Compare the cap with one manual run's spend, then add headroom.
- Keep
on_active_runatskipif overlapping triggers are harmless, orrejectif a dropped trigger should be an error. - Watch runs with the monitoring endpoints, not by refreshing the dashboard.
Which run statuses can I see?
Action runs use queued, processing, completed, failed, canceled and skipped. A skipped run carries skip_reason: previous_run_active. The run's events_url is always null, so poll status_url and result_url instead, or use run webhooks.
Sources
Related posts
More in Developers
- Seedance 2.0 API errors: what each 400 and 404 means
A Seedance 2.0 request on Sume fails with 400 unsupported_parameter, 400 unsupported_capability or 404 model_not_found. What triggers each and the fix.
- Seedance 2.0 aspect ratio auto: can you send it on Sume?
fal's Seedance 2.0 pages list aspect_ratio auto. Sume's seedance-2 advertises six fixed ratios and refuses others, so send 16:9, 9:16 or another listed value.
- Seedance 2.0 reference limits: 9 images, 3 videos, 3 audio?
fal lists Seedance 2.0 reference-to-video at up to 9 images, 3 videos and 3 audio clips, 12 files in all. On Sume the API enforces the 12-file total. Details.
- Seedance 2.5 API key: get one and send a first request
Create a Sume API key, POST to /v1/videos with model seedance-2.5, poll the job and download the file. One curl request, the auth rules and the fields to set.
Written by Sume