Skip to main content
Glama

Generate Images

generate_images
Idempotent

Generates or edits 1–20 product or marketing images synchronously, waiting for all tasks to complete and successful files to save before returning results.

Instructions

同步生成/编辑1–20项(会收费):等待本组全部终态且成功图片落盘后返回。

任务参数与submit_image_tasks相同,支持同样的模型、比例和本机/URL参考图。 与异步入口共用三元组、防重、队列和并发限额;相同任务不重复提交。 wait_timeout_seconds默认600,严格整数1–1200,包含排队时间。 全部成功才isError=false;失败保留所有结果。等待到期返回isError=true、 wait_timed_out=true及当前状态,不取消后台任务。Host超时/取消也不保证停止上游。 请保留原三元组,用get_image_tasks查询或wait_image_tasks继续等,不换编号重交。

Input Schema

NameRequiredDescriptionDefault
tasksYes
thread_idYes
checkpointerYes
wait_timeout_secondsNo

Output Schema

NameRequiredDescriptionDefault
tasksYes
thread_idYes
next_cursorNo
checkpointerYes
wait_timed_outNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.1

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, idempotent, openWorld): it discloses billing, that waiting includes queue time, that isError=false only when all succeed, that failures preserve all results, that a wait timeout returns isError=true/wait_timed_out=true without cancelling background tasks, and that host timeout/cancel doesn't guarantee upstream stop. These are exactly the behavioral traits an agent needs and none are covered by structured fields.

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?

Front-loads the cost and sync nature, then the shared-parameter note, then timeout semantics, then recovery instructions — a sensible information hierarchy. It is dense and uses compressed shorthand ('三元组', '本机/URL参考图') that requires context, but little is redundant.

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?

Given a complex 20-item batch tool with an output schema, the description covers billing, blocking semantics, timeout/error behavior, and recovery paths. Return payload details are rightly left to the output schema; the main omission is how the per-task dedup/identity triplet maps to checkpointer/thread_id/task_id.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does for the critical pieces: wait_timeout_seconds default 600 with integer range 1–1200 including queue time, 1–20 task items, identity triplet for dedup, and reference-image support (local absolute path or public HTTP/HTTPS URL, max items implied). Enumerated model/aspect_ratio fields are only referenced indirectly via 'same as submit_image_tasks', leaving some gaps.

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

Purpose5/5

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

States a specific verb+resource with scope and cost: '同步生成/编辑1–20项(会收费)', and clarifies it returns only after all items reach terminal state and images are written. It also explicitly contrasts itself with the async entry ('与异步入口共用三元组、防重、队列和并发限额'), so an agent can distinguish it from submit_image_tasks and wait_image_tasks.

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

Usage Guidelines4/5

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

Gives clear routing on the failure path: after a timeout it says to keep the original triplet and use get_image_tasks or wait_image_tasks rather than resubmitting. It also notes identical tasks are not resubmitted. It stops short of an explicit 'choose this when you want to block synchronously instead of submit_image_tasks' statement, leaving the sync-vs-async choice partly inferred.

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