Skip to main content
Glama

Generate a static image ad

generate_image_ad

Generate 1-4 static image ads from a text prompt, optionally grounding output with product or logo reference images and saved brand settings.

Instructions

Generate 1-4 static image ads from a prompt. Pass referenceImageUrls (product, logo, prior creatives) to ground the output on real brand identity. Optionally ground it in a saved brand. Defaults to waiting for the result; set wait=false to return a job id to poll with get_job.

Input Schema

NameRequiredDescriptionDefault
waitNoWait for completion (default true).
countNoNumber of images to generate (1-4, default 1).
modelNoModel id from list_image_models. Omit to use the default model.
promptYesDetailed image prompt.
brandIdNoID of a saved brand workspace (from list_brands).
brandSlugNoSlug of a saved brand workspace.
aspectRatioNo
enhancePromptNoRun brand-aware prompt enhancement (when a brand is referenced).
useDefaultBrandNoUse the user's most recently ready saved brand automatically. Great for 'create a video for my brand'.
referenceImageUrlsNoPublic https reference image URLs. First image is the primary reference.

Output Schema

NameRequiredDescriptionDefault
jobNo
errorNo
resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare this is a non-readonly, closed-world, non-destructive write, so the bar is lower. The description still adds real operational context beyond them: the default is to block until completion, and the async path returns a job id consumed by get_job. It omits cost/rate-limit or latency expectations for a generation call.

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?

Three sentences, each earning its place: what it produces, how to ground it, and how the async path works. The wait/get_job behavior is placed where the agent needs it without preamble.

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?

With an output schema present and annotations covering the safety profile, the description covers the main decision points an agent needs: output count, grounding inputs, and the sync-vs-poll branch. The remaining gap is sibling disambiguation against generate_brand_image_ad and generate_video.

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 coverage is 90%, so the schema already documents nearly every parameter; baseline is 3. The description adds genuine semantic value for referenceImageUrls (product, logo, prior creatives, grounding on brand identity), but brandId/brandSlug, aspectRatio, and model are left entirely to the schema.

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 opens with a specific verb+resource+quantity ('Generate 1-4 static image ads from a prompt'), so the core action is unambiguous. However, the sibling generate_brand_image_ad is not named or distinguished, even though this tool also optionally grounds output in a saved brand — an agent could reasonably confuse the two.

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?

It gives concrete selection cues: use referenceImageUrls to ground on brand identity, optionally attach a saved brand, and set wait=false when you want a job id to poll with get_job. It stops short of stating when NOT to use this versus generate_brand_image_ad or generate_video.

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