Nightly GitHub Actions smoke test for the Sume API: $0.125 a run
A scheduled workflow submits a 2 s Wan 3.0 480p clip, polls and downloads it. $0.125 a night is $3.75 a month. Full YAML with curl and jq.

A nightly smoke test that submits a 2 s Wan 3.0 clip at 480p costs 2 x $0.0625 = $0.125 a run, or $3.75 over 30 nights. It proves the key, the model id, the submit, the poll and the content download still work, which is everything an integration needs to keep working.
What the schedule costs
Use the smallest legal call so a forgotten workflow stays cheap. Wan 3.0 accepts 2 to 30 s at 480p, 720p and 1080p. Add a timeout so a stuck job fails the run instead of burning runner minutes.
The smoke test does not need an audio or reference input; keep the body to model, prompt, duration and resolution.
| Cadence | Runs | Per-second rate | Total |
|---|---|---|---|
| Per pull request, 50 a month | 50 | $0.0625 | $6.25 |
| Nightly, 30 days | 30 | $0.0625 | $3.75 |
| Weekly, 4 a month | 4 | $0.0625 | $0.50 |
| Nightly for a year, 365 runs | 365 | $0.0625 | $45.625 |
The workflow
Store the key as the repository secret SUME_API_KEY. The job fails if the status is not completed within about two minutes or if the download is empty.
name: sume-smoke
on:
schedule: [{ cron: "17 3 * * *" }]
workflow_dispatch: {}
jobs:
smoke:
runs-on: ubuntu-latest
timeout-minutes: 10
env:
SUME_API_KEY: ${{ secrets.SUME_API_KEY }}
steps:
- run: |
H="Authorization: Bearer $SUME_API_KEY"
ID=$(curl -fsS -X POST https://api.sume.com/v1/videos \
-H "$H" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \
-d '{"model":"wan-3.0","prompt":"A red ball rolls on a floor","duration":2,"resolution":"480p"}' | jq -r .id)
for i in $(seq 1 24); do
S=$(curl -fsS "https://api.sume.com/v1/videos/$ID" -H "$H" | jq -r .status)
[ "$S" = completed ] && break
case "$S" in failed|cancelled) exit 1;; esac
sleep 5
done
[ "$S" = completed ]
curl -fsS "https://api.sume.com/v1/videos/$ID/content?index=0" -H "$H" -o smoke.mp4
test -s smoke.mp4Gotchas
The cron runs in UTC and GitHub can delay scheduled runs, so do not alert on a single late start. A failure of this test can mean the provider is busy, not that your integration is broken; alert on two in a row.
Scheduled workflows are disabled on a repository after a period without activity, so check the Actions tab if the nightly run goes silent.
Sources
Related posts
More in Developers
- 9 paid Sume MCP tools and what each charges, from RMBG to music
Sume's hosted MCP lists nine paid tools that need an idempotency_key. Flat prices run from $0.0225 for a cutout to $0.20 for an image upscale; model tools vary.
- Node: stream a Sume video to disk with pipeline and a short-file check
Download a finished Sume video from /v1/videos/{id}/content in Node without loading it into memory, and fail if the file is shorter than content-length.
- Omni Flash 1.1: a 3-second probe before the $3.75 4K clip
Probe a Gemini Omni Flash 1.1 prompt for $0.1125 at 360p, then spend $3.75 on the 10-second 4K clip. Price table and the max_spend_usd for each step.
- Omni reference tokens follow list order: swap list, swap meaning
<IMAGE_REF_0> is the first URL in reference_image_urls, so reordering the list rewires the prompt. A check function and an 8 s body, $1.00 at 720p on Sume.
Written by Sume