{
  "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": 785,
        "ranked": true,
        "rankOf": 1486,
        "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-07T18:20:34.768332322Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 361,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 308,
          "p95ms24h": 406,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "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-07T18:20:34.768332322Z"
      }
    },
    "answer": "Layerre scores 57.6 (C) on agent readiness against Placid API + MCP's 43 (E), and leads in 5 of 7 scored categories. Placid API + MCP leads on reliability and payments \u0026 pricing.",
    "b": {
      "slug": "placid",
      "name": "Placid API + MCP",
      "vendor": "Placid",
      "vendorUrl": "https://placid.app",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Template rendering to images, PDFs and videos through a REST API, a URL API and an MCP server, with an embeddable template editor SDK.",
      "url": "https://www.anchorterminal.com/tools/placid",
      "markdownUrl": "https://www.anchorterminal.com/tools/placid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/placid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/placid.json",
      "dns": "placid.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.placid.app/api/rest",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Project-scoped API token, sent as a bearer token in the Authorization header. The MCP server has a per-project URL and takes the token as a bearer header or, where a client can't set headers, as ?api_token= in the URL.",
      "pricing": "paid",
      "pricingNotes": "Free trial, and unlimited watermarked previews in test mode. Basic $19 a month (500 credits), Pro $39 (2,500), Business $89 (25,000), VIP $249 (100,000). Yearly billing is 10 times the monthly price. 1 image is 1 credit (up to 4,000 px), 10 seconds of video is 10 credits, 1 PDF page is 2 credits (https://placid.app/pricing).",
      "priceSummary": "$19 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Subscription credits only. No x402 in the docs (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://placid.app/docs/2.0/introduction",
      "capabilities": [
        "design.templates",
        "design.render",
        "video.render"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "async-jobs",
        "webhooks"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43,
        "grade": "E",
        "agentReady": false,
        "rank": 1244,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 40,
          "maintenance": 7,
          "payments": 35,
          "reliability": 75,
          "schema": 34,
          "security": 34,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Hyperping status page with separate App and API components and 90-day history. No OpenAPI, no llms.txt, and the MCP tool list isn't published.",
        "bestFor": "Small teams and no-code builders who want template renders to image, PDF and video at a low monthly price, and agents that should be fenced to a few templates.",
        "strengths": [
          "Hyperping status page with separate App and API components and 90-day history",
          "Rate-limit headers (Limit, Remaining, Reset) and exponential backoff guidance documented",
          "Unlimited watermarked previews in test mode, and a trial with no card",
          "MCP settings restrict which templates and which output types an agent can use",
          "Named Austrian legal entity, privacy policy updated in November 2024, DPA on request"
        ],
        "weaknesses": [
          "No OpenAPI, no llms.txt, and the MCP tool list isn't published",
          "MCP setup guide documents the API token in the URL query string",
          "Changelog has no dates, so there's no public record of recent changes",
          "PHP and Laravel libraries last tagged on 2022-07-20, pointing at the older placid.app/api/rest base",
          "Subprocessors and hosting location aren't disclosed"
        ],
        "agentNotes": [
          "Send the token in the `Authorization` header, not as ?api_token=, wherever the client allows it",
          "Read X-RateLimit-Remaining and wait for X-RateLimit-Reset after a 429",
          "Use test mode for watermarked previews while matching layer names, then switch to live renders",
          "Leave create_now off for batches, since it caps at 10 at once and may fail under load",
          "Poll the returned polling_url or pass webhook_success, since images start as queued"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43
          }
        ],
        "editorialScores": {
          "ergonomics": 40,
          "maintenance": 7,
          "payments": 35,
          "reliability": 75,
          "schema": 34,
          "security": 34,
          "transparency": 33
        },
        "provenanceScore": 83,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.placid.app/api/rest/templates -H \"Authorization: Bearer $PLACID_API_TOKEN\"",
        "claudeCode": "claude mcp add --transport http placid https://mcp.placid.app/\u003cyour-project-url\u003e --header \"Authorization: Bearer $PLACID_API_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/placid"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "month",
          "usd": 19,
          "note": "500 credits, $190 billed yearly"
        },
        {
          "item": "Pro",
          "unit": "month",
          "usd": 39,
          "note": "2,500 credits, $390 billed yearly"
        },
        {
          "item": "Business",
          "unit": "month",
          "usd": 89,
          "note": "25,000 credits, $890 billed yearly"
        },
        {
          "item": "VIP",
          "unit": "month",
          "usd": 249,
          "note": "100,000 credits, $2,490 billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Nifty Software GmbH",
        "domain": "placid.app",
        "domainRegistered": "2018-05-08",
        "endpointOnVendorDomain": true,
        "terms": "https://placid.app/terms-and-conditions",
        "privacy": "https://placid.app/privacy",
        "statusPage": "https://status.placid.app",
        "changelog": "https://headwayapp.co/placid-changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The changelog is hosted on Headway (headwayapp.co), not on placid.app"
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/placid.json",
      "live": {
        "slug": "placid",
        "probe": {
          "target": "https://api.placid.app/api/rest",
          "method": "get",
          "lastAt": "2026-11-07T18:20:47.319012301Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 207,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.99,
          "p50ms24h": 169,
          "p95ms24h": 282,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 184
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.placid.app",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:36.694737265Z"
        },
        "securityTxt": {
          "url": "https://placid.app/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:42.59382187Z"
        },
        "domain": {
          "domain": "placid.app",
          "registered": "2018-05-08",
          "source": "https://pubapi.registry.google/rdap/domain/placid.app",
          "checkedAt": "2026-11-01T14:12:11.788930956Z"
        },
        "pages": [
          {
            "url": "https://headwayapp.co/placid-changelog",
            "kind": "changelog",
            "status": 0,
            "checkedAt": "2026-11-07T14:10:51.649582378Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://placid.app/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:31.049458005Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99e692b08293"
          },
          {
            "url": "https://placid.app/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:33.283749241Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4ce631cc70ce"
          },
          {
            "url": "https://placid.app/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:16:35.47662252Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c733087a07e6"
          }
        ],
        "updatedAt": "2026-11-07T18:20:47.319012301Z"
      }
    },
    "edges": [
      {
        "by": 71,
        "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": "We found no dated release or API change. The Headway changelog has no dates, its entries mention Integromat and a v2.0 launch, and /changelog on placid.app returns 404 (0). No dated entries in the last 90 days (0). Support by email named in the error docs, public changelog stale (4). Official PHP and Laravel libraries were last tagged v1.0.1 on 2022-07-20 and still call placid.app/api/rest (3). No CI on either library (0)."
        },
        "scores": {
          "a": 78,
          "b": 7
        }
      },
      {
        "by": 53,
        "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": "No OpenAPI or other machine-readable contract, and the MCP tool definitions aren't published (0). /llms.txt returns 404 (0). Endpoint pages state purpose and warn that create_now may fail under high load (12). template_uuid is the one required field and status is an enum, but `layers` and `modifications` are open objects keyed by layer name (8). Request and response examples per endpoint, and an error page with six codes but no body format (9). Docs are versioned 2.0, but the changelog on Headway carries no dates and its newest entries predate the MCP server (5)."
        },
        "scores": {
          "a": 87,
          "b": 34
        }
      },
      {
        "by": 33,
        "category": "reliability",
        "leads": "placid",
        "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": "Hyperping status page at status.placid.app with separate App and API components and 90-day bars (20). No incidents are posted. The page's own figure for the API is 99.963 per cent over 90 days, roughly 48 minutes of recorded downtime with no write-up, so minor rather than clean (20). 60 requests a minute and 10 simultaneous create_now requests, documented (15). X-RateLimit-Limit, -Remaining and -Reset headers and exponential backoff advice on 429, but no idempotency key or safe-retry note for renders, which are writes (10). No SLA found on the pricing page or in the docs (0). REST API 2.0 is GA (10)."
        },
        "scores": {
          "a": 42,
          "b": 75
        }
      },
      {
        "by": 29,
        "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": "Image, PDF and video objects are small and the MCP can be limited to chosen templates and creative types (15). We found no pagination or filter parameters on the pages we read (5). Six status codes documented without an error body format (10). No idempotency key, no MCP tool annotations we could see, and DELETE removes an image for good. Polling the polling_url is safe (3). Only template_uuid is required, but the official libraries are PHP and Laravel only, both last tagged v1.0.1 on 2022-07-20 (7)."
        },
        "scores": {
          "a": 69,
          "b": 40
        }
      },
      {
        "by": 14,
        "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": "One bearer token per project, no scopes, and the docs say nothing on revoking or rotating it (15). The MCP setup guide documents ?api_token= in the server URL for clients that can't set headers, less 10 (5). MCP settings restrict which templates and which output types (image, PDF, video, docs only) the server can use (14). Returns renders from your own templates (10). A dashboard activity log is mentioned in the changelog, nothing per call documented (5). No security.txt (404), no certification in the privacy policy and no disclosure policy found (0)."
        },
        "scores": {
          "a": 48,
          "b": 34
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "placid",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices are public with render counts, and one import or one variant is one render, so the price a render follows from the plan (about $0.03 on Starter, $0.005 on Pro) without being published per unit (15 of 20). Free plan of 50 renders a month with API access; the pricing page doesn't say whether a card is needed (10 of 20, half as with an unstated card rule). A person signs up and creates the key, or approves OAuth in a browser (0). 0 + 15 + 10 + 0 = 25.",
          "b": "No x402, MPP or L402 (0). Plan prices are public per the 30 September check (our fetch of the pricing page didn't render the amounts), and the FAQ states credit costs per unit, 1 per image, 2 per PDF page and 10 per 10 seconds of video (15). Free trial with no card and unlimited watermarked previews in test mode (20). A person signs up in a browser and copies a project token (0)."
        },
        "scores": {
          "a": 25,
          "b": 35
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Layerre",
        "b": "Placid",
        "name": "Vendor"
      },
      {
        "a": "https://api.layerre.com/v1",
        "b": "https://api.placid.app/api/rest",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API 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": "none",
        "name": "Licence"
      },
      {
        "a": "13",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "com.layerre/layerre",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-29",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2024-11-25",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2024-11-18",
        "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": "not found in the text",
        "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": "yes",
        "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"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Layerre scores 57.6 (C) on agent readiness against Placid API + MCP's 43 (E), and leads in 5 of 7 scored categories. Placid API + MCP leads on reliability and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Layerre or Placid API + MCP?"
      },
      {
        "answer": "Layerre takes an API key or an OAuth sign-in. Placid API + MCP needs an API key.",
        "question": "Do Layerre and Placid API + MCP need an API key?"
      },
      {
        "answer": "Yes. Layerre has a hosted endpoint at https://api.layerre.com/v1 and Placid API + MCP at https://api.placid.app/api/rest.",
        "question": "Can an agent call Layerre and Placid API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 34",
          "Agent ergonomics, 69 against 40",
          "Security \u0026 auth, 48 against 34",
          "Maintenance \u0026 community, 78 against 7",
          "Transparency \u0026 trust, 63 against 58"
        ],
        "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": [
          "Reliability, 75 against 42",
          "Payments \u0026 pricing, 35 against 25"
        ],
        "also": null,
        "goodFor": "Small teams and no-code builders who want template renders to image, PDF and video at a low monthly price, and agents that should be fenced to a few templates.",
        "slug": "placid",
        "watchFor": "No OpenAPI, no llms.txt, and the MCP tool list isn't published"
      }
    ],
    "history": {
      "layerre": null,
      "placid": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 42.9,
          "fromGrade": "E",
          "to": 43,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 43.2,
          "fromGrade": "E",
          "to": 42.9,
          "toGrade": "E"
        }
      ]
    },
    "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/adobe-photoshop-api-vs-placid.json",
        "title": "Adobe Photoshop API vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-placid"
      },
      {
        "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-placid.json",
        "title": "APITemplate.io vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-placid"
      },
      {
        "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-placid.json",
        "title": "Bannerbear API + MCP vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-placid"
      },
      {
        "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-placid.json",
        "title": "Canva REST APIs + MCP vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/canva-vs-placid"
      },
      {
        "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-placid.json",
        "title": "Contentdrips API and MCP vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/contentdrips-vs-placid"
      },
      {
        "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-placid.json",
        "title": "Creatomate vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-placid"
      },
      {
        "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-placid.json",
        "title": "DynaPictures vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/dynapictures-vs-placid"
      },
      {
        "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-pixelixe.json",
        "title": "Layerre vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-pixelixe"
      },
      {
        "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/photoroom-vs-placid.json",
        "title": "Photoroom API vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/photoroom-vs-placid"
      },
      {
        "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/placid-vs-postnitro.json",
        "title": "Placid API + MCP vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/placid-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/placid-vs-robolly.json",
        "title": "Placid API + MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/placid-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/placid-vs-shotstack.json",
        "title": "Placid API + MCP vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/placid-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/placid-vs-templated.json",
        "title": "Placid API + MCP vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/placid-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-placid.json",
        "title": "Abyssale vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-placid"
      },
      {
        "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-placid.json",
        "title": "Osmo CLI vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/osmo-cli-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pictify-vs-placid.json",
        "title": "Pictify vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/pictify-vs-placid"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 33,
        "edge": "placid",
        "key": "reliability",
        "layerre": 42,
        "name": "Reliability",
        "placid": 75,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 53,
        "edge": "layerre",
        "key": "schema",
        "layerre": 87,
        "name": "Schema \u0026 documentation",
        "placid": 34,
        "weight": 13
      },
      {
        "by": 29,
        "edge": "layerre",
        "key": "ergonomics",
        "layerre": 69,
        "name": "Agent ergonomics",
        "placid": 40,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "layerre",
        "key": "security",
        "layerre": 48,
        "name": "Security \u0026 auth",
        "placid": 34,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "placid",
        "key": "payments",
        "layerre": 25,
        "name": "Payments \u0026 pricing",
        "placid": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 71,
        "edge": "layerre",
        "key": "maintenance",
        "layerre": 78,
        "name": "Maintenance \u0026 community",
        "placid": 7,
        "weight": 7
      },
      {
        "by": 5,
        "edge": "layerre",
        "key": "transparency",
        "layerre": 63,
        "name": "Transparency \u0026 trust",
        "placid": 58,
        "weight": 7
      }
    ],
    "summary": "Layerre scores 57.6 (C) on agent readiness against Placid API + MCP's 43 (E), and leads in 5 of 7 scored categories. Placid API + MCP leads on reliability and 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.",
      "placid": "Hyperping status page with separate App and API components and 90-day history. No OpenAPI, no llms.txt, and the MCP tool list isn't published."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/layerre-vs-placid",
    "json": "https://www.anchorterminal.com/compare/layerre-vs-placid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/layerre-vs-placid.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/layerre-vs-placid.min.md"
  },
  "markdown": "Layerre scores 57.6 (C) on agent readiness against Placid API + MCP's 43 (E), and leads in 5 of 7 scored categories. Placid API + MCP leads on reliability and payments \u0026 pricing. Both do design templates.\n\n- Layerre: grade C, 57.6/100, rank #785 of 1486. Markdown https://www.anchorterminal.com/tools/layerre.md · JSON https://www.anchorterminal.com/api/v1/tools/layerre.json\n- Placid API + MCP: grade E, 43/100, rank #1244 of 1486. Markdown https://www.anchorterminal.com/tools/placid.md · JSON https://www.anchorterminal.com/api/v1/tools/placid.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- Schema \u0026 documentation, 87 against 34\n- Agent ergonomics, 69 against 40\n- Security \u0026 auth, 48 against 34\n- Maintenance \u0026 community, 78 against 7\n- Transparency \u0026 trust, 63 against 58\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### Placid API + MCP (E)\n\nGood for: Small teams and no-code builders who want template renders to image, PDF and video at a low monthly price, and agents that should be fenced to a few templates.\n\nAhead on:\n- Reliability, 75 against 42\n- Payments \u0026 pricing, 35 against 25\n\nWatch for: No OpenAPI, no llms.txt, and the MCP tool list isn't published\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Layerre +71\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- Placid API + MCP (7): We found no dated release or API change. The Headway changelog has no dates, its entries mention Integromat and a v2.0 launch, and /changelog on placid.app returns 404 (0). No dated entries in the last 90 days (0). Support by email named in the error docs, public changelog stale (4). Official PHP and Laravel libraries were last tagged v1.0.1 on 2022-07-20 and still call placid.app/api/rest (3). No CI on either library (0).\n\n### Schema \u0026 documentation: Layerre +53\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- Placid API + MCP (34): No OpenAPI or other machine-readable contract, and the MCP tool definitions aren't published (0). /llms.txt returns 404 (0). Endpoint pages state purpose and warn that create_now may fail under high load (12). template_uuid is the one required field and status is an enum, but `layers` and `modifications` are open objects keyed by layer name (8). Request and response examples per endpoint, and an error page with six codes but no body format (9). Docs are versioned 2.0, but the changelog on Headway carries no dates and its newest entries predate the MCP server (5).\n\n### Reliability: Placid API + MCP +33\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- Placid API + MCP (75): Hyperping status page at status.placid.app with separate App and API components and 90-day bars (20). No incidents are posted. The page's own figure for the API is 99.963 per cent over 90 days, roughly 48 minutes of recorded downtime with no write-up, so minor rather than clean (20). 60 requests a minute and 10 simultaneous create_now requests, documented (15). X-RateLimit-Limit, -Remaining and -Reset headers and exponential backoff advice on 429, but no idempotency key or safe-retry note for renders, which are writes (10). No SLA found on the pricing page or in the docs (0). REST API 2.0 is GA (10).\n\n### Agent ergonomics: Layerre +29\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- Placid API + MCP (40): Image, PDF and video objects are small and the MCP can be limited to chosen templates and creative types (15). We found no pagination or filter parameters on the pages we read (5). Six status codes documented without an error body format (10). No idempotency key, no MCP tool annotations we could see, and DELETE removes an image for good. Polling the polling_url is safe (3). Only template_uuid is required, but the official libraries are PHP and Laravel only, both last tagged v1.0.1 on 2022-07-20 (7).\n\n### Security \u0026 auth: Layerre +14\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- Placid API + MCP (34): One bearer token per project, no scopes, and the docs say nothing on revoking or rotating it (15). The MCP setup guide documents ?api_token= in the server URL for clients that can't set headers, less 10 (5). MCP settings restrict which templates and which output types (image, PDF, video, docs only) the server can use (14). Returns renders from your own templates (10). A dashboard activity log is mentioned in the changelog, nothing per call documented (5). No security.txt (404), no certification in the privacy policy and no disclosure policy found (0).\n\n### Payments \u0026 pricing: Placid API + MCP +10\n\n- Layerre (25): No x402, MPP or L402 (0). Plan prices are public with render counts, and one import or one variant is one render, so the price a render follows from the plan (about $0.03 on Starter, $0.005 on Pro) without being published per unit (15 of 20). Free plan of 50 renders a month with API access; the pricing page doesn't say whether a card is needed (10 of 20, half as with an unstated card rule). A person signs up and creates the key, or approves OAuth in a browser (0). 0 + 15 + 10 + 0 = 25.\n- Placid API + MCP (35): No x402, MPP or L402 (0). Plan prices are public per the 30 September check (our fetch of the pricing page didn't render the amounts), and the FAQ states credit costs per unit, 1 per image, 2 per PDF page and 10 per 10 seconds of video (15). Free trial with no card and unlimited watermarked previews in test mode (20). A person signs up in a browser and copies a project token (0).\n\n## Score by category\n\n| Category | Weight | Layerre | Placid API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 75 | Placid API + MCP +33 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 34 | Layerre +53 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 40 | Layerre +29 |\n| Security \u0026 auth | 14% (17.5 this run) | 48 | 34 | Layerre +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 35 | Placid API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 7 | Layerre +71 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 58 | Layerre +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.6 · C** | **43 · E** | |\n\n## Facts side by side\n\n| Fact | Layerre | Placid API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Layerre | Placid |\n| Hosted endpoint | `https://api.layerre.com/v1` | `https://api.placid.app/api/rest` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API 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 | none |\n| Tools exposed | 13 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `com.layerre/layerre` | not listed |\n| Last release | 2026-10-29 | none |\n| Terms last updated | no date given | 2024-11-25 |\n| Privacy policy last updated | no date given | 2024-11-18 |\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 | not found in the text |\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 | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 119 npm/wk | none |\n| Agent reviews | none | 3.5/5 (2) |\n\n## How the scores have moved\n\n### Layerre\n\nNo score change since it was listed.\n\n### Placid API + MCP\n\n- +0.1 on 27 October 2026: checklist\n- -0.3 on 8 October 2026: checklist\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**Placid API + MCP.** Hyperping status page with separate App and API components and 90-day history. No OpenAPI, no llms.txt, and the MCP tool list isn't published.\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### Placid API + MCP\n\n1. Send the token in the `Authorization` header, not as ?api_token=, wherever the client allows it\n2. Read X-RateLimit-Remaining and wait for X-RateLimit-Reset after a 429\n3. Use test mode for watermarked previews while matching layer names, then switch to live renders\n4. Leave create_now off for batches, since it caps at 10 at once and may fail under load\n5. Poll the returned polling_url or pass webhook_success, since images start as queued\n\n## Questions\n\n### Which is better for AI agents, Layerre or Placid API + MCP?\n\nLayerre scores 57.6 (C) on agent readiness against Placid API + MCP's 43 (E), and leads in 5 of 7 scored categories. Placid API + MCP leads on reliability and payments \u0026 pricing.\n\n### Do Layerre and Placid API + MCP need an API key?\n\nLayerre takes an API key or an OAuth sign-in. Placid API + MCP needs an API key.\n\n### Can an agent call Layerre and Placid API + MCP without installing anything?\n\nYes. Layerre has a hosted endpoint at https://api.layerre.com/v1 and Placid API + MCP at https://api.placid.app/api/rest.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/layerre-vs-placid.json, and with the fewest tokens: https://www.anchorterminal.com/compare/layerre-vs-placid.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"layerre\", \"b\": \"placid\"}`. From a terminal: `anchor compare layerre placid`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/layerre.json and https://www.anchorterminal.com/api/v1/tools/placid.json\n\n## Other comparisons with Layerre or Placid API + MCP\n\n- [Adobe Photoshop API vs Layerre](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre.md)\n- [Adobe Photoshop API vs Placid API + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-placid.md)\n- [APITemplate.io vs Layerre](https://www.anchorterminal.com/compare/apitemplate-io-vs-layerre.md)\n- [APITemplate.io vs Placid API + MCP](https://www.anchorterminal.com/compare/apitemplate-io-vs-placid.md)\n- [Bannerbear API + MCP vs Layerre](https://www.anchorterminal.com/compare/bannerbear-vs-layerre.md)\n- [Bannerbear API + MCP vs Placid API + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-placid.md)\n- [Canva REST APIs + MCP vs Layerre](https://www.anchorterminal.com/compare/canva-vs-layerre.md)\n- [Canva REST APIs + MCP vs Placid API + MCP](https://www.anchorterminal.com/compare/canva-vs-placid.md)\n- [Contentdrips API and MCP vs Layerre](https://www.anchorterminal.com/compare/contentdrips-vs-layerre.md)\n- [Contentdrips API and MCP vs Placid API + MCP](https://www.anchorterminal.com/compare/contentdrips-vs-placid.md)\n- [Creatomate vs Layerre](https://www.anchorterminal.com/compare/creatomate-vs-layerre.md)\n- [Creatomate vs Placid API + MCP](https://www.anchorterminal.com/compare/creatomate-vs-placid.md)\n- [DynaPictures vs Layerre](https://www.anchorterminal.com/compare/dynapictures-vs-layerre.md)\n- [DynaPictures vs Placid API + MCP](https://www.anchorterminal.com/compare/dynapictures-vs-placid.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 Pixelixe](https://www.anchorterminal.com/compare/layerre-vs-pixelixe.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- [Photoroom API vs Placid API + MCP](https://www.anchorterminal.com/compare/photoroom-vs-placid.md)\n- [Pixelixe vs Placid API + MCP](https://www.anchorterminal.com/compare/pixelixe-vs-placid.md)\n- [Placid API + MCP vs PostNitro](https://www.anchorterminal.com/compare/placid-vs-postnitro.md)\n- [Placid API + MCP vs Robolly](https://www.anchorterminal.com/compare/placid-vs-robolly.md)\n- [Placid API + MCP vs Shotstack](https://www.anchorterminal.com/compare/placid-vs-shotstack.md)\n- [Placid API + MCP vs Templated API + MCP](https://www.anchorterminal.com/compare/placid-vs-templated.md)\n- [Abyssale vs Layerre](https://www.anchorterminal.com/compare/abyssale-vs-layerre.md)\n- [Abyssale vs Placid API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-placid.md)\n- [Layerre vs Osmo CLI](https://www.anchorterminal.com/compare/layerre-vs-osmo-cli.md)\n- [Osmo CLI vs Placid API + MCP](https://www.anchorterminal.com/compare/osmo-cli-vs-placid.md)\n- [Pictify vs Placid API + MCP](https://www.anchorterminal.com/compare/pictify-vs-placid.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 Placid API + MCP",
        "url": ""
      }
    ],
    "description": "Layerre scores 57.6 (C) to Placid's 43 (E) for design templates. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Layerre C 57.6",
      "Placid API + MCP E 43",
      "scores"
    ],
    "h1": "Layerre vs Placid API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/layerre-vs-placid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Layerre vs Placid for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/layerre-vs-placid"
  },
  "tokens": {
    "markdown": 4400,
    "slim": 2480
  },
  "version": 1
}
