Skip to main content
Glama

generate image

generate_image
Destructive

Create one independent billable Studio task. All creation tools use input with original model parameters, reference_files and explicit file_bindings. Read list_models.defaults for the default model of this tool, then get_model_schema for the complete schema. generate_task requires model; shortcuts may omit it. Explicit model selects that public task model. Set the documented mode in input; no mode, model fields, defaults or voice choices are inferred or injected. Flat model parameters and legacy reference_images/reference_audio are not accepted. Backend validation is authoritative. Use session_title for a new topic, session_id to continue, and session_id plus base_run_id for a version. Preserve returned model/task_id/session_id/run_id/media_type. Never automatically resubmit or change model/session after rejection or an unconfirmed submission. In user-facing replies, omit technical identifiers by default, including user/profile IDs, task_id, session_id, run_id, base_run_id, voice_id, and file IDs. Retain the exact returned identifiers for tool arguments, task queries, session continuation, version appends, and voice reuse; never redact, regenerate, or guess these references. Show an identifier only when the user explicitly asks for it or a specific troubleshooting step requires that exact value, and show only the reference needed. Prefer plain-language status, model names, result previews/download links, and Studio links built from the returned session_id. This changes reply presentation only; tool result fields remain available for the workflow.

Input Schema

NameRequiredDescriptionDefault
inputYesFollow the complete get_model_schema.schema for model parameters, including nested objects and arrays. Values pass unchanged to backend validation; no plugin field or mode whitelist. Use direct media URLs or reference_files with explicit file_bindings, without mixing them. Routing, identity and session overrides are not model inputs. Metadata does not prove content or access.
modelNoOmit to use this tool's default from list_models.defaults. Supply a canonical ID or exact slug to select another task model; read its complete schema first.
session_idNoUse a returned or user-provided Studio session ID to add related work to that project. Never guess a session ID.
base_run_idNoTo revise a specific work, pass its returned run_id and the same session_id. Omit to create an independent work in the project.
file_bindingsNoUse paths declared in schema.mcp.attachments. Replace [] with an explicit input array index, e.g. elements[0].image_urls; provide parent objects and their metadata in input. Bind every file once using zero-based file_indices in intended order. Never overwrite direct URLs or guess fields or ordering.
session_titleNoRequired for a new Studio topic: 1-255 characters after trimming. Ignored when session_id is provided.
reference_filesNoChatGPT files in original order. file_id is metadata, never a URL or permission proof. Temporary download URLs are used only in this call. Do not invent MIME, byte size, dimensions or duration.

Output Schema

NameRequiredDescriptionDefault
errorYes
modelYes
stateYes
run_idNo
task_idYes
progressYes
voice_idYes
created_atYes
media_typeYes
session_idNo
completed_atYes
preview_urlsYes
text_outputsNo
download_urlsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3/5.0
Behavior4/5

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

Annotations already declare mutation, non-idempotence, and destructuring, but the description adds substantive context beyond them: the task is billable, backend validation is authoritative, no modes/models/voice choices are inferred or injected, legacy reference_images/reference_audio and flat model parameters are rejected, and the agent must never auto-resubmit after a rejection or unconfirmed submission. These are genuine operational constraints an agent would not derive from the annotations.

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

Conciseness3/5

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

The operative calling instructions are reasonably front-loaded in the first several sentences, but the latter half drifts into reply-presentation policy about hiding task_id, session_id, run_id, voice_id, and file IDs — useful context, yet verbose and loosely tied to invoking this specific tool. There is noticeable repetition around identifier retention.

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

Completeness3/5

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

An output schema exists, so return-value documentation is not required, and the routing/identifier lifecycle is well covered. What is missing is the most basic thing an agent needs for this specific tool: that it produces images, and any hint about image-specific input expectations, cost per generation, or typical latency — so the description is complete on workflow mechanics but silent on tool-specific substance.

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 100%, so the baseline is 3. The description does add a few things the schema does not spell out as directly — that input must carry original model parameters with explicit file_bindings, that reference_files and direct URLs must not be mixed, and that legacy reference_images/reference_audio are not accepted — but the session_title/session_id/base_run_id semantics largely restate the parameter descriptions.

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

Purpose2/5

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

The description opens with "Create one independent billable Studio task," which states a verb and a resource but never says what is actually generated (an image). It reads as generic boilerplate shared with generate_task, generate_video, generate_music, and generate_speech, so an agent has no textual basis for distinguishing this tool from its siblings beyond the tool name itself.

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 gives real workflow guidance: read list_models.defaults for the default model, read get_model_schema for the full schema, use session_title for a new topic, session_id to continue, and session_id plus base_run_id for a version. However, it never states when to choose generate_image over generate_video or generate_task, and offers no exclusions, so routing between creation siblings is left implicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources