Sume CLI quickstart: create an avatar video, follow it with jobs
Install the Sume CLI, log in, create a paid avatar video, and follow the job with sume jobs status, result and events. Why Image and Video have no CLI command.
Install the CLI with curl https://cli.sume.com/install -fsS | bash, run sume login, then submit a paid avatar video with sume avatar-videos create --confirm-paid ... --json and follow it with sume jobs status JOB_ID --agent --json. The CLI covers Avatar and Avatar Video; Image, Video and Music have no CLI subcommand and go through the API.
Install and sign in
The hosted installer downloads the release binary for your OS and architecture, checks it against checksums.txt, and installs sume in ~/.sume-com/bin. If a different sume is already on your PATH, it does not overwrite it. On Windows use the PowerShell installer from the same docs page.
For a person at a laptop, browser login is the recommended path. For a remote machine, sume login --no-browser prints a flow you can finish elsewhere. For CI and controlled servers, manual API-key setup is still available.
What the CLI can create
Sume's docs are explicit and it is worth reading them before you reach for a command that does not exist. The CLI submits Avatar and Avatar Video work, and reads any job. For image, video and music generation, call the API, for example POST /v1/videos, and then use sume jobs to poll or fetch.
| Product | CLI command | Otherwise |
|---|---|---|
| Avatar Video 1.0 | sume avatar-videos create | CLI or Avatar Video guide |
| Image 1.0 | No CLI subcommand | Developer API |
| Video 1.0 and /v1/videos | No CLI subcommand | Developer API |
| Music 1.0 | No CLI subcommand | Developer API |
| Any job | sume jobs status, result, events | CLI |
Create, then follow
The create command needs --confirm-paid, so an agent or a script cannot spend by accident. The avatar-video script must estimate to 4 to 60 seconds, inclusive. The --json flag gives you the job envelope, and the id in it is what the jobs commands take. The jobs commands accept --agent, which gives output shaped for a program or an agent.
curl https://cli.sume.com/install -fsS | bash
sume login
sume auth status
sume avatar-videos create \
--confirm-paid \
--avatar-handle sume_clawra \
--script "Say hello to the Sume developer platform." \
--quality plus \
--json
# the job id is in the JSON above; use it below
sume jobs status job_123 --agent --json
sume jobs events job_123 --agent --json
sume jobs result job_123 --agent --json
Why a CLI for a job system
The CLI uses the same model as the API: submit once, store the job id, poll, and fetch the result when it is ready. The status output tells you whether a job is terminal and when to ask again, so a shell loop does not need its own backoff table. If a command times out on your side, do not run create again, since that is a second paid job. Run jobs status again with the id you saved.
This is also the sane shape for agents. A coding agent that can run sume jobs status can wait on a render without holding a long HTTP request open, and the --confirm-paid flag keeps a human decision in front of every purchase.
Rendered video versus live avatars
Tavus describes Griffin as a full-duplex video-to-video model for real-time conversation, and says Griffin-Lite is available to select trusted testers as a research preview, not to customers. That is a different job from this one. A rendered avatar video is asynchronous: you queue it, it finishes, and the job record gives you a file. The CLI above is the shortest path to that result today.
- Use sume tools schema avatar-videos.create --json to see the exact request fields.
- Keep a read-only run first, such as sume auth status, before any paid command.
- Store the job id outside your terminal history.
- For a webhook instead of polling, see the Sume webhooks guide.
Sources
Related posts
More in Developers
- Map the Sume error envelope to RFC 9457 problem details in 15 lines
RFC 9457 defines type, status, title, detail and instance. Sume's error.code, message and request_id map onto them; keep the retry fields as extensions.
- Format run stuck queued? Sume waiting vs runtime_unavailable
A queued Sume Format run reports queue.state waiting or runtime_unavailable, with position always null. A bash and jq check that reads the status route.
- Sume job webhooks are terminal-only: drive a queue from three events
Sume sends job.completed, job.failed and job.canceled only, with no progress events. Publish on completed, alert on failed, and poll events for progress.
- Sume MCP assets_create vs upload: registered URLs are unverified
On Sume MCP, assets_create registers unverified metadata for a remote URL. For bytes you own, use assets_upload_url, a client PUT, then assets_complete.
Written by Sume