Skip to main content
Glama

submit_image_batch

Idempotent

Submits up to 20 image generation or edit tasks for asynchronous processing, returns task IDs immediately, and saves completed images in the background with concurrency control.

Instructions

一次提交1–20项收费异步生成/编辑,默认并发5、最多20。收到编号即返回,后台每90秒查询并落盘。同一(checkpointer,thread_id,task_id)及参数复用,冲突拒绝;不确定提交永不自动重发。

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "checkpointer": "<checkpointer>",
      "thread_id": "<thread_id>",
      "tasks": "<tasks>"
    },
    "name": "submit_image_batch"
  }
}

Input Schema

NameRequiredDescriptionDefault
tasksYes
thread_idYes稳定的本地检查点命名空间/会话键,1–128字符。
checkpointerYes稳定的本地检查点命名空间/会话键,1–128字符。
max_concurrencyNo

Output Schema

NameRequiredDescriptionDefault
noteYes
tasksYes
statusYes
next_toolYes
thread_idYes
checkpointerYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.4.0
    • changedInput schema / properties / max_concurrency / default
      Previous value: -3New value: +5
    • changedInput schema / properties / max_concurrency / maximum
      Previous value: -10New value: +20
    • changedInput schema / properties / tasks / maxItems
      Previous value: -10New value: +20
    • addedOutput schema / $defs / ImageResult / properties / auto_poll_interval
      Added value: +{
      +  "title": "Auto Poll Interval",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / ImageResult / properties / idempotency_key
      Added value: +{
      +  "title": "Idempotency Key",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / ImageResult / properties / reused
      Added value: +{
      +  "title": "Reused",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / status / enum
      Previous value: -[
      -  "ACCEPTED",
      -  "ATTENTION_REQUIRED",
      -  "SNAPSHOT"
      -]New value: +[
      +  "ACCEPTED",
      +  "ATTENTION_REQUIRED",
      +  "SNAPSHOT",
      +  "COMPLETED"
      +]
  2. First observedv0.3.0

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly=false, openWorld=true, idempotent=true, destructive=false), it discloses that tasks are billed, that the call returns as soon as task numbers are issued, that a background loop polls every 90 seconds and persists results to disk, and that identical (checkpointer, thread_id, task_id) plus params are reused while conflicts are rejected. It also states that uncertain submissions are never auto-resent, which is exactly the kind of failure-mode detail an agent cannot get from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short clauses, zero filler, and the cost/async/return semantics come first. It leans on terse jargon ('收到编号即返回', '落盘') that is dense but not padded; slightly more unpacking would improve first-read comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an async batch-submission mutation this covers billing, concurrency, return-on-ID, polling cadence, persistence, and idempotency semantics, and an output schema exists so return values need no explanation. The gap is the absence of a pointer to the retrieval siblings (get_image_batch, get_batch_image_task) that the agent will obviously need after submission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, and the description adds real semantic value for task_id reuse (stable key, conflict rejection on reuse with different params) and for max_concurrency (default 5, max 20). It says nothing about model, group, operation, size, quality, output_dir, or the nested official_options, so the coverage gap is only partly compensated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource plus scope: submitting 1–20 paid asynchronous generation/edit tasks in one call, with default concurrency 5 and a cap of 20. The batch/async framing distinguishes it in spirit from single-task siblings such as submit_image_generation and submit_image_edit, though it never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies the use case (many tasks at once, asynchronous, background-polled) and states the batch size window, but it never says when to prefer this over run_image_batch, submit_image_generation, or submit_image_edit. The agent must infer the routing from the numbers alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.