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.

5 min readSume
All posts

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_KEY

What 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.

CLI job commands from the Sume docs, read 2026-10-05
CommandUse it to
sume jobs list --agent --jsonFind a job id you lost
sume jobs status <job_id> --agent --jsonRead the current state
sume jobs events <job_id> --agent --jsonSee queue and run events
sume jobs watch <job_id>Poll until terminal or a timeout
sume jobs download <job_id> --output-dir .\outWrite completed media to a folder
sume jobs cancel <job_id> --confirm-submitCancel 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 .\out

Gotchas on Windows

  • watch ends 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_KEY set with $env: lasts for the session only. Use your usual secret store for scheduled tasks.
  • If a different sume is already on your PATH, run Get-Command sume to 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

All Developers posts

Written by Sume