Human in the loop AI agents: where a person approves
Human in the loop means an AI agent stops for a person before steps that matter. How Sume's agent does it in chat, and what replaces it in API runs.

Human in the loop means an AI agent stops for a person before a step that matters, such as spending money, publishing, or deleting, and waits for approval or a correction. An agent without a person in the loop acts on its own, so any limits have to be set in advance. Sume's video agent works both ways: in chat it asks before it spends, while API and scheduled runs are unattended, so a spend cap stands in for the approval and a run that truly needs a person comes back failed instead of half-finished.
Sume's side comes from its Quick start, Format API, Create a run, and Agent Completions docs, read on 2026-09-27, and from current server code where the docs are silent. The MCP line is from the MCP specification's Tools page.
Where does a person approve in Sume's video agent?
In the Agents chat. Sume's docs say to use the Agents tab when a person should stay in the loop: brief, review, iterate, then save the result as a reusable recipe. The agent picks the models and asks before it spends, and the thread keeps every artifact and approval. A brief can add its own checkpoint, such as asking for a draft before spending credits on the final render.
What happens when nobody is watching?
Over the API, nobody is there to answer. A Format run is one unattended turn: it does not stop to ask a person anything, approvals a chat-authored recipe would request are pre-granted, and the run carries on to the paid step within its spend cap. In current code this is text added to the run's prompt: runs started from the Agents UI keep their approval stops, while API and scheduled runs are told that nobody will answer a question and that approval gates are already granted.
When the agent genuinely cannot go on, the run ends failed, never a half-finished completed. The error code unattended_blocked means it hit a gate it could not pass without a person, such as no avatar matching the brief or a missing input it would have asked about in chat. Fix the input or the brief, then retry with a new Idempotency-Key.
What stands in for the approval?
A spend cap. Agent Completions make it mandatory: generation_spend_cap_usd has no default, because the chat's interactive spend-approval prompt is not available to a backend caller, and the docs call the cap its substitute. Spend caps for unattended AI agents covers how each surface enforces one.
| How the run starts | Person in the loop? | What limits spend |
|---|---|---|
| A person in the Agents chat | Yes: the agent asks before it spends | The person's approval |
| Format run over the API | No: approvals are pre-granted | The run's cap, or the Format's; $400 if the Format never set one |
| Scheduled run | No: approvals are pre-granted | The schedule's per-run cap; $1.00 when unset |
| Agent Completion | No: the spend-approval prompt is not available | generation_spend_cap_usd, required on every request |
How do I keep a person in the loop outside the chat?
Put the approval between runs or calls, not inside one:
- Review, then continue. A Format run is one agent turn. Show its result to a reviewer, then send
previous_run_idon a new run with their notes as theinstruction; the agent is replayed what it produced, so it can redo one part and leave the rest alone. The continuation is a new run with its own spend cap, as Regenerate one scene of an AI video shows. - Approve stills first. Avatar video previews generate the first-frame stills without starting the full talking-video render, so a person can approve composition before a full Avatar Video generation is spent.
- Gate tool calls. On Sume's hosted MCP, an OAuth session sees only read-only tools until the user grants Write at consent, and
dry_run=truepreviews admission and cost without submitting. The requiredidempotency_keyis for deduplication, not human approval. The MCP spec says there SHOULD always be a human in the loop with the ability to deny tool invocations.
Human in the loop or autonomous: which should I use?
Sume's docs split it by stage. Interactive chat is the right surface when a human should stay in the loop, which is where a recipe gets shaped. Once the recipe is fixed and only the inputs change, a Format run is the path, and the docs say to build partner integrations on runs, not on chat threads. A person approves while the work is still being defined; a spend cap and an honest failed status take over once it repeats. For the MCP side of the same question, see Safe automation for AI agents that call paid APIs.
Sources
Related posts
More in Agents
- MCP server for image editing: restyle, cut out, upscale
Sume's hosted MCP server gives agents three image edits: prompt edits from reference images, background removal to a PNG with alpha, and upscales.
- Make AI UGC videos with Claude: avatar, voice, lip sync
Claude's models output text. Connect Sume's hosted MCP server with Write on, and Claude can script, voice, and lip-sync a UGC-style avatar clip.
- MCP prompt injection: limit what a hijacked agent can do
MCP prompt injection gets an agent to call tools nobody asked for. Bound the session instead: fewer tools, read-only by default, confirmed writes.
- Difference between an MCP server and an AI agent
An MCP server exposes tools; an agent is the program where a model decides which tools to call. How the work splits, with Sume's server and agent.
Written by Sume