Windows PowerShell: install the Sume CLI, watch a 30 s render
Install the Sume CLI on Windows with one irm | iex line, set SUME_API_KEY, then use jobs watch and jobs download on a 30-second video job without resubmitting.

On Windows, install the Sume CLI from PowerShell with irm https://cli.sume.com/install.ps1 | iex, then use sume jobs watch <job_id> and sume jobs download <job_id> --output-dir .\out to follow and save a long video render. Those two commands recover a job you already paid for, so a closed terminal never forces a second submit.
This matters most for the 30-second models. A Seedance 2.5 clip at 720p is $17.34 and one at 1080p is $42.65, so losing the job id and resubmitting is an expensive mistake.
Install and sign in
The hosted installer for the native sumelabs/cli binary has a PowerShell variant. After it finishes, open a new window so your PATH is refreshed, then check the binary. The docs list sume-windows-x64.exe as the Windows release asset if you prefer a direct download from GitHub Releases, and a pinned install replaces latest in the URL with a tag such as v0.1.6.
irm https://cli.sume.com/install.ps1 | iex
sume --version
sume login
sume auth status
# CI or a controlled server: use an API key instead
$env:SUME_API_KEY = "sume_live_..."
sume auth setup --api-key $env:SUME_API_KEYWhat the CLI does and does not do for video
The CLI documents job recovery for Image, Video, and Music jobs that you created through the Developer API, and its generation commands for Avatar. The video models are API-first, so you submit with POST /v1/videos or POST /v1/video-1.0/generate, and then use the CLI for everything after the submit. Do not look for a sume video subcommand; the docs do not describe one.
| Command | Use it to |
|---|---|
| sume jobs list --agent --json | Find a job id you lost |
| sume jobs status <job_id> --agent --json | Read the current state |
| sume jobs events <job_id> --agent --json | See queue and run events |
| sume jobs watch <job_id> | Poll until terminal or a timeout |
| sume jobs download <job_id> --output-dir .\out | Write completed media to a folder |
| sume jobs cancel <job_id> --confirm-submit | Cancel before generation starts |
A recovery session
Suppose a script crashed after the submit. List recent jobs, pick the id, watch it, and download. None of these commands submit paid generation.
sume jobs list --agent --json
sume jobs watch job_01HXYZ
sume jobs download job_01HXYZ --output-dir .\out
Get-ChildItem .\outGotchas on Windows
watchends at a terminal state or a timeout. A timeout is not a failure; run it again.- Quote the output directory if the path has spaces.
SUME_API_KEYset with$env:lasts for the session only. Use your usual secret store for scheduled tasks.- If a different
sumeis already on yourPATH, runGet-Command sumeto see which one answers.
Where to find the job id
Every submit response carries the job id, so the cheapest habit is to print it to a log the moment you receive it. If you did not, sume jobs list --agent --json shows recent jobs for the key in use, and the dashboard shows them too.
The --agent --json flags give machine-readable output, which is the form to use in a scheduled task. Parse the status from it rather than from the text of the human view, and use the exit status of jobs watch to decide whether to continue.
Finally, keep your CLI current. The docs describe sume update --check, which reports whether a newer release exists without installing it, so a scheduled task can warn you instead of changing under you.
Why this beats a browser tab
A render of this length is a poor fit for an interactive session. You will close the window, sleep the laptop, or lose the connection. The job runs on Sume's side regardless, so the right habit is to treat the id as the thing you keep and the terminal as disposable.
With the id in a note or a log line, any machine with the CLI and the key can finish the work: watch, download, and move on. That includes a colleague's Windows laptop, as long as they have a key with access to the same workspace.
Sources
Related posts
More in Developers
- X Ads API media upload: simple for images, chunked for all media
X's Ads API lists POST media/upload for images only and a chunked upload for all media. Use the chunked route for video you render with Sume.
- Grok Imagine video extension vs chaining clips on Sume
xAI extends a Grok Imagine clip from its final frame. Sume has no extend call for Grok: save the last frame and submit it as first_frame on the next job.
- xargs -P 3: send a prompt file to Wan 3.0 without losing quotes
A 17-line shell script fans a prompts.txt out to Sume /v1/videos with xargs -P 3. Six 2 s 480p Wan 3.0 jobs cost $0.75, and a rerun reuses each prompt's key.
- Your backend in front of Sume video: return 202 and a job id
A 30-line Node server that submits a Sume video job with POST /v1/videos and answers your browser 202 with a job id, instead of holding the request open.
Written by Sume