Skip to main content
Glama

generate_illustration

Generate a single composed illustration from a prompt - a scene, environment, hero image, banner, character portrait, or any standalone picture. (For a SET of separate isolated subjects sharing one style - icons, sprites, asset packs - use generate_image_set for solid-color backgrounds, or generate_transparent_image_set for transparent backgrounds, instead.) Returns a zip download URL: the image plus a prompt.json recording what you asked for, plus an index.html viewer. Each call costs 1 credit. Run generation calls sequentially, never in parallel - only one generation runs at a time per API key.

The prompt describes the picture and is used as written (no template, no appended instructions); do not put the pixel size in it - put the size in the width and height arguments. width and height must be one of the supported pixel pairs below; any other pair is rejected. These are the maximums offered - nothing larger is available. Each line is one shape: the first pair is that shape's largest size, the rest are exact proportional downscales of it.

2816x1584, 1408x792, 704x396 2048x2048, 1024x1024, 512x512, 256x256 1456x2912, 728x1456, 364x728 3200x1440, 1600x720, 800x360 2912x1456, 1456x728, 728x364 1664x2496, 832x1248, 416x624 2496x1664, 1248x832, 624x416 1776x2368, 888x1184, 444x592 2368x1776, 1184x888, 592x444 1584x2816, 792x1408, 396x704 1440x3200, 720x1600, 360x800

Formats: png (default, lossless), jpg, webp. quality (1-100) applies to jpg and webp; default 90. Prompt max length: 2500 characters. A prompt that does not describe a picture is rejected. unpackTo: a directory on your local filesystem to extract the downloaded zip into. filename: name for the image file inside the zip (default illustration.).

If a "Rate limit exceeded" error is returned, wait the suggested number of seconds before retrying. Do not retry immediately.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthYesOutput width in pixels. Must form one of the supported (width, height) pairs listed in the tool description.
formatNoOutput format: png (default, lossless), jpg, or webp.
heightYesOutput height in pixels, paired with width per the supported list in the tool description.
promptYesWhat the illustration should depict - a scene, environment, hero image, banner, character, or any single composed picture. Used as written; a prompt that does not describe a picture is rejected. Do not put the pixel size here; use width and height.
qualityNoImage quality for jpg/webp (1-100). Defaults to 90.
filenameNoName for the image file inside the zip. Defaults to illustration.<ext>.
unpackToNoPath on the caller's local filesystem where the generated illustration should be saved. The server does NOT write here. After this call returns, you (the calling client) must download illustration.zip from the returned zip URL, extract it to this path yourself, then report the path to the user. Make the download your immediate next action when the result arrives, before any commentary; the download URL is short-lived.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
widthNo
formatNo
heightNo
zipURLNo
unpackToNo
expiresAtNo
remainingNo
manifestURLNo
imageFilenameNo
rejectedPromptNoPresent only when the request was rejected because the prompt does not appear to describe a picture: the submitted prompt. No generation ran and nothing was charged; revise the prompt and resubmit.

TDQS

A5/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing cost per call, return format (zip URL with image, prompt.json, index.html), short-lived download URL, no-template prompt handling, rejected prompts, max length, and rate-limit behavior. There is no contradiction with 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.

Conciseness5/5

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

The description is long but every sentence carries necessary information. It is well-organized with lead purpose statement, sibling disambiguation, pixel-size table, format notes, and a final error-handling rule. The structure makes it easy for an agent to extract sizing and concurrency constraints.

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

Completeness5/5

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

For a tool with seven parameters, an output schema, and operational constraints, the description is remarkably complete. It covers when to use, what to return, accepted dimensions and formats, prompt limits, implementation requirement around unpackTo, and rate-limit behavior. The agent has everything needed to invoke this tool correctly.

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

Parameters5/5

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

Even though schema coverage is 100%, the description adds meaningful operational detail: the exact supported width/height pairs, to keep pixel size out of the prompt, the quality default of 90, the filename default, and the unpackTo/download behavior. This goes well beyond the schema's own parameter descriptions.

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?

The description uses a specific verb and resource: 'Generate a single composed illustration from a prompt' and explicitly lists example outputs like scene, environment, hero image, banner, and character portrait. It also distinguishes itself from siblings by directing set-based use cases to generate_image_set or generate_transparent_image_set, leaving no ambiguity about scope.

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

Usage Guidelines5/5

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

It explicitly states when to use this tool versus alternatives: single composed illustration here, sets of separate subjects in generate_image_set or generate_transparent_image_set. It also gives operational guidance: run generation calls sequentially, never in parallel, and wait the suggested seconds when a rate-limit error is returned.

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.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool targets a clearly distinct operation: three generation tools are explicitly differentiated by output type (single illustration vs. solid-color set vs. transparent set), while reference upload, editing, export, credit checking, and listing are all unambiguous. Cross-references between tools further eliminate any boundary confusion.

Naming Consistency5/5

All eight tools follow the same snake_case verb_noun pattern: check_, create_, edit_, export_, generate_, list_. The three generate_* tools share a common prefix with distinct objects, making the naming predictable and scannable.

Tool Count5/5

Eight tools is well-scoped for a logo/icon generation service: three generation variants, one editing tool, one export tool, one reference upload mechanism, plus account and history utilities. Each tool earns its place without redundancy or bloat.

Completeness5/5

The tool surface covers the full creative lifecycle: reference preparation (create_reference), generation (three variants), post-processing (edit_image_set), delivery conversion (export_icons), and session management (list_recent_generations, check_credits). Deletion is unnecessary because references and downloads expire naturally, so there are no dead ends.

Resources