Own agent loop vs one Sume Agent Completion request
POST /v1/agent/completions runs the Sume Agent with tools and media generation in one async call: required spend cap, 30 images, a schema and a receipt.

An Agent Completion lets your backend start the Sume Agent with a single POST /v1/agent/completions, instead of running your own tool-calling loop against the generation APIs. It returns a 202 and an agent.run receipt you poll, and generation_spend_cap_usd is required with no default (Agent Completions).
What it covers
| Piece of a hand-built loop | Agent Completion |
|---|---|
| Choosing and calling generation tools | Same runtime as the Agents chat UI: sandbox, tools, MCP bridge, media generation |
| Your own prompt assembly | instruction, or messages of system and user turns joined into one prompt |
| Spend ceiling | Required generation_spend_cap_usd |
| Typed result | output_schema binds output to your JSON Schema |
| Images for the model to see | Up to 30 in attachments or input_image parts |
A request
Send exactly one of instruction or messages. Assistant turns are rejected; each completion runs in a new thread.
curl -sS -X POST "https://api.sume.com/v1/agent/completions" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: ac-001" \
-d '{
"instruction": "Write one caption for the attached product shot.",
"attachments": [{"type":"input_image","image_url":"https://cdn.example.com/shot.jpg"}],
"generation_spend_cap_usd": 2
}'What it does not do
There is no streaming and no synchronous OpenAI-style choices[] response. Non-image attachments, continuing a prior thread with thread_id and team-owned threads are listed as not available yet.
Choosing among three surfaces
A Format stores how to do a job and takes inputs per call. A schedule stores what to do on a cadence. A completion stores nothing and fits a task that changes on each call. All three run the same agent and return the same receipt shape.
Polling the receipt
Poll GET /v1/agent-runs/{id} (or the receipt's status_url) until next_action is no longer poll_status. Statuses are queued, processing, completed, failed and canceled. A completed run fills output, with the last text in output.text and generated media in output.images, output.videos, output.audio and output.files. POST /v1/agent-runs/{id}/cancel stops a run in progress.
Keys created before Agent Completions shipped lack the agent_completions:* scopes and get 403 insufficient_scope; create a new key. Service-account keys cannot create completions.
Sources
Related posts
More in Comparisons
- Phonon-2 (164 MB, English) or hosted Sume STT for a 10-minute file?
Phonon-2 is a free 164 MB English-only on-device model. Sume STT is hosted, multilingual, about 1 cent a minute. When each fits, with sourced numbers.
- Pika Starter 900 credits vs Creator 3,150: same credit price
Pika Creator costs 3.5 times Starter and gives 3.5 times the credits. The extra $25 is the commercial license, not a volume discount.
- Placid 1 credit and Bannerbear 2 per video second vs Sume
Placid charges one credit per second of video and Bannerbear two per second of animation. Sume Timeline charges $0.10 per output minute. Convert them.
- Preview the first frame before an avatar render: Sume vs credits
Synthesia and HeyGen sell avatar video from monthly credit pools. Sume previews the first frame of an avatar scene before you commit to the full render.
Written by Sume