Sume assets from the terminal: upload-url, complete, download
The Sume CLI registers an asset in three write-gated steps and reads it back with download-url or download. Flags, the confirm gate and what stays private.

Register an asset with sume assets upload-url, upload the bytes to the URL it gives you, then confirm with sume assets complete <asset_id>. Each write needs --confirm-submit. Read it back with sume assets download-url <asset_id> or sume assets download <asset_id> --output-dir ./assets.
Everything here is from the Command reference and Jobs and media inputs, read 2026-09-30.
What are the asset commands?
Reads are free of a gate; registering and uploading are write-gated.
| Command | Gate | Use |
|---|---|---|
| sume assets list / get <asset_id> | None | Inspect assets |
| sume assets create --source-url <https url> | --confirm-submit | Register from a public URL |
| sume assets upload-url --content-type --size-bytes | --confirm-submit | Get an upload target |
| sume assets complete <asset_id> | --confirm-submit | Finish an upload |
| sume assets download-url / download | None | Read back |
What does the upload sequence look like?
The hosted MCP page describes the same shape: create an upload URL, the client PUTs the bytes, then complete. Inspect exact flags with sume tools schema assets.create --json and the related schemas.
sume assets upload-url --content-type image/png --size-bytes 12345 --confirm-submit
# upload the file bytes to the URL returned above
sume assets complete <asset_id> --confirm-submit
sume assets download <asset_id> --output-dir ./assetsDo I need an asset at all?
Often not. The docs say to prefer public HTTPS media URLs in generation payloads when you do not need first-party asset ids or the asset lifecycle.
What should I keep private?
Treat signed upload and download URLs as temporary secrets: they are not part of the launch public API contract. When reporting, use local filenames, redact query strings, and never paste SUME_API_KEY or ~/.sume-com/config.json. See Security.
Sources
Related posts
More in Developers
- sume/auto video defaults: 720p, 8 seconds, 3 to 10 s at 16:9 or 9:16
Leave resolution and duration off a sume/auto video request and Sume uses 720p and 8 seconds. The Auto envelope is 3 to 10 seconds at 16:9 or 9:16.
- Install the Sume CLI in CI: checksums and pinned release tags
The hosted installer verifies checksums.txt and will not overwrite another sume on PATH. To pin, swap latest for a release tag such as v0.1.6.
- sume jobs watch timed out: recover the job before you resubmit
A local wait that times out does not cancel a paid Sume job. Inspect it with jobs status, events and result, then download, instead of submitting again.
- sume/video-1.0 and /v1/models/sume/video-1.0/runs: what they are
Video 1.0 is a retiring alias for Video Router Auto. Two URLs take the same body, the public id is sume/video-1.0, and receipts report sume/auto.
Written by Sume