Skip to main content
Glama

Edit a photo

soclo_image_photo_edit
Destructive

Apply the owner’s edit prompt to reviewed photos. Quote first with soclo_image_photo_edit_quote. SPENDS the quoted credits only after the owner approves the price. Pass expectedCredits, pricingVersion and ownerApprovedPrice:true from the approved quote, including zero only when the account quote permits it. Use the selected private photo locators from soclo_photo_reference_prepare or soclo_brand_photo_reference in their original order. Image-edit permission is one tap once per account; people in photos are allowed. The result is saved to the owner’s Soclo Library and returned as libraryAssetId and resultUrl. Save a UUID clientRequestId before calling. A pending result reattaches with the identical inputs and same request ID; an exact replay returns the original picture without a second charge. After a lost result or unknown charge, use soclo_image_recover with the original clientRequestId; never start a replacement purchase. This tool does not publish.

Input Schema

NameRequiredDescriptionDefault
modelNoDefault photo_edit uses the native photo edit quote. GPT Image (dalle) and Nano Banana Pro are photo editors too; Nano Banana Pro is only an approved backup after a GPT edit refusal.
promptYesRequired for generate: the host-authored scene text, sent directly to image generation.
imageUrlsYesSelected reviewed private photo locators in their original order.
aspectRatioNoDefaults to 1:1 for statics.
pictureTierNoFor generate: premium is the default; use standard only if the owner chooses it. Read the authenticated native quote for the exact account price.
pricingVersionNoFrom the authenticated native quote for this picture or enhancement; frames uses its own quote.
clientRequestIdYesRequired before generate: one stable UUID per picture purchase. Required before frames; recover and frames_result read the original UUID without a new render. Never retry an unknown outcome automatically or mint a replacement ID to bypass a duplicate refusal.
expectedCreditsYesRequired: use the exact authenticated native quote, including zero only when quoted for the owner-exempt account. Frames uses its own existing quote.
ownerApprovedPriceYesRequired true for generate only after the account owner has seen the tier price and approved this single picture purchase. A retry spend needs a new yes.
gptRefusalRequestIdNoRequired for nano_banana_pro: the earlier GPT edit request that refused. Never use backup for a new text-only picture or an unknown charge.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, but the description adds material traits the structured fields cannot express: credits are spent only after owner approval, image-edit permission is a one-tap account-level grant, results land in the Soclo Library, a pending result reattaches on identical inputs, and an exact replay returns the original picture with no second charge. The recovery-vs-replacement rule and output field names (libraryAssetId, resultUrl) round out the behavior disclosure.

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?

Purpose and the quote-first rule are front-loaded, and most sentences carry operational weight. It is dense at roughly ten sentences and repeats clientRequestId guidance already present in the schema, which costs a point but not the structure.

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 credit-spending, destructive, no-output-schema tool with 10 parameters, it covers cost approval, idempotent replay, recovery, permissions, result destination, and the non-publishing boundary. Nothing an agent needs to call it safely and correctly is missing.

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 100%, so the baseline is 3, but the description adds workflow meaning beyond the schema: expectedCredits/pricingVersion/ownerApprovedPrice must come from the approved quote with zero allowed only when the account quote permits, and imageUrls must keep the original order from the reference-prepare step. It also instructs generating clientRequestId before calling, clarifying sequencing rather than format.

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 (apply the owner's edit prompt to reviewed photos) and explicitly bounds the outcome with 'This tool does not publish.' It is cleanly separable from soclo_image_generate and from the quote sibling, so an agent can pick it without opening the schema.

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 the full when-to-use chain: quote first via soclo_image_photo_edit_quote, source locators from soclo_photo_reference_prepare or soclo_brand_photo_reference, and the failure path via soclo_image_recover with the original clientRequestId. It also states exclusions ('never start a replacement purchase') and the approval precondition, leaving no routing inference to the agent.

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