ElevenLabs CLI 1.0: scripting audio with Sume over plain HTTP
ElevenLabs CLI v1.0.0 turns every API operation into a subcommand. For Sume audio, script curl against /v1/jobs and join clips for $0.01 flat per job.

ElevenLabs CLI v1.0.0 exposes every ElevenLabs API operation as a subcommand with JSON, table, YAML and CSV output. This post is about the Sume side of that shell workflow: audio is plain HTTP, with an Authorization: Bearer header, an Idempotency-Key, and job URLs you poll.
CLI facts are from the ElevenLabs changelog for August 24, 2026. Sume facts are from Timeline audio and Jobs and results, read 2026-10-01.
What does the ElevenLabs CLI 1.0 cover?
Per the changelog: every API operation as a subcommand, automatic pagination and shell completion, plus file-based configuration of agents that you push and pull. It adds nothing you need to install to call Sume; Sume's documented surface is HTTP.
How do I run a Sume audio job from a shell?
Join two Sume-hosted clips with timeline audio, then poll the job. Parts must already be this workspace's media.sume.com audio, so import first with POST /v1/media-imports. The response gives a job id; GET /v1/timeline-1.0/audio/:id does not exist, so poll the job envelope.
curl -X POST https://api.sume.com/v1/timeline-1.0/audio \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: audio-join-001" \
-d '{"operation":"concat","parts":[
{"url":"https://media.sume.com/artifacts/artf_demo/line1.wav"},
{"url":"https://media.sume.com/artifacts/artf_demo/line2.wav"}]}'
curl https://api.sume.com/v1/jobs/job_123/result \
-H "Authorization: Bearer $SUME_API_KEY"What are the limits and the price?
| Item | Value in the docs |
|---|---|
| Concat parts | 1 to 20, ordered |
| Default mode | async; sync waits up to 30 seconds |
| Output format | wav (default) or mp3 |
| Public rate | $0.01 flat per job |
Which output should I keep for scripts?
Keep wav when the file will be joined again, since mp3 re-adds priming padding at every edge. The docs say to confirm the live rate in GET /v1/catalog. If you also drive agents from a terminal, the same jobs are reachable through hosted MCP.
Sources
Related posts
More in Developers
- ElevenLabs API cursor pagination, and how Sume pages lists
ElevenLabs added a cursor-paginated phone number endpoint. Sume list routes use keyset pages: pass next_cursor back as cursor until has_more is false.
- ElevenLabs Flows API states vs Sume job status and webhooks
ElevenLabs Flows generations report pending, generating, completed and failed. Sume jobs use async, a 30-second wait cap and terminal-only webhook events.
- ElevenLabs Flows webhook: what changed, and Sume's per-job webhook
ElevenLabs Flows template runs can send a terminal result to a webhook, and webhook targets now need type all or ids. Sume sets the callback per job.
- is_final_audio_for_turn vs Sume TTS sentence boundaries: wav or mp3
ElevenLabs now emits is_final_audio_for_turn after every byte, even for MP3. Sume marks boundaries differently: sentence segments, sliced only for wav or raw.
Written by Sume