Skip to main content
Glama

quote_paint_lab

Read-only

Quote one Paint Lab AI action on an uploaded image. Does not generate or charge. Upload first with presign_generation_asset and complete_generation_asset. Returns quoteId, the job facts line, and the result size. Quotes expire after about 5 minutes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
opYesAI action: finish (finish a sketch, optional style), edit (edit with words; prompt required), fill (fill the white area of maskAssetId; prompt required), colorize (color line art without changing the lines; optional paletteHex), upscale (2× or 4×), or remove_background (cutout).
factorNoupscale only: 2 or 4 (default 2). The result must stay within 4096 × 4096.
qualityNofast or best. finish only (default best). Ignored for other actions.
variationsNoHow many results to make: 1, 2, or 4. finish, edit, and fill only (default 1). One quote covers every variation.
sourceAssetIdYesReady image generation-asset id from complete_generation_asset: the drawing to change. For colorize this is the line art (dark lines on a white background; transparency is not kept). The quote is sized from this image. The longest side must be 256–2048 px.
trainedStyleIdNofinish and edit only. Id of one of your ready trained styles from list_paint_lab_trained_styles. The result is made in that style, and the quote includes it. On generate_paint_lab with quoteId this is ignored: the quote already decides the style.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
opNoAI action this quote covers.
factsNoJob facts line for this quote (action · quality · size · variations).
widthNoSource width in px.
factorNoUpscale factor, when the action is upscale.
heightNoSource height in px.
qualityNoQuality tier this quote locked in, when the action has tiers.
quoteIdYesQuote id. Pass this to the matching generate tool. Quotes expire.
expiresAtNoISO timestamp when this quote expires.
variationsNoVariations this quote covers.
outputWidthNoResult width in px.
outputHeightNoResult height in px.
sourceAssetIdNoImage this quote was sized from. Pass it again on generate_paint_lab.
pricingVersionNoPricing version used for this quote.
trainedStyleIdNoYour trained style this quote applies, when one was set.
requiredCreditsNoUsage this quote would consume from this month’s generation allowance (internal units).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and destructiveHint=false, so safety is covered; the description adds genuine context beyond that: no charge is incurred, the returned payload includes quoteId/job facts/result size, and quotes expire after ~5 minutes. The expiry and no-charge facts are exactly the behavioral detail an agent needs before quoting.

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?

Four tight sentences, front-loaded with the core purpose, then the non-charge caveat, the prerequisite, and the return/expiry facts. No filler; each sentence carries distinct 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?

An output schema exists, so return values need not be spelled out, yet the description still names the key returned fields. Combined with prerequisites, non-charge, and expiry, the definition is complete for a quoting tool; only the explicit follow-up-to-generate linkage is left implicit.

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 description coverage is 100%, so the schema already documents all six parameters in detail (enum meanings, factor/quality/variations constraints). The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 is appropriate.

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 (quote) and resource (one Paint Lab AI action on an uploaded image), and immediately differentiates from the generate sibling by clarifying 'Does not generate or charge.' An agent can tell this is a pre-flight cost/quote step, not the generation itself.

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?

Gives the prerequisite flow explicitly: upload first with presign_generation_asset and complete_generation_asset. It also signals this is a non-executing step. It stops short of naming generate_paint_lab as the follow-up call that consumes the quoteId, so the full when-to-use path is only implied.

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