duet-canvas.vercel.app
A collaborative canvas to create with AI, not around it, through WebMCP.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 2 · Act 9 · Transact 0 · Score: Not yet scored
Tool inspector
insert_ai_cel_clip
Validates a constrained coloured-shape and keyframe recipe, renders it into ordinary editable canvas cels for exactly the selected target duration, and inserts it nondestructively on a new visual track directly above the target. Requires prepare_animation_edit with the exact requestId first. Never submit scripts, SVG markup, URLs, or raster images.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
requestId |
string | yes | Exact ready request ID from get_animation_state. |
name |
string | no | Short clip name. |
durationSeconds |
number | no | Optional compatibility hint. The selected target range always determines the exact output duration. |
celFps |
number | yes | Desired cel rate. DUET may lower it for longer targets so the result stays at or below 48 generated cels, while preserving the exact target duration with holds. |
objects |
array | yes | — |
Raw JSON schema
{
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "Exact ready request ID from get_animation_state."
},
"name": {
"type": "string",
"description": "Short clip name."
},
"durationSeconds": {
"type": "number",
"minimum": 0.01,
"maximum": 12,
"description": "Optional compatibility hint. The selected target range always determines the exact output duration."
},
"celFps": {
"type": "number",
"minimum": 1,
"maximum": 24,
"description": "Desired cel rate. DUET may lower it for longer targets so the result stays at or below 48 generated cels, while preserving the exact target duration with holds."
},
"objects": {
"type": "array",
"minItems": 1,
"maxItems": 48,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"line",
"path",
"rectangle",
"circle",
"polygon"
]
},
"x": {
"type": "number",
"description": "Rectangle or circle centre x."
},
"y": {
"type": "number",
"description": "Rectangle or circle centre y."
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"radius": {
"type": "number"
},
"points": {
"type": "array",
"maxItems": 160,
"description": "Canvas-coordinate points for a line, path, or polygon.",
"items": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
}
},
"required": [
"x",
"y"
]
}
},
"closed": {
"type": "boolean",
"description": "Close a path so it may be filled."
},
"fillColor": {
"type": "string",
"description": "Hex colour such as #FF6B5F, or none."
},
"strokeColor": {
"type": "string",
"description": "Hex colour such as #2D1638, or none."
},
"strokeWidth": {
"type": "number",
"minimum": 0,
"maximum": 96
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"keyframes": {
"type": "array",
"maxItems": 32,
"items": {
"type": "object",
"properties": {
"frame": {
"type": "number",
"minimum": 0,
"description": "Zero-based cel frame."
},
"translateX": {
"type": "number"
},
"translateY": {
"type": "number"
},
"scale": {
"type": "number",
"minimum": 0.01,
"maximum": 20
},
"rotation": {
"type": "number",
"description": "Rotation in degrees."
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"easing": {
"type": "string",
"enum": [
"linear",
"ease-in",
"ease-out",
"ease-in-out"
]
}
},
"required": [
"frame"
]
}
}
},
"required": [
"type"
]
}
}
},
"required": [
"requestId",
"celFps",
"objects"
]
}
Similar websites
wfsim.app
A Warframe calculator that simulates the fight instead of estimating it — builder, simulator, optimizer. Every formula cites its source, and the golden tests ar…
commonplace-webmcp.vercel.app
Commonplace is an editable social reading space built for people and their browser agents.
pixelforge-studio.appcaster.chatgpt.site
A professional browser pixel-art editor for drawing, frame animation, palettes, sprite sheets, GIF export, and WebMCP automation.
pixelite.taskcraft.site
Pixelite