Skip to main content
Glama

Generate an image

generate_image

Generate an image from a text prompt after quoting the credit price, then poll the run to retrieve the image URL.

Instructions

Generate one image from a prompt (paid): a NEW run of skill generate_image, charged the quoted credits per image once it is delivered. Call quote_image first and show the user the price. Poll the run with get_run; once it succeeded, generation.url is the image and its run_id can be a reference of a later generation. A reference is {upload_id, rights_confirmed: true} for a picture from upload_image or create_upload (rights_confirmed states you may use the people and works in it), {run_id} of a succeeded generate_image run of this account until its reusable_until, or {asset_id} of a picture asset from create_asset, whose rights were confirmed when it was made. A generation that fails is charged nothing. An identical request returns the same run it started before, so a call repeated after a lost answer starts nothing new; to make another one with the same request on purpose, pass attempt 2. While generations are closed it answers generations_disabled or generations_marking_pending and charges nothing. Price: seedream-5.0-flash: 3 credits per image; flare: 4 credits per image. Quote first with quote_image; list_prices names every price.

Input Schema

NameRequiredDescriptionDefault
modelYes
promptYes
attemptNo
referencesNo
aspect_ratioYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.33.0

TDQS

A4.7/5.0
Behavior5/5

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

While annotations only say non-read-only and non-destructive, the description adds billing semantics (charged per image only on delivery), failure behavior (charged nothing), idempotency (identical request returns the same run), and the closed-generations error codes. This is exactly the extra context annotations can't carry.

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 purpose is front-loaded, but the body is a dense block of very long compound sentences and the quote-first instruction is duplicated ("Call quote_image first" then "Quote first with quote_image; list_prices names every price"). The information earns its place, but the packaging is heavier than needed.

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 paid, asynchronous, multi-parameter tool with no output schema, the description covers everything an agent needs: pricing and quote flow, polling via get_run, where the artifact appears (generation.url), reference provenance and rights rules, idempotency, and error paths. No material gap remains.

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?

With 0% schema description coverage the description must compensate, and it does for the hard parameters: it enumerates per-model prices, spells out all three reference object shapes and rights_confirmed, and explains attempt. It says nothing about prompt or aspect_ratio beyond the enum values, which are self-evident, so only a small gap remains.

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 opening sentence names a specific verb and resource ("Generate one image from a prompt") and immediately frames it as a paid, NEW run, distinguishing it from quote_image, revise_run, and generate_video in the sibling list. An agent knows exactly what gets created and what it costs.

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 gives an explicit prerequisite and ordering ("Call quote_image first and show the user the price"), a follow-up step ("Poll the run with get_run"), and names alternatives for references (upload_image, create_upload, create_asset). It even covers the repeat-call case with "pass attempt 2," leaving nothing to inference.

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