Image generation MCP server: how Sume's generate_image works
Sume's hosted MCP server has a paid generate_image tool: a prompt in, a job id back in milliseconds, then jobs_wait and jobs_result for the images.

An image generation MCP server gives an AI agent a tool that turns a text prompt, and optionally reference images, into image files, from any client that speaks MCP. Sume's hosted MCP server at https://mcp.sume.com/mcp has one, generate_image: a paid tool that routes to sume/auto unless you name a catalog model and answers with a job id, which the agent waits on with jobs_wait.
The contract comes from Sume's MCP overview, MCP tools and gates, Image API, and Jobs and results docs, read on 2026-09-28; details marked current come from the server's code. The basics page says hosted MCP still works but is not the primary path today: it fits an agent that already speaks remote MCP, while a backend calls POST /v1/images directly. The video counterpart is Video generation MCP server.
How do I connect an agent to it?
Add https://mcp.sume.com/mcp to your MCP client as a streamable HTTP server. Sume has no official connector for any client; this is a plain remote MCP connection. Under OAuth the default sign-in is read-only (mcp:read), and paid tools such as generate_image return insufficient_scope until you turn Write on at consent. An API key, sent as Authorization: Bearer $SUME_API_KEY or x-api-key, sees the full hosted tool set. Client setup is in Connect Claude Code, Cursor, or Codex to Sume and, for opencode.json, MCP server for OpenCode.
What does a generate_image call look like?
Paid tools take idempotency_key and payload, and in current code every generation field goes inside payload. This call only previews admission and cost; send it again with dry_run omitted or false to submit:
{
"idempotency_key": "desk-mug-001",
"dry_run": true,
"max_spend_usd": 1,
"payload": {
"prompt": "a ceramic mug on a wooden desk, morning light",
"aspect_ratio": "16:9"
}
}Which payload fields does generate_image take?
In current code the tool submits to POST /v1/images, so the fields follow that endpoint. Each model publishes what it accepts as capability descriptors, and a parameter the selected model doesn't list is rejected with 400 unsupported_parameter rather than dropped. image-models_list shows the catalog before you pin a model.
| `payload` field | What the docs say |
|---|---|
prompt | Required. Text description of the image |
model | Omit to route to sume/auto, or send a catalog id from image-models_list |
n | Up to 10 images per call; per-model ceilings are lower |
aspect_ratio, resolution | Normalized ratio (1:1, 16:9, 9:16, …) and tier (512, 1K, 2K, 4K); use "auto" on edits to match the reference |
quality, output_format | auto to max (catalog-gated); png, jpeg, webp, or svg |
input_references | Reference images for image-to-image, as public HTTPS URLs |
seed, stream | Not served: 400 unsupported_parameter and 400 streaming_not_supported |
How does the agent get the finished images?
It waits, then reads. In current code, generate_image submits asynchronously by default and answers within milliseconds with a job id, and its description puts stills at typically 10 to 60 seconds, one or two waits.
jobs_waitholds at most 55 seconds per call and takes up to 20 job ids, so an agent that starts several stills waits on all of them in one call.jobs_resultthen returns the job. Completed jobs can include artifacts, each with amedia.sume.comURL, atypesuch asimage, and acontent_type.- The agent gets links, not image bytes: Sume returns hosted URLs rather than inline base64. Download the files you want to keep. MCP tool call timeouts on long-running video jobs covers the wait loop.
Is Sume's image generation MCP server free?
No. generate_image is a paid tool, and spend comes from the workspace wallet. Image generation billing is all-or-nothing, so a completed generation is billed in full and a failed or canceled one is not billed. For a catalog model, the endpoint pricing lines are what the wallet is charged, so cost_usd × n is what you pay.
dry_run=truegives an admission and cost preview and does not submit the job.max_spend_usdcaps a call, enforced only when you send it.idempotency_keyis a stable key for transport and deduplication, not a human approval. Reuse a key only to resend the same call with the same payload.
What doesn't Sume's image tool do?
- Name the model behind
sume/auto. Responses echosume/auto, and Sume never discloses which family ran. - Return a transparent background. Its current tool description says transparent output isn't available on
generate_image: generate the still, then runrmbg_create, which returns a PNG with alpha (MCP server for image editing). - Read files from your computer. Hosted MCP can't, so references must be public HTTPS URLs; localhost, private-network, and non-HTTPS URLs are rejected before submission.
Sources
Related posts
More in Agents
- MCP vs function calling: how they differ and fit together
Function calling lets a model ask your app to run a function you defined; MCP puts tools on a server any client can discover. How they fit together.
- MCP vs REST API: what's the difference and when to use each
A REST API is endpoints your code calls; MCP lets an AI app discover and call a server's tools at runtime. How they differ, and when to use each.
- PDF to video AI: how to turn a document into a video
PDF to video AI turns a document's text and figures into a narrated video. On Sume today, you extract the text and export the figures as images first.
- Remote MCP server URL: what it is and where to find it
A remote MCP server URL is the HTTPS address of a server's MCP endpoint. Where to get one, where to paste it, and why it isn't a page to open.
Written by Sume