Skip to main content
Glama

Get Generated Asset

get_generated_asset
Read-onlyIdempotent

Retrieve the stable image or video URL and metadata for an SVG App generation.

Use when metadata is needed. Creation tools and get_generation_status already return stable placeholder-backed URLs that can be embedded immediately.

Do not use this as the primary polling loop. If status is pending, call get_generation_status. Do not rely on MCP resources to discover final image URLs automatically.

Next tool to call: call remove_image_background when an image should be embedded over arbitrary UI backgrounds, then poll get_generation_status again. Otherwise use imageUrl, videoUrl, or assetUrl according to the client's asset policy; wait for completed status before downloading the final media. Animation videoUrl and assetUrl always resolve to the transparent WebM version, never the original opaque video.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "generationId": "<generationId>"
    },
    "name": "get_generated_asset"
  }
}

Input Schema

NameRequiredDescriptionDefault
workspaceNoOptional workspace id or slug from list_workspaces. Defaults to the user's personal workspace. Use the same workspace for every call in a workflow, because generations, mascots, and palettes belong to one workspace.
generationIdYesThe generationId returned by create_mascot, generate_mascot_pose, create_mascot_animation, generate_composition, create_generation, vectorize_image, or remove_image_background.

Output Schema

NameRequiredDescriptionDefault
statusYesUse imageUrl only when status is completed. If pending, call get_generation_status again later.
assetUrlNoThe stable asset URL, matching imageUrl for image generations and videoUrl for animation generations.
canvasIdNoCanvas id to pass to remove_image_background if needed.
imageUrlNoThe stable image URL to download, copy into the local project, or embed when remote URLs are acceptable. It may serve a placeholder until completion.
mimeTypeNoMIME type for the completed asset when known. Animations are returned as transparent video/webm assets.
videoUrlNoThe stable animation video URL to download, copy into the local project, or embed when remote URLs are acceptable. It may serve a placeholder until completion.
nextActionYesThe exact next MCP action the model/client should take if the asset is not ready.
animationIdNoVideo generation id for completed animation generations.
resourceUriNoMCP resource URI for optional resource reads.
generationIdYesThe generation id that was requested.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real behavioral context beyond that: URLs are stable and placeholder-backed, downloading requires waiting for completed status, and animation videoUrl/assetUrl always resolve to the transparent WebM rather than the original opaque video. That last detail is genuinely non-obvious and valuable; it stops short of describing error or missing-generation behavior.

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

Conciseness4/5

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

Well front-loaded: purpose first, then usage, then next-step guidance. It is somewhat long and the 'Next tool to call' branching plus the asset-policy sentence could be tightened, but almost every sentence carries decision-relevant information.

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, the description need not explain return shape, and it covers the remaining ambiguities an agent would face: polling vs. retrieval, when URLs are safe to embed, and format differences for animation assets. Minor gap around behavior for expired or unknown generationIds.

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 100% and both parameters are documented there, including where generationId comes from and the workspace consistency rule. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.

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 and resource ('Retrieve the stable image or video URL and metadata for an SVG App generation') and explicitly distinguishes itself from the creation tools and get_generation_status, which already return placeholder-backed URLs. An agent can tell exactly what this returns versus its siblings.

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?

Gives explicit when-to-use ('when metadata is needed'), explicit when-not-to-use ('Do not use this as the primary polling loop... call get_generation_status'), and a concrete next-tool decision path (remove_image_background vs. direct asset use). It even warns against relying on MCP resources for URL discovery.

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.