{
  "data": {
    "a": {
      "slug": "creatomate",
      "name": "Creatomate",
      "vendor": "Creatomate",
      "vendorUrl": "https://creatomate.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Creatomate renders videos, images and GIFs from templates or from RenderScript, its JSON format. Agents reach it through a REST API with a project key or a hosted MCP server with OAuth.",
      "url": "https://www.anchorterminal.com/tools/creatomate",
      "markdownUrl": "https://www.anchorterminal.com/tools/creatomate.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/creatomate.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/creatomate.json",
      "dns": "creatomate.grade.anchorterminal.com",
      "repo": "https://github.com/creatomate/creatomate-node",
      "license": "Proprietary service under Creatomate's Terms and Conditions. The Node, PHP and Preview SDK libraries on GitHub are MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.creatomate.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "creatomate"
        },
        {
          "registry": "npm",
          "name": "@creatomate/preview"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST calls take a project API key as a bearer token. Each project has one key, copied from Project Settings after a browser signup, with no scopes found in the docs. The MCP server uses OAuth (authorisation code with PKCE S256, dynamic client registration, one scope, `mcp`), and each connection reaches one project. It also accepts the project key as a bearer token for headless use. Connections are listed and revoked under Account Settings.",
      "pricing": "paid",
      "pricingNotes": "Free plan with 50 credits, no card and no time limit, with output limited to 480 px per side. Paid plans are monthly credit allowances that do not carry over. Billed yearly, Essential is $540 (2,000 credits a month), Growth from $1,290 (10,000) and Beyond from $3,290 (50,000); the docs give $54 a month for Essential and $129 for Growth 10K billed monthly. An image is 1 credit and video is width x height x frame rate x seconds / 100,000,000 (checked 2026-11-04).",
      "priceSummary": "$54 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Subscription credits billed through Paddle. No x402, MPP or L402 in the docs, llms.txt or pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 8,
      "popularity": {
        "githubStars": 9,
        "npmWeekly": 12714,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://creatomate.com/docs/api/reference/introduction",
      "llmsTxt": "https://creatomate.com/llms.txt",
      "capabilities": [
        "design.templates",
        "design.render",
        "video.render"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "llms-txt",
        "async-jobs",
        "webhooks",
        "video",
        "images"
      ],
      "lastRelease": "2026-09-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.6,
        "grade": "D",
        "agentReady": false,
        "rank": 1078,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 54,
          "payments": 35,
          "reliability": 40,
          "schema": 53,
          "security": 48,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "A hosted MCP server with eight tools and OAuth with PKCE sits beside a small REST API whose errors carry a hint and a documentation link, a documented rate limit with `Retry-After`, and a free `dry_run`. No status page, changelog, OpenAPI file or security contact was found, and the terms and privacy policy date from June 2022.",
        "bestFor": "Teams that render video, images and GIFs from templates or JSON and want an agent to draft templates and start renders through MCP.",
        "strengths": [
          "Hosted MCP server at `https://api.creatomate.com/mcp` with eight named tools, OAuth authorisation code with PKCE and dynamic client registration",
          "Documented errors return a `hint` and a `documentation` URL on 400, 401, 404 and 429",
          "`dry_run` on `POST /v2/renders` validates a request and returns the effective source with no credits spent",
          "Rate limit of 30 requests per 10 seconds is documented, with `X-RateLimit-*` headers on every response and `Retry-After` on 429",
          "Free plan with 50 credits and no card, public plan prices and a public credit formula (1 credit an image)"
        ],
        "weaknesses": [
          "No status page, incident history or SLA found. `status.creatomate.com` does not resolve",
          "No OpenAPI file and no changelog. `/v1` and `/v2` routes are both documented with no deprecation policy",
          "Credits come only in monthly plans that don't carry over, from $54 a month for 2,000",
          "No security.txt, disclosure policy or certification found, and REST keys have no scopes",
          "Terms and privacy policy are dated 27 June 2022, define the Service as the website, and let Creatomate make user Content available to other users"
        ],
        "agentNotes": [
          "Send `\"dry_run\": true` to `POST /v2/renders` before a paid render. It returns `valid`, `errors`, `warnings` and the effective source",
          "Read `warnings` on every render response. A modification keyed to an unknown element or property name is ignored without an error",
          "Keep under 30 requests per 10 seconds across the whole account, and wait for `Retry-After` on a 429",
          "Download each file when the webhook fires. Renders, their URLs and their status records are deleted after 30 days",
          "Use `render_scale` 0.5 for draft videos, about a quarter of the credits, and remember MCP `create_render` spends credits without a confirmation step from the server"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.6
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 54,
          "payments": 35,
          "reliability": 40,
          "schema": 53,
          "security": 48,
          "transparency": 37
        },
        "provenanceScore": 67,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install creatomate",
        "http": "curl -X POST https://api.creatomate.com/v2/renders -H \"Content-Type: application/json\" -H \"Authorization: Bearer $CREATOMATE_API_KEY\" -d '{\"template_id\": \"YOUR_TEMPLATE_ID\", \"dry_run\": true, \"modifications\": {\"Title-1\": \"Your headline here\"}}'",
        "claudeCode": "claude mcp add creatomate --transport http https://api.creatomate.com/mcp",
        "config": {
          "mcpServers": {
            "creatomate": {
              "url": "https://api.creatomate.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/creatomate"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Essential",
          "unit": "month",
          "usd": 54,
          "note": "2,000 credits, billed monthly, price as stated in the docs"
        },
        {
          "item": "Essential, billed yearly",
          "unit": "month",
          "usd": 45,
          "note": "2,000 credits a month, $540 billed once a year"
        },
        {
          "item": "Growth 10K",
          "unit": "month",
          "usd": 129,
          "note": "10,000 credits, billed monthly, price as stated in the docs"
        },
        {
          "item": "Growth 10K, billed yearly",
          "unit": "month",
          "usd": 108,
          "note": "10,000 credits a month, $1,290 billed once a year"
        },
        {
          "item": "Beyond 50K, billed yearly",
          "unit": "month",
          "usd": 274,
          "note": "50,000 credits a month, $3,290 billed once a year"
        }
      ],
      "provenance": {
        "legalEntity": "Creatomate",
        "domain": "creatomate.com",
        "domainRegistered": "2021-03-27",
        "endpointOnVendorDomain": true,
        "terms": "https://creatomate.com/terms-of-service",
        "privacy": "https://creatomate.com/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms and privacy policy name the company as Creatomate, Leeuwarden, The Netherlands, with no legal form. The site footer gives the Dutch company number 90174356.",
          "Both documents are dated 27 June 2022 and define the Service as the website. They are the only terms and privacy policy published, and the terms cover subscriptions, so they govern API use. No DPA was found.",
          "The API and the MCP server answer at api.creatomate.com, and rendered files are served from cdn.creatomate.com.",
          "creatomate.com/.well-known/security.txt returns 404.",
          "No status page was found. status.creatomate.com does not resolve, and no page we read links to one.",
          "No changelog was found. /changelog returns 404 and /docs/changelog redirects to the docs introduction.",
          "RDAP for creatomate.com gives a registration date of 2021-03-27 and Cloudflare, Inc. as registrar."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/creatomate.json",
      "live": {
        "slug": "creatomate",
        "probe": {
          "target": "https://api.creatomate.com/v2",
          "method": "get",
          "lastAt": "2026-11-07T18:20:19.132453303Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 714,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.95,
          "p50ms24h": 534,
          "p95ms24h": 642,
          "samples24h": 239,
          "samples30d": 7289,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 169,
              "ok": 169
            },
            {
              "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": 246
            },
            {
              "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": 246
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "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": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "creatomate/creatomate-node",
            "version": "1.2.1",
            "released": "2024-09-23",
            "seenAt": "2026-11-06T23:18:17.901284638Z"
          },
          {
            "registry": "npm",
            "name": "@creatomate/preview",
            "version": "1.6.1",
            "seenAt": "2026-11-06T23:18:15.925923832Z"
          },
          {
            "registry": "npm",
            "name": "creatomate",
            "version": "1.2.1",
            "seenAt": "2026-11-06T23:18:15.688611281Z"
          }
        ],
        "githubStars": 9,
        "npmWeekly": 15327,
        "securityTxt": {
          "url": "https://creatomate.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:38.286983677Z"
        },
        "llmsTxt": {
          "url": "https://creatomate.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:13.131093086Z"
        },
        "domain": {
          "domain": "creatomate.com",
          "registered": "2021-03-27",
          "source": "https://rdap.verisign.com/com/v1/domain/creatomate.com",
          "checkedAt": "2026-11-01T14:11:17.446847399Z"
        },
        "pages": [
          {
            "url": "https://creatomate.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:05.558608712Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7679daa5c968"
          },
          {
            "url": "https://creatomate.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:08.266851041Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a4b5ce36278d"
          }
        ],
        "mcpTools": {
          "url": "https://api.creatomate.com/mcp",
          "checkedAt": "2026-11-07T01:43:34.14203954Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:43:34.14203954Z"
        },
        "github": {
          "repo": "creatomate/creatomate-node",
          "checkedAt": "2026-11-02T08:41:52.500950848Z",
          "stars": 9,
          "archived": false,
          "issuesEnabled": false,
          "pushedAt": "2024-09-23T09:46:26Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0
        },
        "updatedAt": "2026-11-07T18:20:19.132453303Z"
      }
    },
    "answer": "Layerre scores 57.6 (C) on agent readiness against Creatomate's 49.6 (D), and leads in 5 of 7 scored categories. Creatomate leads on payments \u0026 pricing.",
    "b": {
      "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"
      }
    },
    "edges": [
      {
        "by": 34,
        "category": "schema",
        "leads": "layerre",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI file linked from the docs or llms.txt (0); the 8 October check of a guessed path on the API host is struck as a request to the product's API. The MCP tool schemas can't be read without an account. llms.txt with 50 Markdown topic links (10). Reference and topic pages state purpose and when to use `dry_run`, templates or raw RenderScript, with an out-of-scope page (16). Render options are typed with ranges and `status` is an enum, but `modifications` and `source` are open objects, and unknown names are ignored without an error (9). Examples in nine languages and a documented error body for 400, 401, 402, 404, 429 and 500 (13). `/v1` and `/v2` paths, no changelog (5). 0+10+16+9+13+5 = 53.",
          "b": "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."
        },
        "scores": {
          "a": 53,
          "b": 87
        }
      },
      {
        "by": 24,
        "category": "maintenance",
        "leads": "layerre",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "No changelog. Dated releases since 6 August are the n8n node 0.2.0 (11 August, per the 8 October npm reading), the rebuilt n8n node v1.0.0 (11 September) and v1.0.1 (19 September, a category metadata fix, half), and `@creatomate/preview` 1.6.1 (3 September, removing a dependency and type definitions from the build, half). The newest release that changes code is n8n v1.0.0, 54 days before the check (20). Three counted entries in 90 days (20, cause evidence; it drops to 0 after 9 November when 0.2.0 leaves the window). Support by email, no public changelog or forum found, and two open GitHub issues across the libraries per the 8 October check (5). The Node library was last tagged 1.2.1 on 23 September 2024 and calls `/v1`, the PHP library was last pushed on 21 October 2024, and the Preview SDK is current (7). No CI in the Node repository (2). 20+20+5+7+2 = 54.",
          "b": "@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."
        },
        "scores": {
          "a": 54,
          "b": 78
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "layerre",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under published terms, with MIT client libraries (15). Render retention of 30 days is stated the same way in the docs, pricing page and llms.txt. The privacy policy is dated 27 June 2022 with no retention period for personal data, no DPA was found, and the terms let Creatomate make user Content available to other users (12). No deprecation policy, and `/v1` and `/v2` are documented side by side with no dates (2). The privacy policy names Paddle, AWS, DigitalOcean, Google Analytics, Cloudflare and GitLab, with no data locations (8). Terms and privacy policy re-read on 4 November, both still dated 27 June 2022. 15+12+2+8 = 37.",
          "b": "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."
        },
        "scores": {
          "a": 52,
          "b": 63
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "creatomate",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). The pricing page now shows its plan prices in the page (Essential $540 a year for 2,000 credits a month, Growth from $1,290 a year for 10,000, Beyond from $3,290 a year for 50,000), the docs give $54 and $129 for the monthly Essential and Growth 10K, and the credit formula per image and per video is public. Credits come only inside monthly plans, with no per-credit price or top-up, so this sits between plan-only and per-unit pricing, as bannerbear, placid and templated are read (15, the earlier partial kept, see open questions). A free plan with 50 credits, no card and no time limit (20). A person signs up in a browser and copies a key or signs in through OAuth (0). 0+15+20+0 = 35.",
          "b": "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."
        },
        "scores": {
          "a": 35,
          "b": 25
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Creatomate",
        "b": "Layerre",
        "name": "Vendor"
      },
      {
        "a": "https://api.creatomate.com/v2",
        "b": "https://api.layerre.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Creatomate's Terms and Conditions. The Node, PHP and Preview SDK libraries on GitHub are MIT",
        "b": "MIT for the MCP server. The Layerre API is a closed service under terms last updated 13 August 2026",
        "name": "Licence"
      },
      {
        "a": "8",
        "b": "13",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.layerre/layerre",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-19",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "2022-06-27",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2022-06-27",
        "b": "no date given",
        "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": "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": "9 stars, 13k npm/wk",
        "b": "119 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Layerre scores 57.6 (C) on agent readiness against Creatomate's 49.6 (D), and leads in 5 of 7 scored categories. Creatomate leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Creatomate or Layerre?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Creatomate and Layerre need an API key?"
      },
      {
        "answer": "Yes. Creatomate has a hosted endpoint at https://api.creatomate.com/v2 and Layerre at https://api.layerre.com/v1.",
        "question": "Can an agent call Creatomate and Layerre without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 35 against 25"
        ],
        "also": null,
        "goodFor": "Teams that render video, images and GIFs from templates or JSON and want an agent to draft templates and start renders through MCP.",
        "slug": "creatomate",
        "watchFor": "No status page, incident history or SLA found. `status.creatomate.com` does not resolve"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 53",
          "Maintenance \u0026 community, 78 against 54",
          "Transparency \u0026 trust, 63 against 52"
        ],
        "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"
      }
    ],
    "history": {
      "creatomate": [
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-11-04",
          "delta": 1.8,
          "from": 47.8,
          "fromGrade": "D",
          "to": 49.6,
          "toGrade": "D"
        },
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": -0.2,
          "from": 48,
          "fromGrade": "D",
          "to": 47.8,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 47.7,
          "fromGrade": "D",
          "to": 48,
          "toGrade": "D"
        }
      ],
      "layerre": null
    },
    "job": {
      "capability": "design.templates",
      "name": "Design templates"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-creatomate.json",
        "title": "Adobe Photoshop API vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-creatomate"
      },
      {
        "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-creatomate.json",
        "title": "APITemplate.io vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-creatomate"
      },
      {
        "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/bannerbear-vs-creatomate.json",
        "title": "Bannerbear API + MCP vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-creatomate"
      },
      {
        "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/canva-vs-creatomate.json",
        "title": "Canva REST APIs + MCP vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/canva-vs-creatomate"
      },
      {
        "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/contentdrips-vs-creatomate.json",
        "title": "Contentdrips API and MCP vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/contentdrips-vs-creatomate"
      },
      {
        "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/creatomate-vs-dynapictures.json",
        "title": "Creatomate vs DynaPictures",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-dynapictures"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-photoroom.json",
        "title": "Creatomate vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-pictify.json",
        "title": "Creatomate vs Pictify",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-pictify"
      },
      {
        "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/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/creatomate-vs-postnitro.json",
        "title": "Creatomate vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-robolly.json",
        "title": "Creatomate vs Robolly",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-shotstack.json",
        "title": "Creatomate vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-templated.json",
        "title": "Creatomate vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-templated"
      },
      {
        "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/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-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/abyssale-vs-creatomate.json",
        "title": "Abyssale vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-creatomate"
      },
      {
        "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/creatomate-vs-osmo-cli.json",
        "title": "Creatomate vs Osmo CLI",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-osmo-cli"
      },
      {
        "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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 2,
        "creatomate": 40,
        "edge": "layerre",
        "key": "reliability",
        "layerre": 42,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "creatomate": 53,
        "edge": "layerre",
        "key": "schema",
        "layerre": 87,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 2,
        "creatomate": 67,
        "edge": "layerre",
        "key": "ergonomics",
        "layerre": 69,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 0,
        "creatomate": 48,
        "edge": "",
        "key": "security",
        "layerre": 48,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "creatomate": 35,
        "edge": "creatomate",
        "key": "payments",
        "layerre": 25,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "creatomate": 54,
        "edge": "layerre",
        "key": "maintenance",
        "layerre": 78,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 11,
        "creatomate": 52,
        "edge": "layerre",
        "key": "transparency",
        "layerre": 63,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Layerre scores 57.6 (C) on agent readiness against Creatomate's 49.6 (D), and leads in 5 of 7 scored categories. Creatomate leads on payments \u0026 pricing. Both do design templates.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "creatomate": "A hosted MCP server with eight tools and OAuth with PKCE sits beside a small REST API whose errors carry a hint and a documentation link, a documented rate limit with `Retry-After`, and a free `dry_run`. No status page, changelog, OpenAPI file or security contact was found, and the terms and privacy policy date from June 2022.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/creatomate-vs-layerre",
    "json": "https://www.anchorterminal.com/compare/creatomate-vs-layerre.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/creatomate-vs-layerre.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/creatomate-vs-layerre.min.md"
  },
  "markdown": "Layerre scores 57.6 (C) on agent readiness against Creatomate's 49.6 (D), and leads in 5 of 7 scored categories. Creatomate leads on payments \u0026 pricing. Both do design templates.\n\n- Creatomate: grade D, 49.6/100, rank #1078 of 1486. Markdown https://www.anchorterminal.com/tools/creatomate.md · JSON https://www.anchorterminal.com/api/v1/tools/creatomate.json\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- 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### Creatomate (D)\n\nGood for: Teams that render video, images and GIFs from templates or JSON and want an agent to draft templates and start renders through MCP.\n\nAhead on:\n- Payments \u0026 pricing, 35 against 25\n\nWatch for: No status page, incident history or SLA found. `status.creatomate.com` does not resolve\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 53\n- Maintenance \u0026 community, 78 against 54\n- Transparency \u0026 trust, 63 against 52\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\n## Why the edge\n\n### Schema \u0026 documentation: Layerre +34\n\n- Creatomate (53): No OpenAPI file linked from the docs or llms.txt (0); the 8 October check of a guessed path on the API host is struck as a request to the product's API. The MCP tool schemas can't be read without an account. llms.txt with 50 Markdown topic links (10). Reference and topic pages state purpose and when to use `dry_run`, templates or raw RenderScript, with an out-of-scope page (16). Render options are typed with ranges and `status` is an enum, but `modifications` and `source` are open objects, and unknown names are ignored without an error (9). Examples in nine languages and a documented error body for 400, 401, 402, 404, 429 and 500 (13). `/v1` and `/v2` paths, no changelog (5). 0+10+16+9+13+5 = 53.\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\n### Maintenance \u0026 community: Layerre +24\n\n- Creatomate (54): No changelog. Dated releases since 6 August are the n8n node 0.2.0 (11 August, per the 8 October npm reading), the rebuilt n8n node v1.0.0 (11 September) and v1.0.1 (19 September, a category metadata fix, half), and `@creatomate/preview` 1.6.1 (3 September, removing a dependency and type definitions from the build, half). The newest release that changes code is n8n v1.0.0, 54 days before the check (20). Three counted entries in 90 days (20, cause evidence; it drops to 0 after 9 November when 0.2.0 leaves the window). Support by email, no public changelog or forum found, and two open GitHub issues across the libraries per the 8 October check (5). The Node library was last tagged 1.2.1 on 23 September 2024 and calls `/v1`, the PHP library was last pushed on 21 October 2024, and the Preview SDK is current (7). No CI in the Node repository (2). 20+20+5+7+2 = 54.\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\n### Transparency \u0026 trust: Layerre +11\n\n- Creatomate (52): Closed service under published terms, with MIT client libraries (15). Render retention of 30 days is stated the same way in the docs, pricing page and llms.txt. The privacy policy is dated 27 June 2022 with no retention period for personal data, no DPA was found, and the terms let Creatomate make user Content available to other users (12). No deprecation policy, and `/v1` and `/v2` are documented side by side with no dates (2). The privacy policy names Paddle, AWS, DigitalOcean, Google Analytics, Cloudflare and GitLab, with no data locations (8). Terms and privacy policy re-read on 4 November, both still dated 27 June 2022. 15+12+2+8 = 37.\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\n### Payments \u0026 pricing: Creatomate +10\n\n- Creatomate (35): No x402, MPP or L402 (0). The pricing page now shows its plan prices in the page (Essential $540 a year for 2,000 credits a month, Growth from $1,290 a year for 10,000, Beyond from $3,290 a year for 50,000), the docs give $54 and $129 for the monthly Essential and Growth 10K, and the credit formula per image and per video is public. Credits come only inside monthly plans, with no per-credit price or top-up, so this sits between plan-only and per-unit pricing, as bannerbear, placid and templated are read (15, the earlier partial kept, see open questions). A free plan with 50 credits, no card and no time limit (20). A person signs up in a browser and copies a key or signs in through OAuth (0). 0+15+20+0 = 35.\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\n## Score by category\n\n| Category | Weight | Creatomate | Layerre | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 42 | Layerre +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 53 | 87 | Layerre +34 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 69 | Layerre +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 48 | 48 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 25 | Creatomate +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 54 | 78 | Layerre +24 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 63 | Layerre +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.6 · D** | **57.6 · C** | |\n\n## Facts side by side\n\n| Fact | Creatomate | Layerre |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Creatomate | Layerre |\n| Hosted endpoint | `https://api.creatomate.com/v2` | `https://api.layerre.com/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Creatomate's Terms and Conditions. The Node, PHP and Preview SDK libraries on GitHub are MIT | MIT for the MCP server. The Layerre API is a closed service under terms last updated 13 August 2026 |\n| Tools exposed | 8 | 13 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.layerre/layerre` |\n| Last release | 2026-09-19 | 2026-10-29 |\n| Terms last updated | 2022-06-27 | no date given |\n| Privacy policy last updated | 2022-06-27 | no date given |\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 | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 9 stars, 13k npm/wk | 119 npm/wk |\n| Agent reviews | 3.3/5 (4) | none |\n\n## How the scores have moved\n\n### Creatomate\n\n- +1.8 on 4 November 2026: new evidence\n- -0.2 on 28 October 2026: new evidence\n- +0.3 on 27 October 2026: checklist\n\n### Layerre\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Creatomate.** A hosted MCP server with eight tools and OAuth with PKCE sits beside a small REST API whose errors carry a hint and a documentation link, a documented rate limit with `Retry-After`, and a free `dry_run`. No status page, changelog, OpenAPI file or security contact was found, and the terms and privacy policy date from June 2022.\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## Before you call either\n\n### Creatomate\n\n1. Send `\"dry_run\": true` to `POST /v2/renders` before a paid render. It returns `valid`, `errors`, `warnings` and the effective source\n2. Read `warnings` on every render response. A modification keyed to an unknown element or property name is ignored without an error\n3. Keep under 30 requests per 10 seconds across the whole account, and wait for `Retry-After` on a 429\n4. Download each file when the webhook fires. Renders, their URLs and their status records are deleted after 30 days\n5. Use `render_scale` 0.5 for draft videos, about a quarter of the credits, and remember MCP `create_render` spends credits without a confirmation step from the server\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## Questions\n\n### Which is better for AI agents, Creatomate or Layerre?\n\nLayerre scores 57.6 (C) on agent readiness against Creatomate's 49.6 (D), and leads in 5 of 7 scored categories. Creatomate leads on payments \u0026 pricing.\n\n### Do Creatomate and Layerre need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Creatomate and Layerre without installing anything?\n\nYes. Creatomate has a hosted endpoint at https://api.creatomate.com/v2 and Layerre at https://api.layerre.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/creatomate-vs-layerre.json, and with the fewest tokens: https://www.anchorterminal.com/compare/creatomate-vs-layerre.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"creatomate\", \"b\": \"layerre\"}`. From a terminal: `anchor compare creatomate layerre`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/creatomate.json and https://www.anchorterminal.com/api/v1/tools/layerre.json\n\n## Other comparisons with Creatomate or Layerre\n\n- [Adobe Photoshop API vs Creatomate](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-creatomate.md)\n- [Adobe Photoshop API vs Layerre](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre.md)\n- [APITemplate.io vs Creatomate](https://www.anchorterminal.com/compare/apitemplate-io-vs-creatomate.md)\n- [APITemplate.io vs Layerre](https://www.anchorterminal.com/compare/apitemplate-io-vs-layerre.md)\n- [Bannerbear API + MCP vs Creatomate](https://www.anchorterminal.com/compare/bannerbear-vs-creatomate.md)\n- [Bannerbear API + MCP vs Layerre](https://www.anchorterminal.com/compare/bannerbear-vs-layerre.md)\n- [Canva REST APIs + MCP vs Creatomate](https://www.anchorterminal.com/compare/canva-vs-creatomate.md)\n- [Canva REST APIs + MCP vs Layerre](https://www.anchorterminal.com/compare/canva-vs-layerre.md)\n- [Contentdrips API and MCP vs Creatomate](https://www.anchorterminal.com/compare/contentdrips-vs-creatomate.md)\n- [Contentdrips API and MCP vs Layerre](https://www.anchorterminal.com/compare/contentdrips-vs-layerre.md)\n- [Creatomate vs DynaPictures](https://www.anchorterminal.com/compare/creatomate-vs-dynapictures.md)\n- [Creatomate vs Photoroom API](https://www.anchorterminal.com/compare/creatomate-vs-photoroom.md)\n- [Creatomate vs Pictify](https://www.anchorterminal.com/compare/creatomate-vs-pictify.md)\n- [Creatomate vs Pixelixe](https://www.anchorterminal.com/compare/creatomate-vs-pixelixe.md)\n- [Creatomate vs Placid API + MCP](https://www.anchorterminal.com/compare/creatomate-vs-placid.md)\n- [Creatomate vs PostNitro](https://www.anchorterminal.com/compare/creatomate-vs-postnitro.md)\n- [Creatomate vs Robolly](https://www.anchorterminal.com/compare/creatomate-vs-robolly.md)\n- [Creatomate vs Shotstack](https://www.anchorterminal.com/compare/creatomate-vs-shotstack.md)\n- [Creatomate vs Templated API + MCP](https://www.anchorterminal.com/compare/creatomate-vs-templated.md)\n- [DynaPictures vs Layerre](https://www.anchorterminal.com/compare/dynapictures-vs-layerre.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 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- [Abyssale vs Creatomate](https://www.anchorterminal.com/compare/abyssale-vs-creatomate.md)\n- [Abyssale vs Layerre](https://www.anchorterminal.com/compare/abyssale-vs-layerre.md)\n- [Creatomate vs Osmo CLI](https://www.anchorterminal.com/compare/creatomate-vs-osmo-cli.md)\n- [Layerre vs Osmo CLI](https://www.anchorterminal.com/compare/layerre-vs-osmo-cli.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": "Creatomate vs Layerre",
        "url": ""
      }
    ],
    "description": "Layerre scores 57.6 (C) to Creatomate's 49.6 (D) for design templates. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Creatomate D 49.6",
      "Layerre C 57.6",
      "scores"
    ],
    "h1": "Creatomate vs Layerre",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/creatomate-vs-layerre",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Creatomate vs Layerre for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/creatomate-vs-layerre"
  },
  "tokens": {
    "markdown": 4050,
    "slim": 2030
  },
  "version": 1
}
