{
  "data": {
    "a": {
      "slug": "layerre",
      "name": "Layerre",
      "vendor": "Layerre",
      "vendorUrl": "https://layerre.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Layerre turns Canva designs into reusable templates with editable layers and renders PNG, JPEG, WebP or PDF variants from data, through a REST API, a hosted MCP server and no-code connectors.",
      "url": "https://www.anchorterminal.com/tools/layerre",
      "markdownUrl": "https://www.anchorterminal.com/tools/layerre.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/layerre.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/layerre.json",
      "dns": "layerre.grade.anchorterminal.com",
      "repo": "https://github.com/Layerre/layerre-mcp",
      "license": "MIT for the MCP server. The Layerre API is a closed service under terms last updated 13 August 2026",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.layerre.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@layerre/mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST uses an API key (`lyr_...`) created at layerre.com/app/api-keys and sent as `Authorization: Bearer`; keys can be rotated in the dashboard. The hosted MCP server at mcp.layerre.com signs in with OAuth 2.1 and PKCE through a Supabase authorisation server, or takes the same API key as a bearer header for headless use. No key scopes documented.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 with 50 renders a month and API access. Starter $15 a month (500 renders), Plus $29 (2,000, up to 3 seats), Pro $99 (20,000, up to 10 seats); yearly plans give two months free. Each template import and each variant is one render. No overage; upgrade or wait for the reset.",
      "priceSummary": "$15 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "Subscriptions billed through Stripe. No x402, MPP or L402 in the OpenAPI, llms.txt, auth.md or pricing.md (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 13,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 119,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://layerre.com/docs/",
      "llmsTxt": "https://layerre.com/llms.txt",
      "openapi": "https://layerre.com/openapi.json",
      "registryName": "com.layerre/layerre",
      "capabilities": [
        "design.templates",
        "design.render",
        "pdf.generate"
      ],
      "tags": [
        "hosted",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "openapi",
        "llms-txt",
        "oauth",
        "api-key",
        "freemium",
        "free-tier",
        "canva",
        "bulk"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.6,
        "grade": "C",
        "agentReady": false,
        "rank": 789,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 78,
          "payments": 25,
          "reliability": 42,
          "schema": 87,
          "security": 48,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 contract, published rate limits with Retry-After, and 13 annotated MCP tools that can't delete anything make Layerre straightforward for an agent to call. It works only from Canva designs, is run by a sole proprietor with no status page or SLA, and its API and MCP server are at version 0.1.0.",
        "bestFor": "Bulk image and PDF variants from Canva designs a team already has.",
        "strengths": [
          "Public OpenAPI 3.1 with examples, llms.txt and Markdown mirrors of key pages",
          "Rate limits in numbers, and 429 responses with Retry-After plus retry code samples",
          "Every MCP tool carries readOnly, destructive and idempotent hints, and the server has no delete or billing tools",
          "Free plan of 50 renders a month includes API access",
          "Privacy policy and DPA name ten subprocessors with locations"
        ],
        "weaknesses": [
          "Imports Canva designs only; there is no template editor of its own",
          "No status page or SLA found",
          "API and MCP server are at version 0.1.0, with the MCP package first published on 29 October 2026",
          "No key scopes or read-only key documented",
          "Run by a sole proprietorship in Ontario with no named owner on its pages"
        ],
        "agentNotes": [
          "Call `layerre_auth_status` first to confirm the connection",
          "Read a template's layer IDs with `layerre_get_template` before creating variants",
          "Use the bulk variant endpoint for batches; each variant still costs one render",
          "On 429 wait for the Retry-After seconds; limits are per IP address",
          "Expect template import from a Canva link to take 10 to 30 seconds"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.6
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 78,
          "payments": 25,
          "reliability": 42,
          "schema": 87,
          "security": 48,
          "transparency": 64
        },
        "provenanceScore": 62,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.layerre.com/v1/templates -H \"Authorization: Bearer $LAYERRE_API_KEY\"",
        "claudeCode": "claude mcp add --transport http layerre https://mcp.layerre.com/mcp",
        "config": {
          "mcpServers": {
            "layerre": {
              "url": "https://mcp.layerre.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/layerre"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 15,
          "note": "500 renders a month, about $0.03 a render"
        },
        {
          "item": "Plus plan",
          "unit": "month",
          "usd": 29,
          "note": "2,000 renders a month, up to 3 seats"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 99,
          "note": "20,000 renders a month, about $0.005 a render, up to 10 seats"
        }
      ],
      "provenance": {
        "legalEntity": "Layerre (sole proprietorship, Ontario, Canada)",
        "domain": "layerre.com",
        "domainRegistered": "2025-08-13",
        "endpointOnVendorDomain": true,
        "terms": "https://layerre.com/terms/",
        "privacy": "https://layerre.com/privacy/",
        "statusPage": "",
        "changelog": "https://layerre.com/whats-new/",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms, privacy policy and DPA, all last updated 13 August 2026, name Layerre, a sole proprietorship based in Ontario, Canada, under Ontario law. No owner is named on the site; the MCP repository's commits are by Nicole Streltsov.",
          "The terms forbid automated systems (bots, scrapers) without permission. Public pages were read as data.",
          "layerre.com/robots.txt disallows /app/, /reset-password and /oauth/, with Content-Signal ai-train=no, search=yes, ai-input=yes. layerre-landing.pages.dev serves the same robots.txt and site.",
          "RDAP gives layerre.com a registration date of 13 August 2025.",
          "/.well-known/security.txt answers 200 with the site's HTML shell, not a security.txt file. No status page found. The What's New pages are drawn by script; their dates come from the sitemap."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/layerre.json",
      "live": {
        "slug": "layerre",
        "probe": {
          "target": "https://api.layerre.com/v1",
          "method": "get",
          "lastAt": "2026-11-07T22:56:05.549442458Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 329,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 313,
          "p95ms24h": 406,
          "samples24h": 244,
          "samples30d": 246,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 233,
              "ok": 233
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.layerre/layerre",
            "version": "0.1.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@layerre/mcp-server",
            "version": "0.1.0",
            "seenAt": "2026-11-06T23:39:10.744093049Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 119,
        "securityTxt": {
          "url": "https://layerre.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:04.824003957Z"
        },
        "llmsTxt": {
          "url": "https://layerre.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:52.000761574Z"
        },
        "pages": [
          {
            "url": "https://layerre.com/whats-new/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:39.384244794Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a76ef99f3a88"
          },
          {
            "url": "https://layerre.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:35.304236441Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a76ef99f3a88"
          },
          {
            "url": "https://layerre.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:37.533574445Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a76ef99f3a88"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.layerre.com/mcp",
          "checkedAt": "2026-11-07T01:51:50.188462603Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-06T01:38:41.856942389Z"
        },
        "updatedAt": "2026-11-07T22:56:05.549442458Z"
      }
    },
    "answer": "Layerre scores 57.6 (C) on agent readiness against Pixelixe's 37.3 (F), and leads in 6 of 7 scored categories. Pixelixe leads on payments \u0026 pricing.",
    "b": {
      "slug": "pixelixe",
      "name": "Pixelixe",
      "vendor": "Pixelixe",
      "vendorUrl": "https://pixelixe.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Pixelixe is a template-based graphic platform with a design studio, an Image Automation API that fills saved templates into PNG, JPEG, PDF or HTML, a JSON-to-graphic API, image filters, a white-label editor and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/pixelixe",
      "markdownUrl": "https://www.anchorterminal.com/tools/pixelixe.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pixelixe.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pixelixe.json",
      "dns": "pixelixe.grade.anchorterminal.com",
      "license": "Closed service under the Pixelixe terms of service (last modified 19 March 2026)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://studio.pixelixe.com/api",
      "packages": [],
      "auth": "mixed",
      "authNotes": "REST calls send the account's API key as `Authorization: Bearer`, from the account after signup; a separate public key is for embedding the editor in a web page. The remote MCP server at studio.pixelixe.com/api/mcp/v1 takes the API key or an OAuth access token from studio.pixelixe.com/oauth/mcp, with one `pixelixe.mcp` scope. No key scopes or rotation documented.",
      "pricing": "paid",
      "pricingNotes": "API access starts with Automate at $59 a month (20,000 automated documents, 140 AI actions). Scale $119 (60,000), Enterprise from $299 (300,000 and up). Create at $12 a month has no API. 10-day trial with no card. No per-image price.",
      "priceSummary": "$59 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Monthly plans. No x402, MPP or L402 in the OpenAPI, the v2 docs, the MCP docs or llms.txt (checked 2026-11-06). Exhausted credits return 400 with a message.",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://pixelixe.com/docs/v2/",
      "llmsTxt": "https://pixelixe.com/llms.txt",
      "openapi": "https://pixelixe.com/pixelixe-openapi.json",
      "registryName": "com.pixelixe/pixelixe-mcp",
      "capabilities": [
        "design.templates",
        "design.render",
        "image.edit",
        "pdf.generate"
      ],
      "tags": [
        "hosted",
        "openapi",
        "llms-txt",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "oauth",
        "api-key",
        "white-label",
        "trial",
        "no-card",
        "eu"
      ],
      "lastRelease": "2026-03-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 37.3,
        "grade": "F",
        "agentReady": false,
        "rank": 1377,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 19,
          "payments": 30,
          "reliability": 15,
          "schema": 66,
          "security": 38,
          "transparency": 41
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Pixelixe's seven MCP tools and their LLM-oriented reference make template fills and JSON-to-graphic creation simple to call, with an OpenAPI file for the core endpoints. Every error comes back as a 400 with a message, there are no published rate limits, status page or changelog, and API access starts at $59 a month.",
        "bestFor": "Template fills and white-label editing for marketing and SaaS teams, with a JSON-to-graphic route for agents.",
        "strengths": [
          "Seven compact MCP tools with a reference that states the canonical fields and common LLM mistakes",
          "OpenAPI 3.1 for the authentication, search, automation and photo effect endpoints",
          "Creates editable graphics from a single JSON document, returned as HTML or saved for reuse",
          "Remote MCP server with OAuth, in the official registry under a domain-verified namespace",
          "10-day trial without a card"
        ],
        "weaknesses": [
          "Every error is HTTP 400 with a free-text message, including wrong keys and exhausted credits",
          "No rate limits, status page, SLA or changelog found",
          "API access starts at $59 a month; the $12 plan has none",
          "The OpenAPI file covers four endpoints, not the JSON-to-graphic or image processing APIs",
          "The terms and privacy policy name no company, and no processors are listed"
        ],
        "agentNotes": [
          "Call `pixelixe_search_documents` first to find the `document_uid` of the template to reuse",
          "Use `pixelixe_generate_graphic_variant` to fill an existing template; it can't change the layout",
          "Read the error `message` text, since every failure is a 400",
          "Stop and tell the user on 'Not enough Credits'; retrying won't help",
          "For a batch, use `pixelixe_create_multiple_images` and summarise counts rather than inlining every image"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 37.3
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 19,
          "payments": 30,
          "reliability": 15,
          "schema": 66,
          "security": 38,
          "transparency": 32
        },
        "provenanceScore": 49,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://studio.pixelixe.com/api/authentication/v2 -H \"Authorization: Bearer $PIXELIXE_API_KEY\"",
        "claudeCode": "claude mcp add --transport http pixelixe https://studio.pixelixe.com/api/mcp/v1",
        "config": {
          "mcpServers": {
            "pixelixe": {
              "url": "https://studio.pixelixe.com/api/mcp/v1"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/pixelixe"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Automate plan",
          "unit": "month",
          "usd": 59,
          "note": "20,000 automated documents and 140 AI actions a month"
        },
        {
          "item": "Scale plan",
          "unit": "month",
          "usd": 119,
          "note": "60,000 automated documents and 280 AI actions a month"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "pixelixe.com",
        "domainRegistered": "2018-09-17",
        "endpointOnVendorDomain": true,
        "terms": "https://pixelixe.com/terms.html",
        "privacy": "https://pixelixe.com/privacy-policy.html",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms (last modified 19 March 2026) and privacy policy (effective 7 April 2026) name the operator only as Pixelixe and choose French law and the courts of Paris.",
          "The terms forbid scraping or copying the Service. Public pages were read as data.",
          "pixelixe.com/robots.txt allows the docs and names ClaudeBot as allowed; it disallows /studio/, /docs/v1/ and some demo pages. studio.pixelixe.com/robots.txt disallows the app pages, /assets and /js/ but not /api/ or /.well-known/.",
          "RDAP gives pixelixe.com a registration date of 17 September 2018.",
          "/.well-known/security.txt returns 404. No status page or changelog found."
        ],
        "score": 49
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pixelixe.json",
      "live": {
        "slug": "pixelixe",
        "probe": {
          "target": "https://studio.pixelixe.com/api",
          "method": "get",
          "lastAt": "2026-11-07T22:56:14.694587574Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 49,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 34,
          "p95ms24h": 122,
          "samples24h": 244,
          "samples30d": 246,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 233,
              "ok": 233
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.pixelixe/pixelixe-mcp",
            "version": "1.0.2",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          }
        ],
        "securityTxt": {
          "url": "https://pixelixe.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:00.920272687Z"
        },
        "llmsTxt": {
          "url": "https://pixelixe.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:38.090224197Z"
        },
        "pages": [
          {
            "url": "https://pixelixe.com/privacy-policy.html",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:29.788755256Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "832cb532d5ba"
          },
          {
            "url": "https://pixelixe.com/terms.html",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:31.916703951Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "764ac1d560a1"
          }
        ],
        "mcpTools": {
          "url": "https://studio.pixelixe.com/api/mcp/v1",
          "checkedAt": "2026-11-07T01:46:51.581135972Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:51.581135972Z"
        },
        "updatedAt": "2026-11-07T22:56:14.694587574Z"
      }
    },
    "edges": [
      {
        "by": 59,
        "category": "maintenance",
        "leads": "layerre",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "@layerre/mcp-server 0.1.0 published to npm on 29 October 2026, 8 days before this check (30). MCP server commits from 19 to 24 October, the registry entry of 29 October, and What's New entries dated 21 August and 18 October in the sitemap (20). The repository is a week old with no issues to judge; support by email and in-app chat (5 of 25). com.layerre/layerre is in the official MCP registry under a domain-verified namespace (15). CI runs the vitest suite on push and pull requests to main on Node 22 (8 of 10). 30 + 20 + 5 + 15 + 8 = 78.",
          "b": "No dated release or API change was found. The newest dated items are the MCP registry entry of 26 March 2026 and the privacy policy of 7 April 2026, more than 180 days before this check (0). No three dated changes since 8 August (0). No changelog. Support by email at inquiries@pixelixe.com, not tested (4 of 15). com.pixelixe/pixelixe-mcp is in the official MCP registry under a domain-verified namespace; there are no official SDKs (15). No public package or repository (0). 0 + 0 + 4 + 15 + 0 = 19."
        },
        "scores": {
          "a": 78,
          "b": 19
        }
      },
      {
        "by": 27,
        "category": "reliability",
        "leads": "layerre",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted lines, for the REST API and the hosted MCP server. No status page found on the site, in llms.txt or in the docs (0). No readable incident history (5). Rate limits published as 10 requests a second, a 20-request burst and 600 a minute per IP address (15). A 429 carries Retry-After and a `retry_after` field, and the docs give retry code samples. No idempotency key or safe-retry note for variant creation, which spends renders (12 of 15). No SLA found (0). Neither surface is labelled beta, though both are at version 0.1.0 (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.",
          "b": "Hosted lines. No status page found on the site or in the docs (0). No readable incident history (5). No rate limit is published; the terms only forbid circumventing them (0). No 429, Retry-After or backoff guidance. Every error, a wrong key and exhausted credits included, is a 400 with a message (0). No SLA found; the terms supply the service as is (0). API v2 is current and not labelled beta (10). 0 + 5 + 0 + 0 + 0 + 10 = 15."
        },
        "scores": {
          "a": 42,
          "b": 15
        }
      },
      {
        "by": 22,
        "category": "transparency",
        "leads": "layerre",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The MCP server is MIT. The service is closed under terms of 13 August 2026 that name a sole proprietorship in Ontario (20 of 30). The privacy policy and DPA of the same date agree. Data is kept while the account is active and deleted from production on account deletion, with limited backups. Design files aren't used to train public AI models. Google Analytics runs on accepted cookies (24 of 30). No deprecation policy or notice period (0). Ten subprocessors listed with purpose and location in both documents, including Supabase, Stripe, Cloudflare, Google, Resend, Canva and Slack (20). 20 + 24 + 0 + 20 = 64.",
          "b": "Closed service under terms of 19 March 2026 that choose French law but name no company (12 of 30). The privacy policy of 7 April 2026 keeps account data while the account is active and 'as long as reasonably necessary' after, with no periods, and says nothing about AI processing or training (10 of 30). V1 is marked deprecated in the docs with no dates or notice period (5 of 20). Processors are described only by category, with Google Analytics named, and data processed in France, the EEA and other vendor countries (5 of 20). 12 + 10 + 5 + 5 = 32."
        },
        "scores": {
          "a": 63,
          "b": 41
        }
      },
      {
        "by": 21,
        "category": "schema",
        "leads": "layerre",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.1 at layerre.com/openapi.json with 16 operations, and zod schemas on all 13 MCP tools in the open-source server (25). llms.txt, auth.md and Markdown mirrors of the pricing, FAQ and integration pages (10). Every operation has a description, and tool descriptions note costs such as 'an expensive operation that may take 10-30 seconds', without saying when not to use a tool (15 of 20). Layer properties have minimums, maximums and enums such as `text_align`, and list calls cap `limit` at 1,000 (14 of 15). 88 examples in the spec, and 404, 422 and 429 responses documented on most operations (13 of 15). Versioned /v1 paths and dated What's New pages, read from the sitemap since the pages are drawn by script; the API itself is version 0.1.0 (10 of 15). 25 + 10 + 15 + 14 + 13 + 10 = 87.",
          "b": "OpenAPI 3.1 (version 2.0.0) at pixelixe.com/pixelixe-openapi.json, but it covers four endpoints, authentication, document search, graphic automation and photo effects, and leaves out the JSON-to-graphic and image processing APIs (18 of 25). llms.txt exists but routes readers to marketing pages; the MCP reference is written for LLMs (7 of 10). The MCP reference says what each of the seven tools maps to, that `pixelixe_generate_graphic_variant` 'is not a free-form layout API', lists common mistakes and how to present outputs (17 of 20). The MCP layer documents canonical field names and refuses legacy aliases; the REST modifications are open structures keyed by element name (10 of 15). Request examples throughout, but errors are one table of message strings all returning 400 (8 of 15). /v2 paths and a deprecated V1, with no changelog (6 of 15). 18 + 7 + 17 + 10 + 8 + 6 = 66."
        },
        "scores": {
          "a": 87,
          "b": 66
        }
      },
      {
        "by": 20,
        "category": "ergonomics",
        "leads": "layerre",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "13 MCP tools (15 for 11 to 30), with no toolsets or read-only subset (15). Template and variant lists take `skip` and `limit`, and templates filter by `tag` and `q` and can leave out layers (16 of 20). 422 validation bodies and a JSON 429 with `retry_after` (17 of 20). Every tool is annotated, read tools with readOnlyHint and idempotentHint, updates idempotent, no tool destructive, and the server has no delete tool. The REST API has no idempotency keys for variant creation (16 of 20). Few required fields, but no official SDK; a Postman collection and the MCP package only (5 of 15). 15 + 16 + 17 + 16 + 5 = 69.",
          "b": "Seven compact MCP tools (25). Document and design-set search filters, with no pagination documented (10 of 20). All errors are 400 with free-text messages, so an agent can't branch on a code (6 of 20). No idempotency keys, and annotations couldn't be read on the closed server. The MCP tools only read and create, with nothing that deletes (5 of 20). Few required fields, but no official SDK (3 of 15). 25 + 10 + 6 + 5 + 3 = 49."
        },
        "scores": {
          "a": 69,
          "b": 49
        }
      },
      {
        "by": 10,
        "category": "security",
        "leads": "layerre",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.1 with PKCE for MCP through a Supabase authorisation server, and revocable `lyr_` API keys with rotation in the dashboard. No scopes documented for either, and auth.md says the REST API has no OAuth yet (22 of 30). The MCP server cannot delete templates, change billing or manage API keys, but there is no read-only key or endpoint (12 of 20). Tools return the user's own templates and renders; template import fetches a Canva link the user gives (10 of 15). The open-source server emits audit log lines for each tool call for whoever runs it, and nothing per call is documented for the hosted service (4 of 15). No security.txt (the path returns the site's HTML shell), disclosure policy, bug bounty or certification (0). 22 + 12 + 10 + 4 + 0 = 48.",
          "b": "A bearer API key per account, plus a public key for the embedded editor. The MCP server accepts the key or an OAuth token from studio.pixelixe.com/oauth/mcp with one `pixelixe.mcp` scope. No key scopes, rotation or revocation documented (18 of 30). No read-only mode, though the MCP tools can't delete or change account settings (10 of 20). Tools return the account's own templates and renders (10 of 15). No audit log or per-call record documented (0). No security.txt, disclosure policy, bug bounty or certification found (0). 18 + 10 + 10 + 0 + 0 = 38."
        },
        "scores": {
          "a": 48,
          "b": 38
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Layerre",
        "b": "Pixelixe",
        "name": "Vendor"
      },
      {
        "a": "https://api.layerre.com/v1",
        "b": "https://studio.pixelixe.com/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT for the MCP server. The Layerre API is a closed service under terms last updated 13 August 2026",
        "b": "Closed service under the Pixelixe terms of service (last modified 19 March 2026)",
        "name": "Licence"
      },
      {
        "a": "13",
        "b": "7",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.layerre/layerre",
        "b": "com.pixelixe/pixelixe-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-29",
        "b": "2026-03-26",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-03-19",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-04-07",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "119 npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Layerre scores 57.6 (C) on agent readiness against Pixelixe's 37.3 (F), and leads in 6 of 7 scored categories. Pixelixe leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Layerre or Pixelixe?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Layerre and Pixelixe need an API key?"
      },
      {
        "answer": "Yes. Layerre has a hosted endpoint at https://api.layerre.com/v1 and Pixelixe at https://studio.pixelixe.com/api.",
        "question": "Can an agent call Layerre and Pixelixe without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 42 against 15",
          "Schema \u0026 documentation, 87 against 66",
          "Agent ergonomics, 69 against 49",
          "Security \u0026 auth, 48 against 38",
          "Maintenance \u0026 community, 78 against 19",
          "Transparency \u0026 trust, 63 against 41"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Bulk image and PDF variants from Canva designs a team already has.",
        "slug": "layerre",
        "watchFor": "Imports Canva designs only; there is no template editor of its own"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 25"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Template fills and white-label editing for marketing and SaaS teams, with a JSON-to-graphic route for agents.",
        "slug": "pixelixe",
        "watchFor": "Every error is HTTP 400 with a free-text message, including wrong keys and exhausted credits"
      }
    ],
    "history": null,
    "job": {
      "capability": "design.templates",
      "name": "Design templates"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre.json",
        "title": "Adobe Photoshop API vs Layerre",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-layerre.json",
        "title": "APITemplate.io vs Layerre",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-pixelixe.json",
        "title": "APITemplate.io vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-layerre.json",
        "title": "Bannerbear API + MCP vs Layerre",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-pixelixe.json",
        "title": "Bannerbear API + MCP vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/canva-vs-layerre.json",
        "title": "Canva REST APIs + MCP vs Layerre",
        "url": "https://www.anchorterminal.com/compare/canva-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/canva-vs-pixelixe.json",
        "title": "Canva REST APIs + MCP vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/canva-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/contentdrips-vs-layerre.json",
        "title": "Contentdrips API and MCP vs Layerre",
        "url": "https://www.anchorterminal.com/compare/contentdrips-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/contentdrips-vs-pixelixe.json",
        "title": "Contentdrips API and MCP vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/contentdrips-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-layerre.json",
        "title": "Creatomate vs Layerre",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-pixelixe.json",
        "title": "Creatomate vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynapictures-vs-layerre.json",
        "title": "DynaPictures vs Layerre",
        "url": "https://www.anchorterminal.com/compare/dynapictures-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynapictures-vs-pixelixe.json",
        "title": "DynaPictures vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/dynapictures-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-photoroom.json",
        "title": "Layerre vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-pictify.json",
        "title": "Layerre vs Pictify",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-pictify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-placid.json",
        "title": "Layerre vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-postnitro.json",
        "title": "Layerre vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-robolly.json",
        "title": "Layerre vs Robolly",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-shotstack.json",
        "title": "Layerre vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-templated.json",
        "title": "Layerre vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pixelixe-vs-placid.json",
        "title": "Pixelixe vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/pixelixe-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pixelixe-vs-postnitro.json",
        "title": "Pixelixe vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/pixelixe-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pixelixe-vs-robolly.json",
        "title": "Pixelixe vs Robolly",
        "url": "https://www.anchorterminal.com/compare/pixelixe-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pixelixe-vs-shotstack.json",
        "title": "Pixelixe vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/pixelixe-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pixelixe-vs-templated.json",
        "title": "Pixelixe vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/pixelixe-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-layerre.json",
        "title": "Abyssale vs Layerre",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-pixelixe.json",
        "title": "Abyssale vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-osmo-cli.json",
        "title": "Layerre vs Osmo CLI",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-osmo-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/osmo-cli-vs-pixelixe.json",
        "title": "Osmo CLI vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/osmo-cli-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pictify-vs-pixelixe.json",
        "title": "Pictify vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/pictify-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pixelixe.json",
        "title": "Adobe Photoshop API vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photoroom-vs-pixelixe.json",
        "title": "Photoroom API vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/photoroom-vs-pixelixe"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 27,
        "edge": "layerre",
        "key": "reliability",
        "layerre": 42,
        "name": "Reliability",
        "pixelixe": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "layerre",
        "key": "schema",
        "layerre": 87,
        "name": "Schema \u0026 documentation",
        "pixelixe": 66,
        "weight": 13
      },
      {
        "by": 20,
        "edge": "layerre",
        "key": "ergonomics",
        "layerre": 69,
        "name": "Agent ergonomics",
        "pixelixe": 49,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "layerre",
        "key": "security",
        "layerre": 48,
        "name": "Security \u0026 auth",
        "pixelixe": 38,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "pixelixe",
        "key": "payments",
        "layerre": 25,
        "name": "Payments \u0026 pricing",
        "pixelixe": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 59,
        "edge": "layerre",
        "key": "maintenance",
        "layerre": 78,
        "name": "Maintenance \u0026 community",
        "pixelixe": 19,
        "weight": 7
      },
      {
        "by": 22,
        "edge": "layerre",
        "key": "transparency",
        "layerre": 63,
        "name": "Transparency \u0026 trust",
        "pixelixe": 41,
        "weight": 7
      }
    ],
    "summary": "Layerre scores 57.6 (C) on agent readiness against Pixelixe's 37.3 (F), and leads in 6 of 7 scored categories. Pixelixe leads on payments \u0026 pricing. Both do design templates.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "layerre": "A public OpenAPI 3.1 contract, published rate limits with Retry-After, and 13 annotated MCP tools that can't delete anything make Layerre straightforward for an agent to call. It works only from Canva designs, is run by a sole proprietor with no status page or SLA, and its API and MCP server are at version 0.1.0.",
      "pixelixe": "Pixelixe's seven MCP tools and their LLM-oriented reference make template fills and JSON-to-graphic creation simple to call, with an OpenAPI file for the core endpoints. Every error comes back as a 400 with a message, there are no published rate limits, status page or changelog, and API access starts at $59 a month."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/layerre-vs-pixelixe",
    "json": "https://www.anchorterminal.com/compare/layerre-vs-pixelixe.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/layerre-vs-pixelixe.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/layerre-vs-pixelixe.min.md"
  },
  "markdown": "Layerre scores 57.6 (C) on agent readiness against Pixelixe's 37.3 (F), and leads in 6 of 7 scored categories. Pixelixe leads on payments \u0026 pricing. Both do design templates.\n\n- Layerre: grade C, 57.6/100, rank #789 of 1510. Markdown https://www.anchorterminal.com/tools/layerre.md · JSON https://www.anchorterminal.com/api/v1/tools/layerre.json\n- Pixelixe: grade F, 37.3/100, rank #1377 of 1510. Markdown https://www.anchorterminal.com/tools/pixelixe.md · JSON https://www.anchorterminal.com/api/v1/tools/pixelixe.json\n- Best programmatic image and design asset APIs for AI agents: https://www.anchorterminal.com/best/design-assets/index.md\n- All 153 assets comparisons: https://www.anchorterminal.com/compare/design-assets/index.md\n\n## Which one, for what\n\n### Layerre (C)\n\nGood for: Bulk image and PDF variants from Canva designs a team already has.\n\nAhead on:\n- Reliability, 42 against 15\n- Schema \u0026 documentation, 87 against 66\n- Agent ergonomics, 69 against 49\n- Security \u0026 auth, 48 against 38\n- Maintenance \u0026 community, 78 against 19\n- Transparency \u0026 trust, 63 against 41\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: Imports Canva designs only; there is no template editor of its own\n\n### Pixelixe (F)\n\nGood for: Template fills and white-label editing for marketing and SaaS teams, with a JSON-to-graphic route for agents.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 25\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Every error is HTTP 400 with a free-text message, including wrong keys and exhausted credits\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Layerre +59\n\n- Layerre (78): @layerre/mcp-server 0.1.0 published to npm on 29 October 2026, 8 days before this check (30). MCP server commits from 19 to 24 October, the registry entry of 29 October, and What's New entries dated 21 August and 18 October in the sitemap (20). The repository is a week old with no issues to judge; support by email and in-app chat (5 of 25). com.layerre/layerre is in the official MCP registry under a domain-verified namespace (15). CI runs the vitest suite on push and pull requests to main on Node 22 (8 of 10). 30 + 20 + 5 + 15 + 8 = 78.\n- Pixelixe (19): No dated release or API change was found. The newest dated items are the MCP registry entry of 26 March 2026 and the privacy policy of 7 April 2026, more than 180 days before this check (0). No three dated changes since 8 August (0). No changelog. Support by email at inquiries@pixelixe.com, not tested (4 of 15). com.pixelixe/pixelixe-mcp is in the official MCP registry under a domain-verified namespace; there are no official SDKs (15). No public package or repository (0). 0 + 0 + 4 + 15 + 0 = 19.\n\n### Reliability: Layerre +27\n\n- Layerre (42): Hosted lines, for the REST API and the hosted MCP server. No status page found on the site, in llms.txt or in the docs (0). No readable incident history (5). Rate limits published as 10 requests a second, a 20-request burst and 600 a minute per IP address (15). A 429 carries Retry-After and a `retry_after` field, and the docs give retry code samples. No idempotency key or safe-retry note for variant creation, which spends renders (12 of 15). No SLA found (0). Neither surface is labelled beta, though both are at version 0.1.0 (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.\n- Pixelixe (15): Hosted lines. No status page found on the site or in the docs (0). No readable incident history (5). No rate limit is published; the terms only forbid circumventing them (0). No 429, Retry-After or backoff guidance. Every error, a wrong key and exhausted credits included, is a 400 with a message (0). No SLA found; the terms supply the service as is (0). API v2 is current and not labelled beta (10). 0 + 5 + 0 + 0 + 0 + 10 = 15.\n\n### Transparency \u0026 trust: Layerre +22\n\n- Layerre (63): The MCP server is MIT. The service is closed under terms of 13 August 2026 that name a sole proprietorship in Ontario (20 of 30). The privacy policy and DPA of the same date agree. Data is kept while the account is active and deleted from production on account deletion, with limited backups. Design files aren't used to train public AI models. Google Analytics runs on accepted cookies (24 of 30). No deprecation policy or notice period (0). Ten subprocessors listed with purpose and location in both documents, including Supabase, Stripe, Cloudflare, Google, Resend, Canva and Slack (20). 20 + 24 + 0 + 20 = 64.\n- Pixelixe (41): Closed service under terms of 19 March 2026 that choose French law but name no company (12 of 30). The privacy policy of 7 April 2026 keeps account data while the account is active and 'as long as reasonably necessary' after, with no periods, and says nothing about AI processing or training (10 of 30). V1 is marked deprecated in the docs with no dates or notice period (5 of 20). Processors are described only by category, with Google Analytics named, and data processed in France, the EEA and other vendor countries (5 of 20). 12 + 10 + 5 + 5 = 32.\n\n### Schema \u0026 documentation: Layerre +21\n\n- Layerre (87): Public OpenAPI 3.1 at layerre.com/openapi.json with 16 operations, and zod schemas on all 13 MCP tools in the open-source server (25). llms.txt, auth.md and Markdown mirrors of the pricing, FAQ and integration pages (10). Every operation has a description, and tool descriptions note costs such as 'an expensive operation that may take 10-30 seconds', without saying when not to use a tool (15 of 20). Layer properties have minimums, maximums and enums such as `text_align`, and list calls cap `limit` at 1,000 (14 of 15). 88 examples in the spec, and 404, 422 and 429 responses documented on most operations (13 of 15). Versioned /v1 paths and dated What's New pages, read from the sitemap since the pages are drawn by script; the API itself is version 0.1.0 (10 of 15). 25 + 10 + 15 + 14 + 13 + 10 = 87.\n- Pixelixe (66): OpenAPI 3.1 (version 2.0.0) at pixelixe.com/pixelixe-openapi.json, but it covers four endpoints, authentication, document search, graphic automation and photo effects, and leaves out the JSON-to-graphic and image processing APIs (18 of 25). llms.txt exists but routes readers to marketing pages; the MCP reference is written for LLMs (7 of 10). The MCP reference says what each of the seven tools maps to, that `pixelixe_generate_graphic_variant` 'is not a free-form layout API', lists common mistakes and how to present outputs (17 of 20). The MCP layer documents canonical field names and refuses legacy aliases; the REST modifications are open structures keyed by element name (10 of 15). Request examples throughout, but errors are one table of message strings all returning 400 (8 of 15). /v2 paths and a deprecated V1, with no changelog (6 of 15). 18 + 7 + 17 + 10 + 8 + 6 = 66.\n\n### Agent ergonomics: Layerre +20\n\n- Layerre (69): 13 MCP tools (15 for 11 to 30), with no toolsets or read-only subset (15). Template and variant lists take `skip` and `limit`, and templates filter by `tag` and `q` and can leave out layers (16 of 20). 422 validation bodies and a JSON 429 with `retry_after` (17 of 20). Every tool is annotated, read tools with readOnlyHint and idempotentHint, updates idempotent, no tool destructive, and the server has no delete tool. The REST API has no idempotency keys for variant creation (16 of 20). Few required fields, but no official SDK; a Postman collection and the MCP package only (5 of 15). 15 + 16 + 17 + 16 + 5 = 69.\n- Pixelixe (49): Seven compact MCP tools (25). Document and design-set search filters, with no pagination documented (10 of 20). All errors are 400 with free-text messages, so an agent can't branch on a code (6 of 20). No idempotency keys, and annotations couldn't be read on the closed server. The MCP tools only read and create, with nothing that deletes (5 of 20). Few required fields, but no official SDK (3 of 15). 25 + 10 + 6 + 5 + 3 = 49.\n\n### Security \u0026 auth: Layerre +10\n\n- Layerre (48): OAuth 2.1 with PKCE for MCP through a Supabase authorisation server, and revocable `lyr_` API keys with rotation in the dashboard. No scopes documented for either, and auth.md says the REST API has no OAuth yet (22 of 30). The MCP server cannot delete templates, change billing or manage API keys, but there is no read-only key or endpoint (12 of 20). Tools return the user's own templates and renders; template import fetches a Canva link the user gives (10 of 15). The open-source server emits audit log lines for each tool call for whoever runs it, and nothing per call is documented for the hosted service (4 of 15). No security.txt (the path returns the site's HTML shell), disclosure policy, bug bounty or certification (0). 22 + 12 + 10 + 4 + 0 = 48.\n- Pixelixe (38): A bearer API key per account, plus a public key for the embedded editor. The MCP server accepts the key or an OAuth token from studio.pixelixe.com/oauth/mcp with one `pixelixe.mcp` scope. No key scopes, rotation or revocation documented (18 of 30). No read-only mode, though the MCP tools can't delete or change account settings (10 of 20). Tools return the account's own templates and renders (10 of 15). No audit log or per-call record documented (0). No security.txt, disclosure policy, bug bounty or certification found (0). 18 + 10 + 10 + 0 + 0 = 38.\n\n## Score by category\n\n| Category | Weight | Layerre | Pixelixe | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 15 | Layerre +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 66 | Layerre +21 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 49 | Layerre +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 48 | 38 | Layerre +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 30 | Pixelixe +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 19 | Layerre +59 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 41 | Layerre +22 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.6 · C** | **37.3 · F** | |\n\n## Facts side by side\n\n| Fact | Layerre | Pixelixe |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Layerre | Pixelixe |\n| Hosted endpoint | `https://api.layerre.com/v1` | `https://studio.pixelixe.com/api` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | MIT for the MCP server. The Layerre API is a closed service under terms last updated 13 August 2026 | Closed service under the Pixelixe terms of service (last modified 19 March 2026) |\n| Tools exposed | 13 | 7 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `com.layerre/layerre` | `com.pixelixe/pixelixe-mcp` |\n| Last release | 2026-10-29 | 2026-03-26 |\n| Terms last updated | no date given | 2026-03-19 |\n| Privacy policy last updated | no date given | 2026-04-07 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 119 npm/wk | none |\n\n## Verdicts\n\n**Layerre.** A public OpenAPI 3.1 contract, published rate limits with Retry-After, and 13 annotated MCP tools that can't delete anything make Layerre straightforward for an agent to call. It works only from Canva designs, is run by a sole proprietor with no status page or SLA, and its API and MCP server are at version 0.1.0.\n\n**Pixelixe.** Pixelixe's seven MCP tools and their LLM-oriented reference make template fills and JSON-to-graphic creation simple to call, with an OpenAPI file for the core endpoints. Every error comes back as a 400 with a message, there are no published rate limits, status page or changelog, and API access starts at $59 a month.\n\n## Before you call either\n\n### Layerre\n\n1. Call `layerre_auth_status` first to confirm the connection\n2. Read a template's layer IDs with `layerre_get_template` before creating variants\n3. Use the bulk variant endpoint for batches; each variant still costs one render\n4. On 429 wait for the Retry-After seconds; limits are per IP address\n5. Expect template import from a Canva link to take 10 to 30 seconds\n\n### Pixelixe\n\n1. Call `pixelixe_search_documents` first to find the `document_uid` of the template to reuse\n2. Use `pixelixe_generate_graphic_variant` to fill an existing template; it can't change the layout\n3. Read the error `message` text, since every failure is a 400\n4. Stop and tell the user on 'Not enough Credits'; retrying won't help\n5. For a batch, use `pixelixe_create_multiple_images` and summarise counts rather than inlining every image\n\n## Questions\n\n### Which is better for AI agents, Layerre or Pixelixe?\n\nLayerre scores 57.6 (C) on agent readiness against Pixelixe's 37.3 (F), and leads in 6 of 7 scored categories. Pixelixe leads on payments \u0026 pricing.\n\n### Do Layerre and Pixelixe need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Layerre and Pixelixe without installing anything?\n\nYes. Layerre has a hosted endpoint at https://api.layerre.com/v1 and Pixelixe at https://studio.pixelixe.com/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/layerre-vs-pixelixe.json, and with the fewest tokens: https://www.anchorterminal.com/compare/layerre-vs-pixelixe.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"layerre\", \"b\": \"pixelixe\"}`. From a terminal: `anchor compare layerre pixelixe`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/layerre.json and https://www.anchorterminal.com/api/v1/tools/pixelixe.json\n\n## Other comparisons with Layerre or Pixelixe\n\n- [Adobe Photoshop API vs Layerre](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre.md)\n- [APITemplate.io vs Layerre](https://www.anchorterminal.com/compare/apitemplate-io-vs-layerre.md)\n- [APITemplate.io vs Pixelixe](https://www.anchorterminal.com/compare/apitemplate-io-vs-pixelixe.md)\n- [Bannerbear API + MCP vs Layerre](https://www.anchorterminal.com/compare/bannerbear-vs-layerre.md)\n- [Bannerbear API + MCP vs Pixelixe](https://www.anchorterminal.com/compare/bannerbear-vs-pixelixe.md)\n- [Canva REST APIs + MCP vs Layerre](https://www.anchorterminal.com/compare/canva-vs-layerre.md)\n- [Canva REST APIs + MCP vs Pixelixe](https://www.anchorterminal.com/compare/canva-vs-pixelixe.md)\n- [Contentdrips API and MCP vs Layerre](https://www.anchorterminal.com/compare/contentdrips-vs-layerre.md)\n- [Contentdrips API and MCP vs Pixelixe](https://www.anchorterminal.com/compare/contentdrips-vs-pixelixe.md)\n- [Creatomate vs Layerre](https://www.anchorterminal.com/compare/creatomate-vs-layerre.md)\n- [Creatomate vs Pixelixe](https://www.anchorterminal.com/compare/creatomate-vs-pixelixe.md)\n- [DynaPictures vs Layerre](https://www.anchorterminal.com/compare/dynapictures-vs-layerre.md)\n- [DynaPictures vs Pixelixe](https://www.anchorterminal.com/compare/dynapictures-vs-pixelixe.md)\n- [Layerre vs Photoroom API](https://www.anchorterminal.com/compare/layerre-vs-photoroom.md)\n- [Layerre vs Pictify](https://www.anchorterminal.com/compare/layerre-vs-pictify.md)\n- [Layerre vs Placid API + MCP](https://www.anchorterminal.com/compare/layerre-vs-placid.md)\n- [Layerre vs PostNitro](https://www.anchorterminal.com/compare/layerre-vs-postnitro.md)\n- [Layerre vs Robolly](https://www.anchorterminal.com/compare/layerre-vs-robolly.md)\n- [Layerre vs Shotstack](https://www.anchorterminal.com/compare/layerre-vs-shotstack.md)\n- [Layerre vs Templated API + MCP](https://www.anchorterminal.com/compare/layerre-vs-templated.md)\n- [Pixelixe vs Placid API + MCP](https://www.anchorterminal.com/compare/pixelixe-vs-placid.md)\n- [Pixelixe vs PostNitro](https://www.anchorterminal.com/compare/pixelixe-vs-postnitro.md)\n- [Pixelixe vs Robolly](https://www.anchorterminal.com/compare/pixelixe-vs-robolly.md)\n- [Pixelixe vs Shotstack](https://www.anchorterminal.com/compare/pixelixe-vs-shotstack.md)\n- [Pixelixe vs Templated API + MCP](https://www.anchorterminal.com/compare/pixelixe-vs-templated.md)\n- [Abyssale vs Layerre](https://www.anchorterminal.com/compare/abyssale-vs-layerre.md)\n- [Abyssale vs Pixelixe](https://www.anchorterminal.com/compare/abyssale-vs-pixelixe.md)\n- [Layerre vs Osmo CLI](https://www.anchorterminal.com/compare/layerre-vs-osmo-cli.md)\n- [Osmo CLI vs Pixelixe](https://www.anchorterminal.com/compare/osmo-cli-vs-pixelixe.md)\n- [Pictify vs Pixelixe](https://www.anchorterminal.com/compare/pictify-vs-pixelixe.md)\n- [Adobe Photoshop API vs Pixelixe](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pixelixe.md)\n- [Photoroom API vs Pixelixe](https://www.anchorterminal.com/compare/photoroom-vs-pixelixe.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Layerre vs Pixelixe",
        "url": ""
      }
    ],
    "description": "Layerre scores 57.6 (C) to Pixelixe's 37.3 (F) for design templates. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Layerre C 57.6",
      "Pixelixe F 37.3",
      "scores"
    ],
    "h1": "Layerre vs Pixelixe",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/layerre-vs-pixelixe",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Layerre vs Pixelixe for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/layerre-vs-pixelixe"
  },
  "tokens": {
    "markdown": 4450,
    "slim": 2580
  },
  "version": 1
}
