Five generate_image calls in one turn: Sume MCP create budget

Hosted Sume MCP gives paid creates their own budget (20 per principal, 64 per process) and queues a call up to 20 seconds before wait_busy.

4 min readSume
All posts

An agent that sends five generate_image calls in one turn used to see three of them refused with wait_busy, even with an empty generation queue. Sume's hosted MCP work-bounds notes explain why, and what changed.

What went wrong

The tool budget, not generation, was full. All tool calls shared two slots per workspace member on a process, and two 14-second crawl_find calls in another thread held both. Admission refused each create at once, even though generation had 0 jobs in progress and 44 queued against limits of 300 and 1,500.

What changed

  • Paid-generation creates have their own budget: 64 per process and twenty per principal, matching the 20 ids one jobs_wait accepts.
  • create and tool admission queue a call for up to 20 seconds in arrival order, inside the 60-second request lifetime.
  • wait_busy now means the process stayed saturated for the whole wait.
  • The tool cap stays four per principal and 16 per process. Spend, wallet holds and idempotency are unchanged, and a refused call creates no job.

What to do in an agent

A create is a sub-second submit. Its real gate is generation admission: wallet, concurrency limit and queue, which can still answer generation_admission_rejected, 429 queue_full or 402 insufficient_credits (Generation admission). So fan out up to twenty creates, each with its own idempotency_key, then wait in groups of twenty.

If three or more calls have the same shape, such as one image per scene, the script_run tool runs them in one program with max_calls and max_paid_calls limits and returns the child jobs[]. Retry a wait_busy after a second with the same key rather than a new one.

Sources

Related posts

More in Agents

All Agents posts

Written by Sume