Skip to main content
Glama

Generate Image (Popcraft)

popcraft_generate_image

STOP FIRST if the ask is a YouTube/Instagram THUMBNAIL, a video COVER or packaging art, a UGC or product AD, or any other multi-step branded production: call popcraft_get_workflow_instructions and follow the matching workflow instead of calling this tool directly — it owns the concept frameworks, prompt structure, identity locks and QA that a one-shot prompt misses. Everything else (a plain image, an illustration, a single reference-driven render) belongs here — call it directly, no workflow needed — EXCEPT when the target model advertises prompt_guide_workflow in popcraft_models_explore (GPT Image 2.5 / gpt-image-2-5 and gpt-image-2-5-fast → "gpt-image-25-prompting"): for any directed job on such a model (an EDIT that must preserve a face/product/layout, reference images, exact in-frame text, a transparent cutout, or an "expand/optimize my prompt" ask) load that workflow first. Generate images with Popcraft — GPT Image 2, Seedream, Nano Banana, Midjourney and more. Defaults: aspect_ratio "1:1", resolution model-default, count 1 (must be 1, 2, or 4 — the Popcraft pricing tiers). Pass medias (GCS urls from popcraft_media_import_url or a prior popcraft_generate_image/popcraft_job_display result) with role:"reference" for a reference image (style/composition/subject transfer) or role:"video" for a video reference when the model accepts video input (e.g. Nano Banana 2). Omit medias for pure text-to-image. Pick model via popcraft_models_explore first if unsure — references are validated against the model before charging (count, media type, size, format), so check its reference_limits/image_input to avoid a rejected call. Set get_cost:true to preview the exact credit cost WITHOUT submitting a job — always do this before a first-time or expensive generation so the user can confirm. Local files attached in chat cannot be read by this remote server — use popcraft_media_upload_widget (or popcraft_media_upload) instead of asking for attachments. If a result carries recovery_tool, call that tool immediately; do not explain or ask first. On success, an interactive result card is shown to the user and refreshes itself automatically until the job finishes — do NOT poll or re-check status in a loop. Call popcraft_job_display at most once, and only if this client did not render a result card or the user asks about the job again later. The result includes project — the Popcraft project the output was filed into; when the user did not pass project_id/project_name, mention it briefly (e.g. "saved to ") so they know where it landed. Never tell the user how long the job will take or quote any estimate of generation time — the result card shows progress.

Input Schema

NameRequiredDescriptionDefault
countNoNumber of images: 1, 2, or 4 (Popcraft pricing tiers) — default 1
modelYesPopcraft model id, e.g. "gpt-image-2", "seedream-4-0", "nano-banana" — list via popcraft_models_explore
mediasNoReferences as GCS URLs from popcraft_media_import_url or prior results; role:"reference" for images, role:"video" for video-capable image models (check reference_limits.video)
promptNoText prompt describing the image to generate
get_costNotrue = return the exact credit cost WITHOUT submitting; use this before a first-time or expensive generation
project_idNoFile the result into this Popcraft project (id from popcraft_projects). Omit to use the user's current/last-used project (or a default). Errors if you don't own it.
resolutionNoModel-specific resolution/size string, e.g. "1K", "2K" — omit for the model default
aspect_ratioNoe.g. "1:1", "16:9", "9:16", "4:3" — default "1:1"
project_nameNoFile the result into the project with this title, creating it if it doesn't exist. Ignored when project_id is set.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / medias / description
      Previous value: -"Reference images as GCS URLs from popcraft_media_import_url or prior results; role:\"reference\" conditions the generation on the image (style/composition/subject transfer)"New value: +"References as GCS URLs from popcraft_media_import_url or prior results; role:\"reference\" for images, role:\"video\" for video-capable image models (check reference_limits.video)"
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (which only cover safety/idempotency), it discloses that references are validated against the model before charging, that get_cost previews cost without submitting, that a result card auto-refreshes so polling is forbidden, that recovery_tool must be called immediately, and that local chat attachments are unreadable.

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 routing constraint is correctly front-loaded, but the body is one dense run-on paragraph with nested exceptions and heavy capitalization that is hard to parse. Every clause is arguably useful, yet bullet/step structure would deliver the same content far more legibly.

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 9-parameter, credit-charging, asynchronous generation tool with no output schema, the description covers the full lifecycle: model selection, media sourcing, cost preview, submission, result-card/project filing, recovery, and polling avoidance.

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 coverage is already 100%, so the baseline is 3; the description adds genuine value on top by specifying count defaults/tiers, that medias can be omitted for pure text-to-image, the role distinctions, and that model should be chosen via popcraft_models_explore.

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 ("Generate images with Popcraft") and names the model families covered. It clearly differentiates from sibling generators (popcraft_generate_3d, generate_audio, generate_video) and from the upscale/postprocess tools.

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?

Explicitly routes: thumbnails/covers/ads/multi-step branded production → popcraft_get_workflow_instructions; plain image/illustration/single-reference render → this tool directly; directed jobs on models advertising prompt_guide_workflow → load that workflow first. It also names when to call get_cost, job_display, and the media upload tools.

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.