Skip to main content
Glama

Upscale an image

upscale_image

Re-renders an existing generation at a higher resolution (sharper detail). COSTS CREDITS (generate_* at the TARGET resolution). Creates a NEW generation in the source's own project. An uploaded asset works as the base too (asset_id, not both); its result goes to project_id or the asset's project.

Input Schema

NameRequiredDescriptionDefault
asset_idNo
project_idNoasset_id only.
resolutionYesTarget resolution; drives cost.
generation_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / asset_id
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / project_id
      Added value: +{
      +  "description": "asset_id only.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "generation_id",
      -  "resolution"
      -]New value: +[
      +  "resolution"
      +]
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false; the description adds materially: it costs credits priced like generate_* at the target resolution, it is non-destructive (creates a new generation), and it inherits the source's project. It stops short of describing async/task behavior or failure modes, which for a credit-spending operation would be valuable.

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?

Front-loaded with the core action, then cost, then side effects, then the asset_id branch. Dense and telegraphic but every clause carries distinct information, and the parentheticals keep it to a compact block.

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 4-param, no-output-schema tool, the description covers what an agent needs: what it produces, that it costs credits, that it does not mutate the source, the mutual exclusion between the two base inputs, and output placement. Only async/task-return behavior is unaddressed.

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 only 50% schema coverage (asset_id and generation_id are undocumented in the schema), the description compensates well: it establishes that asset_id and generation_id are mutually exclusive ('not both'), that project_id applies only to asset_id, and where the result lands in each case. It does not explain expected ID formats or what happens if neither base is supplied.

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 ('re-renders an existing generation at a higher resolution') with the concrete effect ('sharper detail'), and clarifies that it produces a NEW generation rather than mutating the source. This distinguishes it from restyle/expand_image/generate_image, which an agent could otherwise confuse with it.

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

Usage Guidelines3/5

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

Usage is implied (call it when you need a higher-resolution version of an existing generation or asset), and the description does clarify that an uploaded asset works as a base. But it never explicitly says when to prefer this over expand_image, restyle, or a fresh generate_image call, so alternative selection is left to inference.

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.

Resources