Skip to main content
Glama

mix-the-references

Mix four references into one picture. Each reference is its own node: who (the character), what they wear, what they hold, and where they stand. FLUX.3 Klein Edit gets them in port order and the in… text:Who · character -> text:What they wear · outfit -> text:What they hold · prop -> text:Where · place -> text:Mix instruction (names each image) -> image:1 · Character -> image:2 · Outfit -> image:3 · Prop -> image:4 · Place -> edit:Mix · FLUX.3 Klein Edit; returns image (flux-3/klein/edit-image, 1024×1024) saved to disk (file path in result). Runs on NanoGPT — $0.08 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed. Example: Composite sample (https://nanoodle.com/examples/gallery/#mix-the-references). Four separate references become one picture: a paper-craft fox (image 1) wears a yellow knitted raincoat (image 2), holds one red paper lantern (image 3) and stands on a cardboard pier at dusk (image 4). FLUX.3 Klein Edit gets them in port order and the instruction names each image by number. Flaws in the saved run: the paper boats from the place reference mostly drop out and the coat comes out longer than its flat-lay reference.

Input Schema

NameRequiredDescriptionDefault
Where_placeNoText; default: "A paper-craft harbor at blue-hour dusk: a short wooden pier made of cardboard planks in the foreground, layered blue ..."; optional
_payment_idNoPayment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first.
Who_characterNoText; default: "A small paper-craft fox mascot made of folded orange paper with a white paper chest and tail tip, a black paper nose ..."; optional
What_they_hold_propNoText; default: "Product photo of a small round red paper lantern with a thin bamboo carrying handle, glowing warm from inside, center..."; optional
What_they_wear_outfitNoText; default: "Product photo of a tiny yellow knitted raincoat with a pointed hood and three round wooden toggle buttons down the fr..."; optional
Mix_instruction_names_each_imageNoText; default: "Make one new picture that combines the four reference images.\nImage 1 is the character: keep this exact paper-craft f..."; optional

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it discloses the model (flux-3/klein/edit-image), output resolution (1024×1024), on-disk persistence, the NanoGPT payment model ($0.08 deposit, Nano XNO, actual cost + 20%, change returned, no account needed), and even known failure modes of a sample run. The only gap is the multi-phase payment/watch flow, which lives in the schema rather than the description.

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 purpose is front-loaded, but the middle section is a garbled concatenation of node/port arrows ('text:Who · character -> text:What they wear · outfit -> ...') that reads as raw wiring rather than prose, and the example plus failure-mode note make it longer than needed.

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?

For a six-parameter, zero-required generation tool with no output schema, the description supplies the essentials: what the output is (image saved to disk, path in result), the cost/settlement model, and the port-order contract. The phased payment handshake is deferred to the schema, which is acceptable given the _payment_id parameter documents it.

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 real meaning: it maps each node to a port-ordered input (image 1 = character, 2 = outfit, 3 = prop, 4 = place) and explains that the mix instruction names each image by number. That ordering/naming semantic is not fully evident from the schema field names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ('Mix four references into one picture') and the description names the underlying model (FLUX.3 Klein Edit). It clearly explains the four-node structure (who/wear/hold/where), so the operation is unambiguous, though it never names a sibling like image-model-arena or character-sprites to differentiate itself.

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 context is implied through a worked example ('a paper-craft fox ... wears a yellow knitted raincoat ...') and the port-order requirement, but there is no explicit when-to-use vs. when-not guidance and no routing to alternative image tools in the sibling set.

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.