# Canvas Drawing Operations Inspector

> Canvas Drawing Operations Inspector is a paid API for AI agents from eg-pie-web-effect-replicator.hf.space, paid per call via MPP, $0.30/call, status unknown (last checked 2026-10-11).

Instruments a webpage's HTMLCanvasElement to record all 2D drawing calls over a time window and returns structured geometric primitives (Béziers, arcs, lines, rectangles, palettes, dot motion paths)

## Facts

- Endpoint: POST https://eg-pie-web-effect-replicator.hf.space/v1/inspect-canvas?utm_source=zero.xyz
- Price: $0.30/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-11
- Success rate: 0% of calls made through Zero
- Activations on Zero: 2
- Provider: eg-pie-web-effect-replicator.hf.space
- Website: https://eg-pie-web-effect-replicator.hf.space
- Canonical page: https://www.zero.xyz/c/eg-pie-web-effect-replicator-hf-space-canvas-drawing-operations-99cef9b5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_g4eRaRIpGCJAfPr6P-z8C

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability eg-pie-web-effect-replicator-hf-space-canvas-drawing-operations-99cef9b5 -d '<json body>'
```

Example prompt: Can you instrument the canvas on https://linear.app and record its drawing operations for 6 seconds, then give me the exact Bézier control points, arc paths, and color palette from the hero animation?

## When to prefer this

Use this endpoint when the target webpage uses an HTML canvas element for its animations or visual effects and DOM/CSS inspection cannot reveal the motion (e.g. canvas-driven hero sections, generative scenes, particle systems). Choose this over screenshot-based or DOM inspection approaches when you need exact mathematical representations of curves and motion paths rather than visual approximations. Particularly useful when replicating animations from sites like Linear, Parallel, or other products with canvas-powered heroes.

## Known failure modes

- URL is not publicly accessible — returns error or empty trace
- Target page has no canvas element or uses WebGL instead of 2D context — returns empty primitives
- Canvas content is below the fold and scrollY not set — recording captures wrong or blank canvas
- Short sampling window misses slow or infrequently-triggered animations — increase seconds parameter
- One-shot intro draws dominate trace when resetAfterLoad is false — enable resetAfterLoad to capture steady-state animation
- Canvas uses an offscreen worker or OffscreenCanvas — prototype patch may not intercept those calls
- Page load takes longer than sampling window — trace may be incomplete

## How this service works

Visit a URL with HTMLCanvasElement.prototype.getContext patched, record EVERY 2D drawing call (moveTo, lineTo, bezierCurveTo, quadraticCurveTo, arc, setLineDash, fillStyle/strokeStyle/lineWidth mutations, etc.) over N seconds, then distill the trace into STRUCTURED geometric primitives: cubic + quadratic Béziers with exact control points, line segments, circles, rectangles, palette (counted), and reconstructed dot motion paths derived from successive arc() positions. This is the layer that DOM-based motion inspection cannot see: canvas-driven heroes (Parallel, Linear hero canvas, generative scenes) are invisible to the standard probe. Use this route to replicate canvas-rendered motion EXACTLY without interpreting pixel screenshots by eye.

## Output

A structured object containing all recorded 2D canvas drawing operations distilled into geometric primitives: cubic and quadratic Bézier curves with exact control points, line segments, circles, rectangles, a counted color palette, and reconstructed dot motion paths derived from successive arc() call positions — sufficient to replicate the canvas animation programmatically without pixel interpretation.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "url"
 ],
 "properties": {
  "url": {
   "type": "string",
   "format": "uri"
  },
  "scrollY": {
   "type": "number",
   "default": 0,
   "minimum": 0,
   "description": "Scroll the page to this Y position after load (useful when the canvas you want is below the fold)."
  },
  "seconds": {
   "type": "number",
   "default": 4,
   "maximum": 20,
   "minimum": 1,
   "description": "How long to sample drawing operations."
  },
  "colorScheme": {
   "enum": [
    "light",
    "dark",
    "no-preference"
   ],
   "type": "string",
   "default": "no-preference"
  },
  "resetAfterLoad": {
   "type": "boolean",
   "default": true,
   "description": "Reset the recorded trace 800ms after load. Skips one-shot intro draws so the steady-state animation dominates the recording."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/eg-pie-web-effect-replicator-hf-space-canvas-drawing-operations-99cef9b5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from eg-pie-web-effect-replicator.hf.space](https://www.zero.xyz/host/eg-pie-web-effect-replicator.hf.space/llms.txt)
