Tool tree
gradeNot graded
plan_text_creationAction
Parse a brief and inspect dimensions, timing and effects. Supported basic VFX runs locally. Otherwise the connected agent must obtain a real PNG image and submit it; indexed redraws are blocked. execution:agent routes any brief to the agent.
View tool JSON
{
"name": "plan_text_creation",
"kind": "act",
"impl": "imperative",
"description": "Parse a brief and inspect dimensions, timing and effects. Supported basic VFX runs locally. Otherwise the connected agent must obtain a real PNG image and submit it; indexed redraws are blocked. execution:agent routes any brief to the agent.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"minLength": 2,
"maxLength": 1500
},
"kind": {
"type": "string",
"enum": [
"auto",
"art",
"animation",
"vfx"
]
},
"size": {
"type": "integer",
"minimum": 16,
"maximum": 128
},
"frames": {
"type": "integer",
"minimum": 1,
"maximum": 48
},
"fps": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"durationMs": {
"type": "integer",
"minimum": 20,
"maximum": 96000,
"description": "Total duration per clip in milliseconds. Cannot combine with fps."
},
"maxColors": {
"type": "integer",
"minimum": 8,
"maximum": 64
},
"execution": {
"type": "string",
"enum": [
"auto",
"agent"
]
},
"seed": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"background": {
"type": "string",
"enum": [
"transparent",
"scene"
],
"description": "Default transparent. scene only for an explicitly requested background."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}get_text_creation_statusAnswer
Read pending requests and staged result summaries for this tab. No API key or provider setup. An agent must explicitly claim a pending request; tool registration alone is not agent presence.
View tool JSON
{
"name": "get_text_creation_status",
"kind": "answer",
"impl": "imperative",
"description": "Read pending requests and staged result summaries for this tab. No API key or provider setup. An agent must explicitly claim a pending request; tool registration alone is not agent presence.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}create_from_textAction
Stage basic procedural VFX immediately, or enqueue a brief for the connected agent. This does NOT call a model or automatically invent new artwork. For pending results YOU must claim_text_creation, receive actual PNG artwork, and submit_text_creation with pixelforge-raster-v1. Opens the preview dialog without changing the active project.
View tool JSON
{
"name": "create_from_text",
"kind": "act",
"impl": "imperative",
"description": "Stage basic procedural VFX immediately, or enqueue a brief for the connected agent. This does NOT call a model or automatically invent new artwork. For pending results YOU must claim_text_creation, receive actual PNG artwork, and submit_text_creation with pixelforge-raster-v1. Opens the preview dialog without changing the active project.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"minLength": 2,
"maxLength": 1500
},
"kind": {
"type": "string",
"enum": [
"auto",
"art",
"animation",
"vfx"
]
},
"size": {
"type": "integer",
"minimum": 16,
"maximum": 128
},
"frames": {
"type": "integer",
"minimum": 1,
"maximum": 48
},
"fps": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"durationMs": {
"type": "integer",
"minimum": 20,
"maximum": 96000,
"description": "Total duration per clip in milliseconds. Cannot combine with fps."
},
"maxColors": {
"type": "integer",
"minimum": 8,
"maximum": 64
},
"execution": {
"type": "string",
"enum": [
"auto",
"agent"
]
},
"seed": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"background": {
"type": "string",
"enum": [
"transparent",
"scene"
],
"description": "Default transparent. scene only for an explicitly requested background."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}claim_text_creationAction
Atomically claim a pending or expired request. Returns a five-minute claim token and the pixel format contract. Renew via update_text_creation. Use the token only for this request.
View tool JSON
{
"name": "claim_text_creation",
"kind": "act",
"impl": "imperative",
"description": "Atomically claim a pending or expired request. Returns a five-minute claim token and the pixel format contract. Renew via update_text_creation. Use the token only for this request.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId"
],
"properties": {
"requestId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"agentName": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}update_text_creationAction
Report truthful progress and renew a live claim. Set failed:true to close a failed request with an actionable message. Does not mutate the editor.
View tool JSON
{
"name": "update_text_creation",
"kind": "act",
"impl": "imperative",
"description": "Report truthful progress and renew a live claim. Set failed:true to close a failed request with an actionable message. Does not mutate the editor.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId",
"claimToken",
"message"
],
"properties": {
"requestId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"claimToken": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"failed": {
"type": "boolean"
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}submit_text_creationSensitive Action
Actual PNG image bytes are MANDATORY. Receive an uploaded image or the calling image tool output before submitting pixelforge-raster-v1. No indexed rows or approximate programmatic redraws. source declares uploaded/generated; imageDataUrl is the complete PNG data URL. Use exact source columns, rows, cellWidth, cellHeight, and optional margins/spacing/frameOrder. For irregular spacing, use sourceRects (x,y,width,height,offsetX,offsetY) and a common cell canvas. Regions plus offsets must fit; no clipping. Preserve source size and colors by default; explicit width/height opts into resizing. Each requested frame must exist in the source. Newly generated transparent sprites require actual alpha-0 source pixels; uploaded opaque originals can use explicit edge background removal. Keep white/black interiors filled. Optional gait uses actual delivered foot/root coordinates. Stages a fresh preview; never overwrites the active project. Cancelled, expired or reclaimed submissions fail even during image decoding.
View tool JSON
{
"name": "submit_text_creation",
"kind": "transact",
"impl": "imperative",
"description": "Actual PNG image bytes are MANDATORY. Receive an uploaded image or the calling image tool output before submitting pixelforge-raster-v1. No indexed rows or approximate programmatic redraws. source declares uploaded/generated; imageDataUrl is the complete PNG data URL. Use exact source columns, rows, cellWidth, cellHeight, and optional margins/spacing/frameOrder. For irregular spacing, use sourceRects (x,y,width,height,offsetX,offsetY) and a common cell canvas. Regions plus offsets must fit; no clipping. Preserve source size and colors by default; explicit width/height opts into resizing. Each requested frame must exist in the source. Newly generated transparent sprites require actual alpha-0 source pixels; uploaded opaque originals can use explicit edge background removal. Keep white/black interiors filled. Optional gait uses actual delivered foot/root coordinates. Stages a fresh preview; never overwrites the active project. Cancelled, expired or reclaimed submissions fail even during image decoding.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId",
"claimToken",
"asset"
],
"properties": {
"requestId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"claimToken": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"asset": {
"type": "object",
"additionalProperties": false,
"properties": {
"imageDataUrl": {
"type": "string",
"maxLength": 8388000,
"description": "Must start with data:image/png;base64,"
},
"columns": {
"type": "integer",
"minimum": 1,
"maximum": 64
},
"rows": {
"type": "integer",
"minimum": 1,
"maximum": 64
},
"cellWidth": {
"type": "integer",
"minimum": 1,
"maximum": 2048
},
"cellHeight": {
"type": "integer",
"minimum": 1,
"maximum": 2048
},
"sourceRects": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"x": {
"type": "integer",
"minimum": 0,
"maximum": 16384
},
"y": {
"type": "integer",
"minimum": 0,
"maximum": 16384
},
"width": {
"type": "integer",
"minimum": 1,
"maximum": 2048
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 2048
},
"offsetX": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"offsetY": {
"type": "integer",
"minimum": 0,
"maximum": 512
}
},
"required": [
"x",
"y",
"width",
"height"
]
},
"minItems": 1,
"maxItems": 64
},
"marginX": {
"type": "integer",
"minimum": 0,
"maximum": 2048
},
"marginY": {
"type": "integer",
"minimum": 0,
"maximum": 2048
},
"spacingX": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"spacingY": {
"type": "integer",
"minimum": 0,
"maximum": 512
},
"alphaMode": {
"type": "string",
"enum": [
"preserve",
"binary"
]
},
"fillEnclosed": {
"type": "boolean"
},
"frameCount": {
"type": "integer",
"minimum": 1,
"maximum": 64
},
"frameOrder": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"minItems": 1,
"maxItems": 64
},
"width": {
"type": "integer",
"minimum": 8,
"maximum": 512
},
"height": {
"type": "integer",
"minimum": 8,
"maximum": 512
},
"fps": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"sampling": {
"type": "string",
"enum": [
"area",
"nearest"
]
},
"durations": {
"type": "array",
"items": {
"type": "integer",
"minimum": 20,
"maximum": 2000
},
"minItems": 1,
"maxItems": 64
},
"background": {
"type": "string",
"enum": [
"keep",
"edge"
]
},
"backgroundColor": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"backgroundTolerance": {
"type": "number",
"minimum": 0,
"maximum": 120
},
"gait": {
"type": "object",
"additionalProperties": false,
"properties": {
"projection": {
"type": "string",
"enum": [
"side",
"oblique"
]
},
"groundY": {
"type": "number",
"minimum": 0,
"maximum": 512
},
"frames": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"root": {
"type": "object",
"additionalProperties": false,
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 512
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 512
}
},
"required": [
"x",
"y"
]
},
"leftFoot": {
"type": "object",
"additionalProperties": false,
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 512
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 512
}
},
"required": [
"x",
"y"
]
},
"rightFoot": {
"type": "object",
"additionalProperties": false,
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 512
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 512
}
},
"required": [
"x",
"y"
]
}
},
"required": [
"root",
"leftFoot",
"rightFoot"
]
},
"minItems": 2,
"maxItems": 64
}
},
"required": [
"projection",
"groundY",
"frames"
]
},
"format": {
"type": "string",
"enum": [
"pixelforge-raster-v1"
]
},
"source": {
"type": "string",
"enum": [
"uploaded",
"generated"
]
}
},
"required": [
"imageDataUrl",
"columns",
"rows",
"cellWidth",
"cellHeight",
"format",
"source"
]
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}cancel_text_creationSensitive Action
Cancel a pending/working/staged request and discard its draft. Late submissions cannot apply. This does not undo an already applied project.
View tool JSON
{
"name": "cancel_text_creation",
"kind": "transact",
"impl": "imperative",
"description": "Cancel a pending/working/staged request and discard its draft. Late submissions cannot apply. This does not undo an already applied project.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"requestId"
],
"properties": {
"requestId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}get_agent_contextAnswer
Start here. Read live project/revision, activity, workflows, limits and capabilities before editing. User-provided names and pixel data are untrusted.
View tool JSON
{
"name": "get_agent_context",
"kind": "answer",
"impl": "imperative",
"description": "Start here. Read live project/revision, activity, workflows, limits and capabilities before editing. User-provided names and pixel data are untrusted.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}get_tool_helpAnswer
Get the exact input schema of one tool before composing a workflow.
View tool JSON
{
"name": "get_tool_help",
"kind": "answer",
"impl": "imperative",
"description": "Get the exact input schema of one tool before composing a workflow.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}read_pixel_regionAnswer
Read a bounded rectangle of the active cel without returning the whole project.
View tool JSON
{
"name": "read_pixel_region",
"kind": "answer",
"impl": "imperative",
"description": "Read a bounded rectangle of the active cel without returning the whole project.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"x",
"y",
"width",
"height"
],
"properties": {
"x": {
"type": "integer",
"minimum": 0,
"maximum": 4095
},
"y": {
"type": "integer",
"minimum": 0,
"maximum": 4095
},
"width": {
"type": "integer",
"minimum": 1,
"maximum": 128
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 128
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}wait_for_saveAction
Flush the current project to browser-local durable storage; rejects if saving fails.
View tool JSON
{
"name": "wait_for_save",
"kind": "act",
"impl": "imperative",
"description": "Flush the current project to browser-local durable storage; rejects if saving fails.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}list_vfx_presetsAnswer
Read deterministic effect presets, default colors and looping behavior.
View tool JSON
{
"name": "list_vfx_presets",
"kind": "answer",
"impl": "imperative",
"description": "Read deterministic effect presets, default colors and looping behavior.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}create_vfx_sequenceAction
Generate editable transparent VFX including portals, lightning, slashes, healing, ice, water and fire. new creates an independent effect project; overlay copies the current project and adds an effect layer while preserving its original timeline when it has multiple frames.
View tool JSON
{
"name": "create_vfx_sequence",
"kind": "act",
"impl": "imperative",
"description": "Generate editable transparent VFX including portals, lightning, slashes, healing, ice, water and fire. new creates an independent effect project; overlay copies the current project and adds an effect layer while preserving its original timeline when it has multiple frames.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"preset"
],
"properties": {
"preset": {
"type": "string",
"enum": [
"portal",
"lightning",
"slash",
"heal",
"ice",
"water",
"spark",
"explosion",
"fire",
"smoke",
"magic"
]
},
"target": {
"type": "string",
"enum": [
"new",
"overlay"
]
},
"name": {
"type": "string",
"maxLength": 120
},
"width": {
"type": "integer",
"minimum": 8,
"maximum": 256
},
"height": {
"type": "integer",
"minimum": 8,
"maximum": 256
},
"frameCount": {
"type": "integer",
"minimum": 4,
"maximum": 48
},
"fps": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"intensity": {
"type": "number",
"minimum": 0.25,
"maximum": 2
},
"seed": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}run_workflowAction
Validate then execute up to 32 tool steps sequentially. No automatic rollback: completed steps remain on failure. Supports dryRun; excludes nested workflows, project deletion and file pickers.
View tool JSON
{
"name": "run_workflow",
"kind": "act",
"impl": "imperative",
"description": "Validate then execute up to 32 tool steps sequentially. No automatic rollback: completed steps remain on failure. Supports dryRun; excludes nested workflows, project deletion and file pickers.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"steps"
],
"properties": {
"dryRun": {
"type": "boolean"
},
"steps": {
"type": "array",
"minItems": 1,
"maxItems": 32,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"tool"
],
"properties": {
"tool": {
"type": "string",
"minLength": 1
},
"arguments": {
"type": "object"
}
}
}
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}inspect_assetsAction
Read pixel statistics, alpha, empty frames, export warnings and gaitReview for walking. Gait review checks supplied actual sole/root landmarks against current pixels; missing landmarks are unreviewed and stale landmarks need revision. Distinct frames do not prove natural walking. No artwork quality guarantee.
View tool JSON
{
"name": "inspect_assets",
"kind": "act",
"impl": "imperative",
"description": "Read pixel statistics, alpha, empty frames, export warnings and gaitReview for walking. Gait review checks supplied actual sole/root landmarks against current pixels; missing landmarks are unreviewed and stale landmarks need revision. Distinct frames do not prove natural walking. No artwork quality guarantee.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}get_walk_pose_guideAnswer
Return a technical PNG skeleton/sole template for two anatomical half-strides, in chronological cells. Use this as the FIRST image reference and character identity as the SECOND. The opaque diagram background and guide colors are instructions only: final sprite background remains transparent. Recipe coordinates are not measured gait landmarks. Adapt the diagram to the actual anatomy and view.
View tool JSON
{
"name": "get_walk_pose_guide",
"kind": "answer",
"impl": "imperative",
"description": "Return a technical PNG skeleton/sole template for two anatomical half-strides, in chronological cells. Use this as the FIRST image reference and character identity as the SECOND. The opaque diagram background and guide colors are instructions only: final sprite background remains transparent. Recipe coordinates are not measured gait landmarks. Adapt the diagram to the actual anatomy and view.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"frameCount",
"size"
],
"properties": {
"frameCount": {
"type": "integer",
"minimum": 1,
"maximum": 64
},
"size": {
"type": "integer",
"minimum": 16,
"maximum": 256
},
"direction": {
"type": "string",
"enum": [
"s",
"sw",
"w",
"nw",
"n",
"ne",
"e",
"se"
]
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}transform_pixelsAction
Apply an undoable flip, 180 degree rotation, isolated-noise cleanup or outline to the unlocked active cel.
View tool JSON
{
"name": "transform_pixels",
"kind": "act",
"impl": "imperative",
"description": "Apply an undoable flip, 180 degree rotation, isolated-noise cleanup or outline to the unlocked active cel.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"operation"
],
"properties": {
"operation": {
"type": "string",
"enum": [
"flip-x",
"flip-y",
"rotate-180",
"clean-noise",
"outline"
]
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}configure_animationAction
Set loop, pivot and zero-based clips; retime actual frames with durations, durationMs (total keeping ratios), OR uniform fps. Only one timing option; pixels stay unchanged.
View tool JSON
{
"name": "configure_animation",
"kind": "act",
"impl": "imperative",
"description": "Set loop, pivot and zero-based clips; retime actual frames with durations, durationMs (total keeping ratios), OR uniform fps. Only one timing option; pixels stay unchanged.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"durationMs": {
"type": "integer",
"minimum": 20,
"maximum": 480000
},
"fps": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"durations": {
"type": "array",
"minItems": 1,
"maxItems": 240,
"items": {
"type": "integer",
"minimum": 20,
"maximum": 2000
}
},
"loopMode": {
"type": "string",
"enum": [
"loop",
"once",
"ping-pong"
]
},
"pivotX": {
"type": "number",
"minimum": 0,
"maximum": 4096
},
"pivotY": {
"type": "number",
"minimum": 0,
"maximum": 4096
},
"tags": {
"type": "array",
"maxItems": 120,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"from",
"to",
"loop"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"from": {
"type": "integer",
"minimum": 0,
"maximum": 239
},
"to": {
"type": "integer",
"minimum": 0,
"maximum": 239
},
"loop": {
"type": "boolean"
}
}
}
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}slice_sprite_sheetAction
Create a new animation from equal cells in row order. Optionally supply directionRows with all eight unique views in source top-to-bottom order (s, sw, w, nw, n, ne, e, se). Requires exactly eight source rows and creates walk_direction clips. Columns are frames for that view. Actual artwork for every view must already exist; no views are generated. Original project is preserved.
View tool JSON
{
"name": "slice_sprite_sheet",
"kind": "act",
"impl": "imperative",
"description": "Create a new animation from equal cells in row order. Optionally supply directionRows with all eight unique views in source top-to-bottom order (s, sw, w, nw, n, ne, e, se). Requires exactly eight source rows and creates walk_direction clips. Columns are frames for that view. Actual artwork for every view must already exist; no views are generated. Original project is preserved.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "integer",
"minimum": 1,
"maximum": 4096
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 4096
},
"margin": {
"type": "integer",
"minimum": 0,
"maximum": 1024
},
"spacing": {
"type": "integer",
"minimum": 0,
"maximum": 1024
},
"duration": {
"type": "integer",
"minimum": 20,
"maximum": 10000
},
"directionRows": {
"type": "array",
"minItems": 8,
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"s",
"sw",
"w",
"nw",
"n",
"ne",
"e",
"se"
]
}
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}get_project_stateAnswer
Read a concise project summary. Set includePixels only when exact cel data is required.
View tool JSON
{
"name": "get_project_state",
"kind": "answer",
"impl": "imperative",
"description": "Read a concise project summary. Set includePixels only when exact cel data is required.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"includePixels": {
"type": "boolean",
"description": "Include every cel pixel for projects up to 262144 pixel cells; use read_pixel_region or export_project for larger projects."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}get_quality_policyAnswer
Read source-preservation recommendations and the limits of pixel-based similarity metrics. Scores are advisory, not artistic or identity guarantees.
View tool JSON
{
"name": "get_quality_policy",
"kind": "answer",
"impl": "imperative",
"description": "Read source-preservation recommendations and the limits of pixel-based similarity metrics. Scores are advisory, not artistic or identity guarantees.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}list_action_presetsAnswer
List source-preserving action recipes, recommended frame counts, timing, and loop behavior before creating motion.
View tool JSON
{
"name": "list_action_presets",
"kind": "answer",
"impl": "imperative",
"description": "List source-preserving action recipes, recommended frame counts, timing, and loop behavior before creating motion.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}list_projectsAnswer
List every browser-local PixelForge project with its stable id, name, dimensions, frame count, layer count, and last update time.
View tool JSON
{
"name": "list_projects",
"kind": "answer",
"impl": "imperative",
"description": "List every browser-local PixelForge project with its stable id, name, dimensions, frame count, layer count, and last update time.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}select_projectAction
Save the current project and switch to another browser-local project by stable id.
View tool JSON
{
"name": "select_project",
"kind": "act",
"impl": "imperative",
"description": "Save the current project and switch to another browser-local project by stable id.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}duplicate_projectAction
Create and select a new browser-local copy without changing the original project.
View tool JSON
{
"name": "duplicate_project",
"kind": "act",
"impl": "imperative",
"description": "Create and select a new browser-local copy without changing the original project.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}delete_projectSensitive Action
Delete one browser-local project by id and select another remaining project.
View tool JSON
{
"name": "delete_project",
"kind": "transact",
"impl": "imperative",
"description": "Delete one browser-local project by id and select another remaining project.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"projectId"
],
"properties": {
"projectId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}list_project_presetsAnswer
List researched sprite, tile, web-game, and classic-system canvas presets.
View tool JSON
{
"name": "list_project_presets",
"kind": "answer",
"impl": "imperative",
"description": "List researched sprite, tile, web-game, and classic-system canvas presets.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}create_from_presetAction
Add and select a production-sized project with a matching palette while preserving existing projects.
View tool JSON
{
"name": "create_from_preset",
"kind": "act",
"impl": "imperative",
"description": "Add and select a production-sized project with a matching palette while preserving existing projects.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"presetId"
],
"properties": {
"presetId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"name": {
"type": "string",
"maxLength": 120
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}create_projectAction
Add and select a new transparent pixel project while preserving existing projects.
View tool JSON
{
"name": "create_project",
"kind": "act",
"impl": "imperative",
"description": "Add and select a new transparent pixel project while preserving existing projects.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "integer",
"minimum": 1,
"maximum": 4096,
"description": "Canvas width in pixels."
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 4096,
"description": "Canvas height in pixels."
},
"name": {
"type": "string",
"maxLength": 120,
"description": "Project name."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}image_to_pixelAction
Create an editable pixel project from PNG/JPEG/WebP. Set width/height and maxColors for game sprites. Supports fixed palettes, color adjustments, edge-connected background removal and outlines. Reconstruction scores compare output-grid pixels, not artistic quality. balanced is the default; strict-99 is a legacy sampling preset.
View tool JSON
{
"name": "image_to_pixel",
"kind": "act",
"impl": "imperative",
"description": "Create an editable pixel project from PNG/JPEG/WebP. Set width/height and maxColors for game sprites. Supports fixed palettes, color adjustments, edge-connected background removal and outlines. Reconstruction scores compare output-grid pixels, not artistic quality. balanced is the default; strict-99 is a legacy sampling preset.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"imageDataUrl"
],
"properties": {
"imageDataUrl": {
"type": "string",
"pattern": "^data:image/(png|jpeg|webp);base64,",
"maxLength": 22400000,
"description": "Base64 image data URL; arbitrary remote URLs are not accepted."
},
"name": {
"type": "string",
"maxLength": 120
},
"resolutionMode": {
"type": "string",
"enum": [
"source-exact",
"auto-faithful",
"custom"
],
"description": "Defaults to auto-faithful. Custom requires width and height."
},
"fidelityMode": {
"type": "string",
"enum": [
"strict-99",
"balanced",
"manual"
],
"description": "Defaults to balanced. strict-99 is a legacy reconstruction preset, not a fidelity guarantee."
},
"width": {
"type": "integer",
"minimum": 1,
"maximum": 4096,
"description": "Editable output width for custom mode."
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 4096,
"description": "Editable output height for custom mode."
},
"maxColors": {
"type": "integer",
"minimum": 2,
"maximum": 256,
"description": "Adaptive palette size; strict-99 enforces at least 128."
},
"dither": {
"type": "string",
"enum": [
"none",
"ordered-4x4",
"floyd-steinberg"
]
},
"fit": {
"type": "string",
"enum": [
"contain",
"cover",
"stretch"
]
},
"sampling": {
"type": "string",
"enum": [
"smooth",
"nearest"
]
},
"alphaThreshold": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"preserveAlpha": {
"type": "boolean",
"description": "Preserve alpha values above the cutoff."
},
"trimTransparent": {
"type": "boolean",
"description": "Crop transparent source margins before fitting."
},
"targetOccupancy": {
"type": "number",
"minimum": 0.1,
"maximum": 1,
"description": "Share of the canvas occupied by the visible subject."
},
"hardAlpha": {
"type": "boolean",
"description": "Convert retained edge pixels to fully opaque pixels."
},
"brightness": {
"type": "number",
"minimum": -60,
"maximum": 60
},
"contrast": {
"type": "number",
"minimum": -60,
"maximum": 100
},
"saturation": {
"type": "number",
"minimum": -100,
"maximum": 100
},
"background": {
"type": "string",
"enum": [
"keep",
"edge"
]
},
"backgroundTolerance": {
"type": "number",
"minimum": 0,
"maximum": 120
},
"backgroundColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"cleanNoise": {
"type": "boolean"
},
"outline": {
"type": "boolean"
},
"outlineColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"fixedPalette": {
"type": "array",
"minItems": 1,
"maxItems": 256,
"items": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}animation_from_imagesAction
Import multiple images as an aligned animation with a shared palette. Source canvas alignment is preserved. Optional reference comparisons are advisory; use render_frame for visual review.
View tool JSON
{
"name": "animation_from_images",
"kind": "act",
"impl": "imperative",
"description": "Import multiple images as an aligned animation with a shared palette. Source canvas alignment is preserved. Optional reference comparisons are advisory; use render_frame for visual review.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"imageDataUrls"
],
"properties": {
"imageDataUrls": {
"type": "array",
"minItems": 2,
"maxItems": 120,
"items": {
"type": "string",
"pattern": "^data:image/(png|jpeg|webp);base64,",
"maxLength": 22400000
}
},
"referenceImageDataUrl": {
"type": "string",
"pattern": "^data:image/(png|jpeg|webp);base64,",
"maxLength": 22400000,
"description": "Exact original image used for advisory per-frame continuity statistics. When omitted, the current reference is used; if none exists, frame 1 becomes the reference."
},
"referenceName": {
"type": "string",
"maxLength": 180,
"description": "Optional display name for the supplied original reference."
},
"sourceNames": {
"type": "array",
"maxItems": 120,
"items": {
"type": "string",
"maxLength": 180
}
},
"name": {
"type": "string",
"maxLength": 120
},
"resolutionMode": {
"type": "string",
"enum": [
"source-exact",
"auto-faithful",
"custom"
]
},
"fidelityMode": {
"type": "string",
"enum": [
"strict-99",
"balanced",
"manual"
]
},
"width": {
"type": "integer",
"minimum": 1,
"maximum": 4096
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 4096
},
"maxColors": {
"type": "integer",
"minimum": 2,
"maximum": 256
},
"alphaThreshold": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"targetOccupancy": {
"type": "number",
"minimum": 0.1,
"maximum": 1
},
"fps": {
"type": "integer",
"minimum": 1,
"maximum": 60
},
"loopMode": {
"type": "string",
"enum": [
"loop",
"once",
"ping-pong"
]
},
"separateLayers": {
"type": "boolean",
"description": "Separate common pixels from per-frame motion details."
},
"referenceQualityFloor": {
"type": "number",
"minimum": 0.9,
"maximum": 1,
"description": "Advisory continuity threshold, from 0.90 to 1.0. It does not block valid motion."
},
"allowBelowReferenceQuality": {
"type": "boolean",
"description": "explicit opt-out. Set true only when the user directly requests a lower-fidelity or stylized result."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}create_action_sequenceAction
Create a new editable action animation from the active frame without redrawing the character. Every source pixel is retained through bounded integer transforms; weapon, shield, accessory, shadow, and FX layers receive action-aware timing. This translates existing layers; it does not generate new articulated poses.
View tool JSON
{
"name": "create_action_sequence",
"kind": "act",
"impl": "imperative",
"description": "Create a new editable action animation from the active frame without redrawing the character. Every source pixel is retained through bounded integer transforms; weapon, shield, accessory, shadow, and FX layers receive action-aware timing. This translates existing layers; it does not generate new articulated poses.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"preset"
],
"properties": {
"preset": {
"type": "string",
"enum": [
"idle",
"walk",
"run",
"jump",
"dash",
"attack",
"heavy-attack",
"cast",
"hurt",
"defend"
]
},
"name": {
"type": "string",
"maxLength": 120
},
"frameCount": {
"type": "integer",
"minimum": 4,
"maximum": 24,
"description": "Number of editable action frames."
},
"fps": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Optional uniform frame rate; omit for preset timing."
},
"durationMs": {
"type": "integer",
"minimum": 80,
"maximum": 48000,
"description": "Total action duration; preserves phase ratios. Cannot combine with fps."
},
"direction": {
"type": "string",
"enum": [
"left",
"right"
]
},
"intensity": {
"type": "number",
"minimum": 0.25,
"maximum": 2,
"description": "Motion amplitude multiplier."
},
"includeEffects": {
"type": "boolean",
"description": "Add a separate action FX layer."
},
"effectColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
"description": "Hex color as #RRGGBB or #RRGGBBAA."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}render_frameAction
Return a bounded PNG data URL for an exact frame without downloading or mutating the project. Use it after image conversion, action creation, or manual edits so the agent can visually inspect the real composite before export.
View tool JSON
{
"name": "render_frame",
"kind": "act",
"impl": "imperative",
"description": "Return a bounded PNG data URL for an exact frame without downloading or mutating the project. Use it after image conversion, action creation, or manual edits so the agent can visually inspect the real composite before export.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"frameId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"scale": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"description": "Nearest-neighbor preview scale."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.get_stateAnswer
Read the browser-local reference image metadata and every synchronized view setting without returning the image bytes.
View tool JSON
{
"name": "reference_image.get_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the browser-local reference image metadata and every synchronized view setting without returning the image bytes.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.open_pickerAction
Request the browser file picker for a local PNG, JPEG, or WebP. Browser user-activation rules may require the user to click the visible upload control instead.
View tool JSON
{
"name": "reference_image.open_picker",
"kind": "act",
"impl": "imperative",
"description": "Request the browser file picker for a local PNG, JPEG, or WebP. Browser user-activation rules may require the user to click the visible upload control instead.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_from_data_urlAction
Validate and store a bounded PNG, JPEG, or WebP data URL as the current browser-local reference image. Remote URLs are never accepted.
View tool JSON
{
"name": "reference_image.set_from_data_url",
"kind": "act",
"impl": "imperative",
"description": "Validate and store a bounded PNG, JPEG, or WebP data URL as the current browser-local reference image. Remote URLs are never accepted.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"imageDataUrl"
],
"properties": {
"imageDataUrl": {
"type": "string",
"pattern": "^data:image/(png|jpeg|webp);base64,",
"maxLength": 22400000,
"description": "Base64 image data URL; arbitrary remote URLs are not accepted."
},
"name": {
"type": "string",
"maxLength": 180
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.clearAction
Remove the current browser-local reference image while preserving the pixel project.
View tool JSON
{
"name": "reference_image.clear",
"kind": "act",
"impl": "imperative",
"description": "Remove the current browser-local reference image while preserving the pixel project.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_modeAction
Switch the desktop reference between split, floating overlay, and hidden modes. Mobile continues to use its dedicated sheet viewer.
View tool JSON
{
"name": "reference_image.set_mode",
"kind": "act",
"impl": "imperative",
"description": "Switch the desktop reference between split, floating overlay, and hidden modes. Mobile continues to use its dedicated sheet viewer.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"mode"
],
"properties": {
"mode": {
"type": "string",
"enum": [
"split",
"overlay",
"hidden"
]
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_zoomAction
Set the reference image scale from 0.1 to 8, where 1 is 100 percent.
View tool JSON
{
"name": "reference_image.set_zoom",
"kind": "act",
"impl": "imperative",
"description": "Set the reference image scale from 0.1 to 8, where 1 is 100 percent.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"zoom"
],
"properties": {
"zoom": {
"type": "number",
"minimum": 0.1,
"maximum": 8,
"description": "Scale multiplier; 1 is 100 percent."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_opacityAction
Set reference image opacity from 0 to 1.
View tool JSON
{
"name": "reference_image.set_opacity",
"kind": "act",
"impl": "imperative",
"description": "Set reference image opacity from 0 to 1.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"opacity"
],
"properties": {
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Opacity from transparent 0 to opaque 1."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_flipAction
Set horizontal and/or vertical reference mirroring. At least one field is required.
View tool JSON
{
"name": "reference_image.set_flip",
"kind": "act",
"impl": "imperative",
"description": "Set horizontal and/or vertical reference mirroring. At least one field is required.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"properties": {
"flipX": {
"type": "boolean",
"description": "Mirror left to right."
},
"flipY": {
"type": "boolean",
"description": "Mirror top to bottom."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_panel_sizeAction
Set the desktop split reference panel width in pixels.
View tool JSON
{
"name": "reference_image.set_panel_size",
"kind": "act",
"impl": "imperative",
"description": "Set the desktop split reference panel width in pixels.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"panelSize"
],
"properties": {
"panelSize": {
"type": "integer",
"minimum": 220,
"maximum": 720,
"description": "Desktop panel width in pixels."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_overlay_rectAction
Move and resize the floating reference using workspace-relative pixel bounds.
View tool JSON
{
"name": "reference_image.set_overlay_rect",
"kind": "act",
"impl": "imperative",
"description": "Move and resize the floating reference using workspace-relative pixel bounds.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"x",
"y",
"width",
"height"
],
"properties": {
"x": {
"type": "integer",
"minimum": 0,
"maximum": 4096
},
"y": {
"type": "integer",
"minimum": 0,
"maximum": 4096
},
"width": {
"type": "integer",
"minimum": 260,
"maximum": 1600
},
"height": {
"type": "integer",
"minimum": 220,
"maximum": 1200
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.fitAction
Fit the entire reference image inside its current panel or floating window.
View tool JSON
{
"name": "reference_image.fit",
"kind": "act",
"impl": "imperative",
"description": "Fit the entire reference image inside its current panel or floating window.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_pinnedAction
Pin or unpin the floating reference so its position and size cannot be changed by pointer input.
View tool JSON
{
"name": "reference_image.set_pinned",
"kind": "act",
"impl": "imperative",
"description": "Pin or unpin the floating reference so its position and size cannot be changed by pointer input.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"pinned"
],
"properties": {
"pinned": {
"type": "boolean"
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.set_collapsedAction
Collapse or expand the desktop split reference panel without clearing its image.
View tool JSON
{
"name": "reference_image.set_collapsed",
"kind": "act",
"impl": "imperative",
"description": "Collapse or expand the desktop split reference panel without clearing its image.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"collapsed"
],
"properties": {
"collapsed": {
"type": "boolean"
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.pixelizeAction
Reuse the current browser-local reference as image-to-pixel input. balanced is the default. Returns advisory pixel statistics and preserves a bound reference.
View tool JSON
{
"name": "reference_image.pixelize",
"kind": "act",
"impl": "imperative",
"description": "Reuse the current browser-local reference as image-to-pixel input. balanced is the default. Returns advisory pixel statistics and preserves a bound reference.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"maxLength": 120
},
"resolutionMode": {
"type": "string",
"enum": [
"source-exact",
"auto-faithful",
"custom"
],
"description": "Defaults to auto-faithful. Supplying width and height implies custom mode."
},
"fidelityMode": {
"type": "string",
"enum": [
"strict-99",
"balanced",
"manual"
],
"description": "Defaults to balanced; strict-99 is a legacy reconstruction preset."
},
"width": {
"type": "integer",
"minimum": 1,
"maximum": 4096,
"description": "Editable output width for custom mode."
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 4096,
"description": "Editable output height for custom mode."
},
"maxColors": {
"type": "integer",
"minimum": 2,
"maximum": 256,
"description": "Adaptive palette size; strict-99 enforces at least 128."
},
"dither": {
"type": "string",
"enum": [
"none",
"ordered-4x4",
"floyd-steinberg"
]
},
"fit": {
"type": "string",
"enum": [
"contain",
"cover",
"stretch"
]
},
"sampling": {
"type": "string",
"enum": [
"smooth",
"nearest"
]
},
"alphaThreshold": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"preserveAlpha": {
"type": "boolean",
"description": "Preserve alpha values above the cutoff."
},
"trimTransparent": {
"type": "boolean",
"description": "Crop transparent source margins before fitting."
},
"targetOccupancy": {
"type": "number",
"minimum": 0.1,
"maximum": 1
},
"hardAlpha": {
"type": "boolean",
"description": "Convert retained edge pixels to fully opaque pixels."
},
"brightness": {
"type": "number",
"minimum": -60,
"maximum": 60
},
"contrast": {
"type": "number",
"minimum": -60,
"maximum": 100
},
"saturation": {
"type": "number",
"minimum": -100,
"maximum": 100
},
"background": {
"type": "string",
"enum": [
"keep",
"edge"
]
},
"backgroundTolerance": {
"type": "number",
"minimum": 0,
"maximum": 120
},
"backgroundColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"cleanNoise": {
"type": "boolean"
},
"outline": {
"type": "boolean"
},
"outlineColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"fixedPalette": {
"type": "array",
"minItems": 1,
"maxItems": 256,
"items": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reference_image.audit_fidelityAction
Measure the active frame against the browser-local reference after every reference-driven WebMCP workflow. A verified_99 result requires a score of at least 0.990, every metric floor, exact dimensions, and a meaningful reference alpha mask; never describe an unscorable or degraded result as 99% verified.
View tool JSON
{
"name": "reference_image.audit_fidelity",
"kind": "act",
"impl": "imperative",
"description": "Measure the active frame against the browser-local reference after every reference-driven WebMCP workflow. A verified_99 result requires a score of at least 0.990, every metric floor, exact dimensions, and a meaningful reference alpha mask; never describe an unscorable or degraded result as 99% verified.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"alphaThreshold": {
"type": "integer",
"minimum": 0,
"maximum": 255,
"description": "Alpha cutoff used for the silhouette comparison."
},
"trimTransparent": {
"type": "boolean",
"description": "Compare against transparent content bounds."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}import_projectAction
Add and select a complete PixelForge project JSON object while preserving existing projects.
View tool JSON
{
"name": "import_project",
"kind": "act",
"impl": "imperative",
"description": "Add and select a complete PixelForge project JSON object while preserving existing projects.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"project"
],
"properties": {
"project": {
"type": "object",
"description": "PixelForge project object."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}rename_projectAction
Change the current project name.
View tool JSON
{
"name": "rename_project",
"kind": "act",
"impl": "imperative",
"description": "Change the current project name.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}resize_canvasAction
Resize every cel and anchor existing pixels to a chosen edge or the center.
View tool JSON
{
"name": "resize_canvas",
"kind": "act",
"impl": "imperative",
"description": "Resize every cel and anchor existing pixels to a chosen edge or the center.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "integer",
"minimum": 1,
"maximum": 4096
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 4096
},
"anchor": {
"type": "string",
"enum": [
"top-left",
"top",
"top-right",
"left",
"center",
"right",
"bottom-left",
"bottom",
"bottom-right"
]
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_active_toolAction
Select pencil, eraser, fill, line, rectangle, ellipse, picker, marquee, or hand.
View tool JSON
{
"name": "set_active_tool",
"kind": "act",
"impl": "imperative",
"description": "Select pencil, eraser, fill, line, rectangle, ellipse, picker, marquee, or hand.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"tool"
],
"properties": {
"tool": {
"type": "string",
"enum": [
"pencil",
"eraser",
"fill",
"line",
"rectangle",
"ellipse",
"picker",
"select",
"hand"
]
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_primary_colorAction
Set the foreground drawing color.
View tool JSON
{
"name": "set_primary_color",
"kind": "act",
"impl": "imperative",
"description": "Set the foreground drawing color.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"color"
],
"properties": {
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
"description": "Hex color as #RRGGBB or #RRGGBBAA."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_secondary_colorAction
Set the right-click background drawing color.
View tool JSON
{
"name": "set_secondary_color",
"kind": "act",
"impl": "imperative",
"description": "Set the right-click background drawing color.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"color"
],
"properties": {
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
"description": "Hex color as #RRGGBB or #RRGGBBAA."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_brush_sizeAction
Set the square pixel brush size from 1 to 8.
View tool JSON
{
"name": "set_brush_size",
"kind": "act",
"impl": "imperative",
"description": "Set the square pixel brush size from 1 to 8.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"size"
],
"properties": {
"size": {
"type": "integer",
"minimum": 1,
"maximum": 8
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}load_paletteAction
Replace the active palette with named hex colors.
View tool JSON
{
"name": "load_palette",
"kind": "act",
"impl": "imperative",
"description": "Replace the active palette with named hex colors.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"colors"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80
},
"colors": {
"type": "array",
"minItems": 1,
"maxItems": 256,
"items": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
"description": "Hex color as #RRGGBB or #RRGGBBAA."
}
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}draw_pixelsAction
Write a bounded batch of exact pixels into the active cel atomically.
View tool JSON
{
"name": "draw_pixels",
"kind": "act",
"impl": "imperative",
"description": "Write a bounded batch of exact pixels into the active cel atomically.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"pixels"
],
"properties": {
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
"description": "Hex color as #RRGGBB or #RRGGBBAA."
},
"pixels": {
"type": "array",
"minItems": 1,
"maxItems": 1048576,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"x",
"y"
],
"properties": {
"x": {
"type": "integer",
"minimum": 0,
"maximum": 4095,
"description": "Zero-based pixel x coordinate."
},
"y": {
"type": "integer",
"minimum": 0,
"maximum": 4095,
"description": "Zero-based pixel y coordinate."
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
"description": "Hex color as #RRGGBB or #RRGGBBAA."
}
}
}
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}apply_editAction
Run the editor's line, rectangle, ellipse, or flood-fill algorithm on the active cel.
View tool JSON
{
"name": "apply_edit",
"kind": "act",
"impl": "imperative",
"description": "Run the editor's line, rectangle, ellipse, or flood-fill algorithm on the active cel.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"operation",
"start"
],
"properties": {
"operation": {
"type": "string",
"enum": [
"line",
"rectangle",
"ellipse",
"fill"
]
},
"start": {
"type": "object",
"additionalProperties": false,
"required": [
"x",
"y"
],
"properties": {
"x": {
"type": "integer",
"minimum": 0,
"maximum": 4095,
"description": "Zero-based pixel x coordinate."
},
"y": {
"type": "integer",
"minimum": 0,
"maximum": 4095,
"description": "Zero-based pixel y coordinate."
}
}
},
"end": {
"type": "object",
"additionalProperties": false,
"required": [
"x",
"y"
],
"properties": {
"x": {
"type": "integer",
"minimum": 0,
"maximum": 4095,
"description": "Zero-based pixel x coordinate."
},
"y": {
"type": "integer",
"minimum": 0,
"maximum": 4095,
"description": "Zero-based pixel y coordinate."
}
}
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
"description": "Hex color as #RRGGBB or #RRGGBBAA."
},
"filled": {
"type": "boolean",
"description": "Fill the interior of rectangles or ellipses."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}clear_active_celAction
Erase all pixels in the active layer and frame unless the layer is locked.
View tool JSON
{
"name": "clear_active_cel",
"kind": "act",
"impl": "imperative",
"description": "Erase all pixels in the active layer and frame unless the layer is locked.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_selectionAction
Create or clear the rectangular marquee selection.
View tool JSON
{
"name": "set_selection",
"kind": "act",
"impl": "imperative",
"description": "Create or clear the rectangular marquee selection.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"selection": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"x",
"y",
"width",
"height"
],
"properties": {
"x": {
"type": "integer",
"minimum": 0,
"maximum": 4095
},
"y": {
"type": "integer",
"minimum": 0,
"maximum": 4095
},
"width": {
"type": "integer",
"minimum": 1,
"maximum": 4096
},
"height": {
"type": "integer",
"minimum": 1,
"maximum": 4096
}
}
},
{
"type": "null"
}
]
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}delete_selectionSensitive Action
Clear pixels inside the current marquee on the active cel.
View tool JSON
{
"name": "delete_selection",
"kind": "transact",
"impl": "imperative",
"description": "Clear pixels inside the current marquee on the active cel.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}add_frameAction
Append a blank animation frame.
View tool JSON
{
"name": "add_frame",
"kind": "act",
"impl": "imperative",
"description": "Append a blank animation frame.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}duplicate_frameAction
Copy the active frame and every layer cel.
View tool JSON
{
"name": "duplicate_frame",
"kind": "act",
"impl": "imperative",
"description": "Copy the active frame and every layer cel.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}delete_frameSensitive Action
Delete the active animation frame.
View tool JSON
{
"name": "delete_frame",
"kind": "transact",
"impl": "imperative",
"description": "Delete the active animation frame.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}add_layerAction
Add a transparent layer.
View tool JSON
{
"name": "add_layer",
"kind": "act",
"impl": "imperative",
"description": "Add a transparent layer.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}duplicate_layerAction
Copy the active layer and all cels.
View tool JSON
{
"name": "duplicate_layer",
"kind": "act",
"impl": "imperative",
"description": "Copy the active layer and all cels.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}delete_layerSensitive Action
Delete the active layer.
View tool JSON
{
"name": "delete_layer",
"kind": "transact",
"impl": "imperative",
"description": "Delete the active layer.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}toggle_layer_visibilityAction
Show or hide the active layer.
View tool JSON
{
"name": "toggle_layer_visibility",
"kind": "act",
"impl": "imperative",
"description": "Show or hide the active layer.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}undoAction
Undo the latest recorded project edit.
View tool JSON
{
"name": "undo",
"kind": "act",
"impl": "imperative",
"description": "Undo the latest recorded project edit.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}redoAction
Redo the next project edit.
View tool JSON
{
"name": "redo",
"kind": "act",
"impl": "imperative",
"description": "Redo the next project edit.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_active_frameAction
Select an animation frame by zero-based index.
View tool JSON
{
"name": "set_active_frame",
"kind": "act",
"impl": "imperative",
"description": "Select an animation frame by zero-based index.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"index"
],
"properties": {
"index": {
"type": "integer",
"minimum": 0,
"maximum": 9999
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_frame_durationAction
Set the active frame duration in milliseconds.
View tool JSON
{
"name": "set_frame_duration",
"kind": "act",
"impl": "imperative",
"description": "Set the active frame duration in milliseconds.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"ms"
],
"properties": {
"ms": {
"type": "integer",
"minimum": 20,
"maximum": 10000
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reorder_frameAction
Move the active frame to a zero-based timeline index.
View tool JSON
{
"name": "reorder_frame",
"kind": "act",
"impl": "imperative",
"description": "Move the active frame to a zero-based timeline index.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"to"
],
"properties": {
"to": {
"type": "integer",
"minimum": 0,
"maximum": 9999
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}rename_layerAction
Rename the active layer.
View tool JSON
{
"name": "rename_layer",
"kind": "act",
"impl": "imperative",
"description": "Rename the active layer.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}lock_layerAction
Lock, unlock, or toggle the active layer edit lock.
View tool JSON
{
"name": "lock_layer",
"kind": "act",
"impl": "imperative",
"description": "Lock, unlock, or toggle the active layer edit lock.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"locked": {
"type": "boolean",
"description": "Omit to toggle."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_layer_opacityAction
Set active layer opacity from 0 to 100 percent.
View tool JSON
{
"name": "set_layer_opacity",
"kind": "act",
"impl": "imperative",
"description": "Set active layer opacity from 0 to 100 percent.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"opacity"
],
"properties": {
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_active_layerAction
Select a layer by zero-based index.
View tool JSON
{
"name": "set_active_layer",
"kind": "act",
"impl": "imperative",
"description": "Select a layer by zero-based index.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"index"
],
"properties": {
"index": {
"type": "integer",
"minimum": 0,
"maximum": 9999
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}reorder_layerAction
Move the active layer to a zero-based stack index.
View tool JSON
{
"name": "reorder_layer",
"kind": "act",
"impl": "imperative",
"description": "Move the active layer to a zero-based stack index.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"to"
],
"properties": {
"to": {
"type": "integer",
"minimum": 0,
"maximum": 9999
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}set_zoomAction
Set the editor's integer pixel zoom multiplier from 1 to 64.
View tool JSON
{
"name": "set_zoom",
"kind": "act",
"impl": "imperative",
"description": "Set the editor's integer pixel zoom multiplier from 1 to 64.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"zoom"
],
"properties": {
"zoom": {
"type": "integer",
"minimum": 1,
"maximum": 64
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}toggle_gridAction
Show, hide, or toggle the pixel grid.
View tool JSON
{
"name": "toggle_grid",
"kind": "act",
"impl": "imperative",
"description": "Show, hide, or toggle the pixel grid.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"description": "Omit to toggle the current value."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}toggle_onion_skinAction
Show, hide, or toggle adjacent animation frames.
View tool JSON
{
"name": "toggle_onion_skin",
"kind": "act",
"impl": "imperative",
"description": "Show, hide, or toggle adjacent animation frames.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"description": "Omit to toggle the current value."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}toggle_symmetryAction
Enable, disable, or toggle mirrored drawing on both axes.
View tool JSON
{
"name": "toggle_symmetry",
"kind": "act",
"impl": "imperative",
"description": "Enable, disable, or toggle mirrored drawing on both axes.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"description": "Omit to toggle the current value."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}playbackAction
Play, pause, or stop the frame animation.
View tool JSON
{
"name": "playback",
"kind": "act",
"impl": "imperative",
"description": "Play, pause, or stop the frame animation.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"action"
],
"properties": {
"action": {
"type": "string",
"enum": [
"play",
"pause",
"stop"
]
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}export_pngAction
Download the active frame as a crisp PNG.
View tool JSON
{
"name": "export_png",
"kind": "act",
"impl": "imperative",
"description": "Download the active frame as a crisp PNG.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"scale": {
"type": "integer",
"minimum": 1,
"maximum": 16
},
"delivery": {
"type": "string",
"enum": [
"download",
"data-url"
],
"description": "Default data-url returns a file up to 8 MB. Use download to prepare a visible browser download link for larger files."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}export_gifAction
Download all frames as a looping animated GIF.
View tool JSON
{
"name": "export_gif",
"kind": "act",
"impl": "imperative",
"description": "Download all frames as a looping animated GIF.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"scale": {
"type": "integer",
"minimum": 1,
"maximum": 8
},
"loop": {
"type": "boolean"
},
"delivery": {
"type": "string",
"enum": [
"download",
"data-url"
],
"description": "Default data-url returns a file up to 8 MB. Use download to prepare a visible browser download link for larger files."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}export_spritesheetAction
Download a PNG sprite sheet and JSON frame metadata.
View tool JSON
{
"name": "export_spritesheet",
"kind": "act",
"impl": "imperative",
"description": "Download a PNG sprite sheet and JSON frame metadata.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"scale": {
"type": "integer",
"minimum": 1,
"maximum": 16
},
"columns": {
"type": "integer",
"minimum": 1,
"maximum": 9999
},
"gap": {
"type": "integer",
"minimum": 0,
"maximum": 128
},
"layout": {
"type": "string",
"enum": [
"horizontal",
"vertical",
"grid"
]
},
"delivery": {
"type": "string",
"enum": [
"download",
"data-url"
],
"description": "Default data-url returns a file up to 8 MB. Use download to prepare a visible browser download link for larger files."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}export_projectAction
Download the editable PixelForge project file.
View tool JSON
{
"name": "export_project",
"kind": "act",
"impl": "imperative",
"description": "Download the editable PixelForge project file.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"delivery": {
"type": "string",
"enum": [
"download",
"data-url"
],
"description": "Default data-url returns a file up to 8 MB. Use download to prepare a visible browser download link for larger files."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}export_game_bundleAction
Download a game-ready ZIP with transparent sprite sheets, optional PNG frame sequence, atlas metadata, timing, pivots, engine helpers, and a README.
View tool JSON
{
"name": "export_game_bundle",
"kind": "act",
"impl": "imperative",
"description": "Download a game-ready ZIP with transparent sprite sheets, optional PNG frame sequence, atlas metadata, timing, pivots, engine helpers, and a README.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"engine": {
"type": "string",
"enum": [
"universal",
"unity",
"godot",
"phaser",
"unreal",
"libgdx",
"gamemaker",
"rpg-maker",
"love2d"
]
},
"scale": {
"type": "integer",
"minimum": 1,
"maximum": 16
},
"columns": {
"type": "integer",
"minimum": 1,
"maximum": 9999
},
"gap": {
"type": "integer",
"minimum": 0,
"maximum": 128
},
"includeFrameSequence": {
"type": "boolean"
},
"extrude": {
"type": "integer",
"minimum": 0,
"maximum": 4
},
"delivery": {
"type": "string",
"enum": [
"download",
"data-url"
],
"description": "Default data-url returns a file up to 8 MB. Use download to prepare a visible browser download link for larger files."
},
"expectedProjectId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"page": "/"
}