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.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.
- How long does a Seedance 2.5 video take, and how do you wait for it?
Sume's docs say video generation takes 30 seconds to several minutes. Poll GET /v1/videos/{id} every 30 seconds or pass callback_url for a signed webhook.
- BytePlus ModelArk Seedance 2.5: limits, tasks and how Sume maps
What BytePlus's ModelArk tutorial documents for Seedance 2.5 (task types, drafts, rate limits, retention) and which concepts exist in Sume's video API.
- C# speech to text: transcribe audio files with HttpClient
Speech to text in C#: POST the audio file's URL with HttpClient, poll the job, then read the transcript and word timestamps from the JSON result.
Written by Sume