pixlpal.com
PixlPal — AI-assisted photo editing. The AI never generates the photo, it only applies filters.
First seen 2026-09-07 · Last seen 2026-09-14 · Source: webmcp.com
Answer 2 · Act 7 · Transact 0 · Score: Not yet scored
Tool inspector
set_operations
Turn one or more editing knobs. Parameters you pass are merged into the current edit, so you can nudge a single value without restating the rest; omitting `params` entirely enables the operation at its default strength. Optional `mask` (from a prior segment, create_mask, or invert_mask call) limits the op to that region. Prefer invert_mask when the user wants edits on everything except a subject; `invertMask: true` on this tool is a quick alternative that does not create a selectable complement mask. `maskStrength` (0..1, default 1) softens how hard the mask applies without changing the op's own amount — use it to dial in local edits. For local lighten/darken prefer dodge_burn with a range (shadows|midtones| highlights) plus a mask; prefer shadows_highlights for whole-frame shadow/ highlight recovery; keep exposure for whole-frame EV. Prefer blacks_whites for endpoint clip/crush (the black and white points) rather than the broad shadows/highlights bands. Prefer hsl_mixer (no mask) for 'make the grass pop' and other color-of-things requests. Operations and their parameter ranges: - exposure (Brightens or darkens the whole image in photographic stops.) amount -1..1 - contrast (Expands or compresses tones around middle gray.) amount -1..1 - shadows_highlights (Opens or recovers shadows and highlights independently (Lightroom-style). Prefer for whole-frame tonal recovery.) shadows -1..1, highlights -1..1 - tone_curve (Remaps tones through a named response curve.) preset one of linear|soft|hard|film - blacks_whites (Moves the black and white points. Negative blacks crush shadows; positive lifts them. Positive whites stretch brights and can clip; negative pulls the white point in. Prefer over shadows_highlights when you want the endpoints, not the broad bands.) blacks -1..1, whites -1..1 - dodge_burn (Lightens (dodge) or darkens (burn) a tonal range — shadows, midtones, or highlights. Best used with a mask for local edits.) amount -1..1, range one of shadows|midtones|hig…
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
operations |
array | yes | — |
Raw JSON schema
{
"type": "object",
"properties": {
"operations": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"exposure",
"contrast",
"shadows_highlights",
"tone_curve",
"blacks_whites",
"dodge_burn",
"saturation",
"color_balance",
"color_shift",
"hsl_mixer",
"grain",
"film_softness",
"vignette",
"bloom",
"halation",
"lens_blur"
]
},
"params": {
"type": "object",
"additionalProperties": false,
"properties": {
"amount": {
"type": "number"
},
"shadows": {
"type": "number"
},
"highlights": {
"type": "number"
},
"preset": {
"type": "string",
"enum": [
"linear",
"soft",
"hard",
"film"
]
},
"blacks": {
"type": "number"
},
"whites": {
"type": "number"
},
"range": {
"type": "string",
"enum": [
"shadows",
"midtones",
"highlights"
]
},
"temperature": {
"type": "number"
},
"tint": {
"type": "number"
},
"hue": {
"type": "number"
},
"red_hue": {
"type": "number"
},
"red_sat": {
"type": "number"
},
"red_lum": {
"type": "number"
},
"orange_hue": {
"type": "number"
},
"orange_sat": {
"type": "number"
},
"orange_lum": {
"type": "number"
},
"yellow_hue": {
"type": "number"
},
"yellow_sat": {
"type": "number"
},
"yellow_lum": {
"type": "number"
},
"green_hue": {
"type": "number"
},
"green_sat": {
"type": "number"
},
"green_lum": {
"type": "number"
},
"aqua_hue": {
"type": "number"
},
"aqua_sat": {
"type": "number"
},
"aqua_lum": {
"type": "number"
},
"blue_hue": {
"type": "number"
},
"blue_sat": {
"type": "number"
},
"blue_lum": {
"type": "number"
},
"purple_hue": {
"type": "number"
},
"purple_sat": {
"type": "number"
},
"purple_lum": {
"type": "number"
},
"magenta_hue": {
"type": "number"
},
"magenta_sat": {
"type": "number"
},
"magenta_lum": {
"type": "number"
},
"size": {
"type": "number"
},
"strength": {
"type": "number"
},
"threshold": {
"type": "number"
},
"radius": {
"type": "number"
}
}
},
"mask": {
"type": "string",
"description": "Mask id returned by segment, create_mask, or invert_mask."
},
"invertMask": {
"type": "boolean",
"description": "When true, apply the op outside the mask without creating a complement mask. Prefer invert_mask when both the subject and its surroundings need separate selectable edits."
},
"maskStrength": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "0..1 scale on the mask before invert. Requires mask. Default 1."
}
},
"required": [
"op"
],
"additionalProperties": false
}
}
},
"required": [
"operations"
],
"additionalProperties": false
}
Similar websites
tracinginsights.com
Analyze Formula 1 racing data with interactive charts for lap times, live telemetry, timing data and race performance. Explore and Compare drivers across multip…
fiveminutebrief.ai
panoptik-studio.vercel.app
Browser-native demo video editor where humans and AI agents co-edit on the same canvas via WebMCP. No uploads, no server.
webroom.openai.chatgpt.site
A private, browser-based photo editor with precise manual controls and agent-ready WebMCP tools.