{
  "data": {
    "similar": [
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/canva.json",
        "name": "Canva REST APIs + MCP",
        "score": 64.3,
        "shared": [
          "design.templates",
          "design.render",
          "video.render"
        ],
        "slug": "canva"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/templated.json",
        "name": "Templated API + MCP",
        "score": 61.2,
        "shared": [
          "design.templates",
          "design.render",
          "video.render"
        ],
        "slug": "templated"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/bannerbear.json",
        "name": "Bannerbear API + MCP",
        "score": 60.5,
        "shared": [
          "design.templates",
          "design.render",
          "video.render"
        ],
        "slug": "bannerbear"
      },
      {
        "grade": "E",
        "json": "https://www.anchorterminal.com/tools/placid.json",
        "name": "Placid API + MCP",
        "score": 42.9,
        "shared": [
          "design.templates",
          "design.render",
          "video.render"
        ],
        "slug": "placid"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/shotstack.json",
        "name": "Shotstack",
        "score": 65.3,
        "shared": [
          "design.templates",
          "design.render"
        ],
        "slug": "shotstack"
      },
      {
        "grade": "E",
        "json": "https://www.anchorterminal.com/tools/adobe-photoshop-api.json",
        "name": "Adobe Photoshop API",
        "score": 43.9,
        "shared": [
          "design.templates",
          "design.render"
        ],
        "slug": "adobe-photoshop-api"
      }
    ],
    "tool": {
      "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",
      "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": "Trial with 50 credits and no card, with output limited to 480 px per side. Paid plans are monthly credit allowances that do not carry over. The docs name Essential at $54 a month (2,000 credits) and Growth 10K at $129 (10,000 credits). Other plan prices are drawn by a Paddle script and were not read. An image is 1 credit and video is width x height x frame rate x seconds / 100,000,000 (checked 2026-10-08).",
      "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-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.7,
        "grade": "D",
        "agentReady": false,
        "rank": 737,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 34,
          "payments": 35,
          "reliability": 40,
          "schema": 53,
          "security": 48,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 40,
            "points": 8,
            "reason": "Hosted lines. No status page found. status.creatomate.com does not resolve and no page we read links to one (0). No readable incident history (5). 30 requests per 10 seconds per account, documented (15). `Retry-After` on 429, `X-RateLimit-*` headers on every response, which we saw first-hand, and advice to queue requests, but no idempotency key for renders, which are writes (10). No SLA found on the pricing page, in the docs or in the terms (0). The REST API and MCP server carry no beta label (10)."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 53,
            "points": 8.61,
            "reason": "No OpenAPI file found (api.creatomate.com/openapi.json returns 404), and the MCP tool schemas can't be read without an account (0). llms.txt with 27 Markdown topic pages and llms-full.txt (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 with five status codes (13). `/v1` and `/v2` paths, no changelog (5)."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 67,
            "points": 10.89,
            "reason": "Eight MCP tools by the vendor's list, definitions unseen, and the template list omits sources (22). A `tags` filter on the template list, with no pagination, limit or render list found (6). Every failure returns a `hint` and a `documentation` URL, confirmed on a 401, plus advisory `errors` and `warnings` and a free `dry_run` (20). No idempotency key. `dry_run` and status polling are safe, template delete is described as recoverable for 30 days, and MCP annotations were not readable (8). `template_id` alone starts a render, and the Node and PHP libraries are official but last published in 2024 (11)."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 48,
            "points": 8.4,
            "reason": "MCP uses OAuth authorisation code with PKCE S256 and dynamic client registration, one scope, with connections revocable per application. REST uses one unscoped key per project, and key rotation is not documented (22). Each MCP connection reaches one project and a project can have a monthly credit budget, but there is no read-only mode and no server-side confirmation before a render or delete (8). Returns the account's own templates and renders (10). Account Settings lists MCP connections with last use, and the dashboard has an API log of renders (8). No security.txt, disclosure policy, bounty or certification found (0)."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 35,
            "points": 4.38,
            "reason": "No x402, MPP or L402 (0). The credit formula per image and per video is public, and the docs state $54 and $129 for two plans, but the pricing page's plan prices are drawn by a Paddle script and did not render for us (15). Trial with 50 credits and no card (20). A person signs up in a browser and copies a key or signs in through OAuth (0)."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 34,
            "points": 2.98,
            "reason": "No changelog. The newest dated release we found is `@creatomate/preview` 1.6.1 on 3 September 2026, 35 days before the check (20). Two dated releases in 90 days, that one and the n8n node 0.2.0 on 11 August 2026 (0). Support by email, no public changelog or forum found, and two open GitHub issues across the libraries (5). The Node library was last published 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)."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 51,
            "points": 4.46,
            "note": "editorial 37, provenance 65",
            "reason": "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)."
          }
        ],
        "assessment": {
          "date": "2026-10-08",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "Eight MCP tools by the vendor's list, definitions unseen, and the template list omits sources (22). A `tags` filter on the template list, with no pagination, limit or render list found (6). Every failure returns a `hint` and a `documentation` URL, confirmed on a 401, plus advisory `errors` and `warnings` and a free `dry_run` (20). No idempotency key. `dry_run` and status polling are safe, template delete is described as recoverable for 30 days, and MCP annotations were not readable (8). `template_id` alone starts a render, and the Node and PHP libraries are official but last published in 2024 (11).",
            "maintenance": "No changelog. The newest dated release we found is `@creatomate/preview` 1.6.1 on 3 September 2026, 35 days before the check (20). Two dated releases in 90 days, that one and the n8n node 0.2.0 on 11 August 2026 (0). Support by email, no public changelog or forum found, and two open GitHub issues across the libraries (5). The Node library was last published 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).",
            "payments": "No x402, MPP or L402 (0). The credit formula per image and per video is public, and the docs state $54 and $129 for two plans, but the pricing page's plan prices are drawn by a Paddle script and did not render for us (15). Trial with 50 credits and no card (20). A person signs up in a browser and copies a key or signs in through OAuth (0).",
            "reliability": "Hosted lines. No status page found. status.creatomate.com does not resolve and no page we read links to one (0). No readable incident history (5). 30 requests per 10 seconds per account, documented (15). `Retry-After` on 429, `X-RateLimit-*` headers on every response, which we saw first-hand, and advice to queue requests, but no idempotency key for renders, which are writes (10). No SLA found on the pricing page, in the docs or in the terms (0). The REST API and MCP server carry no beta label (10).",
            "schema": "No OpenAPI file found (api.creatomate.com/openapi.json returns 404), and the MCP tool schemas can't be read without an account (0). llms.txt with 27 Markdown topic pages and llms-full.txt (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 with five status codes (13). `/v1` and `/v2` paths, no changelog (5).",
            "security": "MCP uses OAuth authorisation code with PKCE S256 and dynamic client registration, one scope, with connections revocable per application. REST uses one unscoped key per project, and key rotation is not documented (22). Each MCP connection reaches one project and a project can have a monthly credit budget, but there is no read-only mode and no server-side confirmation before a render or delete (8). Returns the account's own templates and renders (10). Account Settings lists MCP connections with last use, and the dashboard has an API log of renders (8). No security.txt, disclosure policy, bounty or certification found (0).",
            "transparency": "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)."
          },
          "sources": [
            {
              "what": "MCP integration guide",
              "url": "https://creatomate.com/docs/fundamentals/getting-started/mcp-integration",
              "seen": "2026-10-08"
            },
            {
              "what": "REST API reference",
              "url": "https://creatomate.com/docs/api/reference/introduction",
              "seen": "2026-10-08"
            },
            {
              "what": "create a render",
              "url": "https://creatomate.com/docs/api/reference/create-a-render",
              "seen": "2026-10-08"
            },
            {
              "what": "limits and concurrency",
              "url": "https://creatomate.com/docs/api/reference/limits-and-concurrency",
              "seen": "2026-10-08"
            },
            {
              "what": "file retention",
              "url": "https://creatomate.com/docs/api/reference/file-retention",
              "seen": "2026-10-08"
            },
            {
              "what": "API key",
              "url": "https://creatomate.com/docs/api/reference/where-can-i-find-my-api-key",
              "seen": "2026-10-08"
            },
            {
              "what": "llms.txt",
              "url": "https://creatomate.com/llms.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "API notes for agents",
              "url": "https://creatomate.com/llms/api.md",
              "seen": "2026-10-08"
            },
            {
              "what": "quick start and dry_run",
              "url": "https://creatomate.com/llms/quick-start.md",
              "seen": "2026-10-08"
            },
            {
              "what": "validation errors",
              "url": "https://creatomate.com/llms/validation-errors.md",
              "seen": "2026-10-08"
            },
            {
              "what": "credits",
              "url": "https://creatomate.com/docs/account/how-are-credits-calculated",
              "seen": "2026-10-08"
            },
            {
              "what": "how pricing works",
              "url": "https://creatomate.com/docs/account/how-does-the-pricing-work",
              "seen": "2026-10-08"
            },
            {
              "what": "pricing page",
              "url": "https://creatomate.com/pricing",
              "seen": "2026-10-08"
            },
            {
              "what": "terms and conditions",
              "url": "https://creatomate.com/terms-of-service",
              "seen": "2026-10-08"
            },
            {
              "what": "privacy policy",
              "url": "https://creatomate.com/privacy-policy",
              "seen": "2026-10-08"
            },
            {
              "what": "about page",
              "url": "https://creatomate.com/about-us",
              "seen": "2026-10-08"
            },
            {
              "what": "OAuth authorisation server metadata",
              "url": "https://api.creatomate.com/.well-known/oauth-authorization-server",
              "seen": "2026-10-08"
            },
            {
              "what": "unauthenticated API response and headers",
              "url": "https://api.creatomate.com/v2/templates",
              "seen": "2026-10-08"
            },
            {
              "what": "Node library",
              "url": "https://github.com/creatomate/creatomate-node",
              "seen": "2026-10-08"
            },
            {
              "what": "npm registry, creatomate",
              "url": "https://registry.npmjs.org/creatomate",
              "seen": "2026-10-08"
            },
            {
              "what": "npm registry, Preview SDK",
              "url": "https://registry.npmjs.org/@creatomate/preview",
              "seen": "2026-10-08"
            },
            {
              "what": "RDAP",
              "url": "https://rdap.org/domain/creatomate.com",
              "seen": "2026-10-08"
            }
          ],
          "openQuestions": [
            "unchecked: the plan prices on creatomate.com/pricing, which a Paddle script draws in the browser. Only the $54 and $129 figures in the docs were read",
            "unchecked: the MCP tool schemas, descriptions and annotations, which need a signed-in account",
            "No status page, changelog, SLA, DPA, security contact or deprecation policy was found on the pages we read",
            "The docs page for template delete does not mention recovery, while llms.txt says a delete is recoverable for 30 days",
            "The render `status` list differs between the docs page (six values) and llms.txt (seven, adding `cancelled`)",
            "The legal form of the company is not stated. The terms name Creatomate, Leeuwarden, and the footer gives company number 90174356",
            "Whether failed renders are charged credits, and whether a project API key can be rotated, were not found",
            "GitHub star count is for creatomate/creatomate-node as returned by the GitHub API"
          ]
        },
        "negative": 0,
        "verdict": "A hosted MCP server with eight tools, OAuth with PKCE and per-project connections sits beside a small REST API whose errors carry a hint and a documentation link, and `dry_run` validates a render at no cost. 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",
          "Every API failure returns a `hint` and a `documentation` URL, confirmed first-hand on a 401",
          "`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",
          "Trial with 50 credits and no card, and a public credit formula (1 credit an image, 1 credit per 100 million video pixels)"
        ],
        "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",
          "Plan prices on the pricing page are drawn by a Paddle script. The docs name only $54 (Essential) and $129 (Growth 10K)",
          "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": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.7
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 34,
          "payments": 35,
          "reliability": 40,
          "schema": 53,
          "security": 48,
          "transparency": 37
        },
        "provenanceScore": 65
      },
      "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"
      },
      "notable": [
        "The hosted MCP server lists eight tools, `get_guide`, `list_templates`, `get_template`, `create_template`, `update_template`, `delete_template`, `create_render` and `get_render` (https://creatomate.com/docs/fundamentals/getting-started/mcp-integration)",
        "The MCP endpoint answers 401 with a `WWW-Authenticate` header pointing at OAuth protected-resource metadata, and the authorisation server metadata lists PKCE S256, a registration endpoint and the single scope `mcp` (https://api.creatomate.com/.well-known/oauth-authorization-server)",
        "`dry_run` on `POST /v2/renders` validates without rendering and returns `valid`, `errors`, `warnings` and the effective source (https://creatomate.com/llms/quick-start.md)",
        "The rate limit is 30 requests per 10 seconds per account, and concurrency allows about 20 per cent of the monthly credits in 24 hours (https://creatomate.com/docs/api/reference/limits-and-concurrency)",
        "Renders are hosted for up to 30 days, then the file, the status record and the API log entry are deleted (https://creatomate.com/docs/api/reference/file-retention)",
        "llms.txt and 27 topic pages under `/llms/` carry instructions addressed to AI models, such as rules on what to say to the user. We recorded them and did not act on them (https://creatomate.com/llms.txt)",
        "The site footer says Creatomate is a registered company from the Netherlands, number 90174356, and the about page names two founders (https://creatomate.com/about-us)"
      ],
      "area": "design-diagrams",
      "details": [
        {
          "label": "REST API",
          "value": "`https://api.creatomate.com`. `POST /v2/renders`, `GET /v2/renders/:id`, and create, list, get, update and delete on `/v2/templates`. `/v1/renders` returns an array and renders by tag, and `/v1/feeds` reads feeds (https://creatomate.com/llms/api.md)"
        },
        {
          "label": "MCP server",
          "value": "Hosted at `https://api.creatomate.com/mcp` over Streamable HTTP, or `/mcp/YOUR-PROJECT-ID` to fix the project. Eight tools. OAuth sign-in, or the project API key as a bearer token"
        },
        {
          "label": "Read and write",
          "value": "Templates read and write, renders create and read. Template delete answers 204, and llms.txt describes it as a soft delete recoverable for 30 days"
        },
        {
          "label": "Render formats",
          "value": "MP4, JPG, PNG and GIF, from a template with `modifications` or from raw RenderScript"
        },
        {
          "label": "Render speed",
          "value": "Asynchronous. `POST /v2/renders` answers 202, then poll or pass `webhook_url`. The docs say images are usually ready within seconds and videos can take much longer"
        },
        {
          "label": "Rate limits",
          "value": "30 requests per 10 seconds per account across all projects. Every response carries `X-RateLimit-Limit`, `-Remaining` and `-Reset`, and a 429 carries `Retry-After`"
        },
        {
          "label": "Errors",
          "value": "`{\"hint\", \"documentation\"}` on 400, 401, 402 (out of credits), 404 and 429. Render responses may add advisory `errors` and `warnings`"
        },
        {
          "label": "Credits",
          "value": "1 credit an image at any resolution. Video is width x height x frame rate x seconds / 100,000,000, rounded up, about 14 credits a minute at 720p and 25 fps"
        },
        {
          "label": "Free tier",
          "value": "Trial with 50 credits, no card, output limited to 480 px per side per llms.txt"
        },
        {
          "label": "Retention",
          "value": "Renders hosted for up to 30 days. Template and feed media stays while in use and counts towards plan storage (5 GB, 50 GB or 500 GB)"
        },
        {
          "label": "Spend controls",
          "value": "A monthly credit budget per project, and `render_scale` for cheaper drafts"
        },
        {
          "label": "SDKs",
          "value": "Node `creatomate` 1.2.1 (23 September 2024, calls `/v1`), PHP library (last pushed 21 October 2024), `@creatomate/preview` 1.6.1 for in-browser preview (3 September 2026), an n8n node 0.2.0 (11 August 2026). All MIT"
        },
        {
          "label": "AI providers",
          "value": "ElevenLabs, OpenAI speech and Stability AI run on the customer's own provider keys, set in Project Settings"
        },
        {
          "label": "Billing",
          "value": "Paddle is the payment processor named in the privacy policy, and the pricing page loads prices from Paddle"
        }
      ],
      "unitPrices": [
        {
          "item": "Essential",
          "unit": "month",
          "usd": 54,
          "note": "2,000 credits, price as stated in the docs"
        },
        {
          "item": "Growth 10K",
          "unit": "month",
          "usd": 129,
          "note": "10,000 credits, price as stated in the docs"
        }
      ],
      "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": 65,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Creatomate",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "creatomate.com, registered 2021-03-27 (5 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "api.creatomate.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 6 of the 7 things a reader expects",
            "points": 9.1,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 8 of the 8 things a reader expects",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Status page",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Changelog",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://creatomate.com/terms-of-service",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2022-06-27",
            "words": 3518,
            "points": 9.1,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last Updated: June 27, 2022",
                "says": "Last updated 2022-06-27"
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "The laws of the Country, excluding its conflicts of law rules, shall govern this Terms and Your use of the Service."
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "…be liable for any special, incidental, indirect, or consequential damages whatsoever (including, but not limited to, damages for loss of profits, loss of data or other information, for business interruption, for personal injury, loss of privacy arising out of or in any way related to the use of or inability to use the…",
                "says": "Rules out indirect and consequential losses, with no cap named in this sentence"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "We may terminate or suspend Your Account immediately, without prior notice or liability, for any reason whatsoever, including without limitation if You breach these Terms and Conditions."
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "If a revision is material We will make reasonable efforts to provide at least 30 days' notice prior to any new terms taking effect.",
                "says": "Gives 30 days of notice before a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "If You disagree with any part of these Terms and Conditions then You may not access the Service."
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": false
              }
            ],
            "toKnow": [
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "We may terminate or suspend Your Account immediately, without prior notice or liability, for any reason whatsoever, including without limitation if You breach these Terms and Conditions."
              },
              {
                "key": "old",
                "label": "Has not been updated for three years or more",
                "found": true,
                "quote": "Last Updated: June 27, 2022"
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "The licence over posted content includes the right to make it available to other users of the service, who may also use it.",
                "quote": "You agree that this license includes the right for Us to make Your Content available to other users of the Service, who may also use Your Content subject to these Terms."
              },
              {
                "date": "2026-10-08",
                "text": "Liability is limited to the amount paid through the service, or 100 US dollars where nothing was purchased.",
                "quote": "Notwithstanding any damages that You might incur, the entire liability of the Company and any of its suppliers under any provision of this Terms and Your exclusive remedy for all of the foregoing shall be limited to the amount actually paid by You through the Service or 100 USD"
              },
              {
                "date": "2026-10-08",
                "text": "The customer agrees to keep a complete copy of its content in a location independent of the service.",
                "quote": "You agree to maintain a complete and accurate copy of any Content in a location independent of the Service."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://creatomate.com/privacy-policy",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2022-06-27",
            "words": 4409,
            "points": 10,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last Updated: June 27, 2022",
                "says": "Last updated 2022-06-27"
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "We collect several different types of information for various purposes to provide and improve Our Service to You."
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "We will retain your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy.",
                "says": "For as long as needed, with no period named"
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "Service Provider means any natural or legal person who processes the data on behalf of the Company."
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "For business transfers: we may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business to another company."
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "Under GDPR (General Data Protection Regulation), You can be referred to as the Data Subject or as the User as you are the individual using the Service."
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "Users are able to change their personal information by emailing us at [email protected].",
                "says": "Gives an email address, hidden from our reader by the page"
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction."
              }
            ],
            "toKnow": [
              {
                "key": "old",
                "label": "Has not been updated for three years or more",
                "found": true,
                "quote": "Last Updated: June 27, 2022"
              }
            ]
          }
        ]
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/creatomate.json",
      "live": {
        "slug": "creatomate",
        "probe": {
          "target": "https://api.creatomate.com/v2",
          "method": "get",
          "lastAt": "2026-10-09T09:26:47.330196653Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 512,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 480,
          "p95ms24h": 575,
          "samples24h": 20,
          "samples30d": 20,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "updatedAt": "2026-10-09T09:26:47.330196653Z"
      }
    },
    "verify": {
      "accepts": "a page on creatomate.com or one of its subdomains, or the README of github.com/creatomate/creatomate-node",
      "badgeUrl": "https://www.anchorterminal.com/badges/creatomate.svg",
      "body": {
        "slug": "creatomate",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/creatomate",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/creatomate\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/creatomate.svg\" alt=\"Creatomate on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Creatomate on Anchor Terminal](https://www.anchorterminal.com/badges/creatomate.svg)](https://www.anchorterminal.com/tools/creatomate)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/creatomate\"\u003eCreatomate on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/creatomate",
    "json": "https://www.anchorterminal.com/tools/creatomate.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/creatomate.md",
    "slim": "https://www.anchorterminal.com/tools/creatomate.min.md"
  },
  "markdown": "## Overview\n\n**Grade D · 47.7/100 · rank #737 of 842 · #5 in Programmatic asset production · not agent-ready · confidence medium**\n\n\n## Assessment\n\nA hosted MCP server with eight tools, OAuth with PKCE and per-project connections sits beside a small REST API whose errors carry a hint and a documentation link, and `dry_run` validates a render at no cost. No status page, changelog, OpenAPI file or security contact was found, and the terms and privacy policy date from June 2022.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Creatomate (https://creatomate.com) |\n| Kind | HTTP API |\n| Category | Programmatic asset production (https://www.anchorterminal.com/categories/design-assets) |\n| Transport | HTTP, Streamable HTTP |\n| Endpoint | `https://api.creatomate.com/v2` |\n| Auth | OAuth or key · 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. |\n| Pricing | Paid ($54 / mo) · Trial with 50 credits and no card, with output limited to 480 px per side. Paid plans are monthly credit allowances that do not carry over. The docs name Essential at $54 a month (2,000 credits) and Growth 10K at $129 (10,000 credits). Other plan prices are drawn by a Paddle script and were not read. An image is 1 credit and video is width x height x frame rate x seconds / 100,000,000 (checked 2026-10-08). |\n| x402 | No · Subscription credits billed through Paddle. No x402, MPP or L402 in the docs, llms.txt or pricing page (checked 2026-10-08). |\n| Licence | Proprietary service under Creatomate's Terms and Conditions. The Node, PHP and Preview SDK libraries on GitHub are MIT |\n| Tools exposed | 8 |\n| Packages | npm: `creatomate`; npm: `@creatomate/preview` |\n| Source | https://github.com/creatomate/creatomate-node |\n| Docs | https://creatomate.com/docs/api/reference/introduction |\n| llms.txt | https://creatomate.com/llms.txt |\n| Last release | 2026-09-03 |\n| GitHub stars | 9 (as of 2026-10-08) |\n| npm downloads / week | 12,714 |\n| REST API | `https://api.creatomate.com`. `POST /v2/renders`, `GET /v2/renders/:id`, and create, list, get, update and delete on `/v2/templates`. `/v1/renders` returns an array and renders by tag, and `/v1/feeds` reads feeds (https://creatomate.com/llms/api.md) |\n| MCP server | Hosted at `https://api.creatomate.com/mcp` over Streamable HTTP, or `/mcp/YOUR-PROJECT-ID` to fix the project. Eight tools. OAuth sign-in, or the project API key as a bearer token |\n| Read and write | Templates read and write, renders create and read. Template delete answers 204, and llms.txt describes it as a soft delete recoverable for 30 days |\n| Render formats | MP4, JPG, PNG and GIF, from a template with `modifications` or from raw RenderScript |\n| Render speed | Asynchronous. `POST /v2/renders` answers 202, then poll or pass `webhook_url`. The docs say images are usually ready within seconds and videos can take much longer |\n| Rate limits | 30 requests per 10 seconds per account across all projects. Every response carries `X-RateLimit-Limit`, `-Remaining` and `-Reset`, and a 429 carries `Retry-After` |\n| Errors | `{\"hint\", \"documentation\"}` on 400, 401, 402 (out of credits), 404 and 429. Render responses may add advisory `errors` and `warnings` |\n| Credits | 1 credit an image at any resolution. Video is width x height x frame rate x seconds / 100,000,000, rounded up, about 14 credits a minute at 720p and 25 fps |\n| Free tier | Trial with 50 credits, no card, output limited to 480 px per side per llms.txt |\n| Retention | Renders hosted for up to 30 days. Template and feed media stays while in use and counts towards plan storage (5 GB, 50 GB or 500 GB) |\n| Spend controls | A monthly credit budget per project, and `render_scale` for cheaper drafts |\n| SDKs | Node `creatomate` 1.2.1 (23 September 2024, calls `/v1`), PHP library (last pushed 21 October 2024), `@creatomate/preview` 1.6.1 for in-browser preview (3 September 2026), an n8n node 0.2.0 (11 August 2026). All MIT |\n| AI providers | ElevenLabs, OpenAI speech and Stability AI run on the customer's own provider keys, set in Project Settings |\n| Billing | Paddle is the payment processor named in the privacy policy, and the pricing page loads prices from Paddle |\n| Capabilities | design.templates, design.render, video.render |\n| Tags | hosted, closed-source, mcp, oauth, llms-txt, async-jobs, webhooks, video, images |\n| JSON | https://www.anchorterminal.com/api/v1/tools/creatomate.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-08 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 40 | 8.0 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 53 | 8.6 |\n| Agent ergonomics | 13% | 16.2 | 67 | 10.9 |\n| Security \u0026 auth | 14% | 17.5 | 48 | 8.4 |\n| Payments \u0026 pricing | 10% | 12.5 | 35 | 4.4 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 34 | 3.0 |\n| Transparency \u0026 trust (editorial 37, provenance 65) | 7% | 8.8 | 51 | 4.5 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **47.7 → D** |\n\n### Why each score\n\n- Reliability 40: Hosted lines. No status page found. status.creatomate.com does not resolve and no page we read links to one (0). No readable incident history (5). 30 requests per 10 seconds per account, documented (15). `Retry-After` on 429, `X-RateLimit-*` headers on every response, which we saw first-hand, and advice to queue requests, but no idempotency key for renders, which are writes (10). No SLA found on the pricing page, in the docs or in the terms (0). The REST API and MCP server carry no beta label (10).\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 53: No OpenAPI file found (api.creatomate.com/openapi.json returns 404), and the MCP tool schemas can't be read without an account (0). llms.txt with 27 Markdown topic pages and llms-full.txt (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 with five status codes (13). `/v1` and `/v2` paths, no changelog (5).\n- Agent ergonomics 67: Eight MCP tools by the vendor's list, definitions unseen, and the template list omits sources (22). A `tags` filter on the template list, with no pagination, limit or render list found (6). Every failure returns a `hint` and a `documentation` URL, confirmed on a 401, plus advisory `errors` and `warnings` and a free `dry_run` (20). No idempotency key. `dry_run` and status polling are safe, template delete is described as recoverable for 30 days, and MCP annotations were not readable (8). `template_id` alone starts a render, and the Node and PHP libraries are official but last published in 2024 (11).\n- Security \u0026 auth 48: MCP uses OAuth authorisation code with PKCE S256 and dynamic client registration, one scope, with connections revocable per application. REST uses one unscoped key per project, and key rotation is not documented (22). Each MCP connection reaches one project and a project can have a monthly credit budget, but there is no read-only mode and no server-side confirmation before a render or delete (8). Returns the account's own templates and renders (10). Account Settings lists MCP connections with last use, and the dashboard has an API log of renders (8). No security.txt, disclosure policy, bounty or certification found (0).\n- Payments \u0026 pricing 35: No x402, MPP or L402 (0). The credit formula per image and per video is public, and the docs state $54 and $129 for two plans, but the pricing page's plan prices are drawn by a Paddle script and did not render for us (15). Trial with 50 credits and no card (20). A person signs up in a browser and copies a key or signs in through OAuth (0).\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 34: No changelog. The newest dated release we found is `@creatomate/preview` 1.6.1 on 3 September 2026, 35 days before the check (20). Two dated releases in 90 days, that one and the n8n node 0.2.0 on 11 August 2026 (0). Support by email, no public changelog or forum found, and two open GitHub issues across the libraries (5). The Node library was last published 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).\n- Transparency \u0026 trust 51: 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).\n\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (20 items): https://www.anchorterminal.com/fixes/creatomate.md (JSON https://www.anchorterminal.com/fixes/creatomate.json)\n\n### What we couldn't check\n\n- unchecked: the plan prices on creatomate.com/pricing, which a Paddle script draws in the browser. Only the $54 and $129 figures in the docs were read\n- unchecked: the MCP tool schemas, descriptions and annotations, which need a signed-in account\n- No status page, changelog, SLA, DPA, security contact or deprecation policy was found on the pages we read\n- The docs page for template delete does not mention recovery, while llms.txt says a delete is recoverable for 30 days\n- The render `status` list differs between the docs page (six values) and llms.txt (seven, adding `cancelled`)\n- The legal form of the company is not stated. The terms name Creatomate, Leeuwarden, and the footer gives company number 90174356\n- Whether failed renders are charged credits, and whether a project API key can be rotated, were not found\n- GitHub star count is for creatomate/creatomate-node as returned by the GitHub API\n\n### Sources\n\n- MCP integration guide: \u003chttps://creatomate.com/docs/fundamentals/getting-started/mcp-integration\u003e (seen 2026-10-08)\n- REST API reference: \u003chttps://creatomate.com/docs/api/reference/introduction\u003e (seen 2026-10-08)\n- create a render: \u003chttps://creatomate.com/docs/api/reference/create-a-render\u003e (seen 2026-10-08)\n- limits and concurrency: \u003chttps://creatomate.com/docs/api/reference/limits-and-concurrency\u003e (seen 2026-10-08)\n- file retention: \u003chttps://creatomate.com/docs/api/reference/file-retention\u003e (seen 2026-10-08)\n- API key: \u003chttps://creatomate.com/docs/api/reference/where-can-i-find-my-api-key\u003e (seen 2026-10-08)\n- llms.txt: \u003chttps://creatomate.com/llms.txt\u003e (seen 2026-10-08)\n- API notes for agents: \u003chttps://creatomate.com/llms/api.md\u003e (seen 2026-10-08)\n- quick start and dry_run: \u003chttps://creatomate.com/llms/quick-start.md\u003e (seen 2026-10-08)\n- validation errors: \u003chttps://creatomate.com/llms/validation-errors.md\u003e (seen 2026-10-08)\n- credits: \u003chttps://creatomate.com/docs/account/how-are-credits-calculated\u003e (seen 2026-10-08)\n- how pricing works: \u003chttps://creatomate.com/docs/account/how-does-the-pricing-work\u003e (seen 2026-10-08)\n- pricing page: \u003chttps://creatomate.com/pricing\u003e (seen 2026-10-08)\n- terms and conditions: \u003chttps://creatomate.com/terms-of-service\u003e (seen 2026-10-08)\n- privacy policy: \u003chttps://creatomate.com/privacy-policy\u003e (seen 2026-10-08)\n- about page: \u003chttps://creatomate.com/about-us\u003e (seen 2026-10-08)\n- OAuth authorisation server metadata: \u003chttps://api.creatomate.com/.well-known/oauth-authorization-server\u003e (seen 2026-10-08)\n- unauthenticated API response and headers: \u003chttps://api.creatomate.com/v2/templates\u003e (seen 2026-10-08)\n- Node library: \u003chttps://github.com/creatomate/creatomate-node\u003e (seen 2026-10-08)\n- npm registry, creatomate: \u003chttps://registry.npmjs.org/creatomate\u003e (seen 2026-10-08)\n- npm registry, Preview SDK: \u003chttps://registry.npmjs.org/@creatomate/preview\u003e (seen 2026-10-08)\n- RDAP: \u003chttps://rdap.org/domain/creatomate.com\u003e (seen 2026-10-08)\n\n## Who's behind it (provenance 65/100, checked 2026-10-08)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Creatomate | 20/20 |\n| Domain age | creatomate.com, registered 2021-03-27 (5 years) | 11/15 |\n| Endpoint on the vendor's domain | api.creatomate.com | 15/15 |\n| Terms of service | read, states 6 of the 7 things a reader expects | 9.1/10 |\n| Privacy policy | read, states 8 of the 8 things a reader expects | 10/10 |\n| Status page | not found | 0/10 |\n| Changelog | not found | 0/10 |\n| security.txt | not found | 0/10 |\n\nThe 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.\n\nBoth 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.\n\nThe API and the MCP server answer at api.creatomate.com, and rendered files are served from cdn.creatomate.com.\n\ncreatomate.com/.well-known/security.txt returns 404.\n\nNo status page was found. status.creatomate.com does not resolve, and no page we read links to one.\n\nNo changelog was found. /changelog returns 404 and /docs/changelog redirects to the docs introduction.\n\nRDAP for creatomate.com gives a registration date of 2021-03-27 and Cloudflare, Inc. as registrar.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://creatomate.com/terms-of-service), read 2026-10-08, dated 2022-06-27, states 6 of the 7 things a reader expects.\n\n- To know. Says access can be ended without notice or for any reason. \"We may terminate or suspend Your Account immediately, without prior notice or liability, for any reason whatsoever, including without limitation if You breach these Terms and Conditions.\"\n- To know. Has not been updated for three years or more. \"Last Updated: June 27, 2022\"\n- Gives the date it was last updated. Last updated 2022-06-27.\n- States a limit on its liability. Rules out indirect and consequential losses, with no cap named in this sentence.\n- Says how changes to the terms are announced. Gives 30 days of notice before a change.\n- Not found in the text. Refers to a service level or uptime commitment.\n- Also in the text (2026-10-08). The licence over posted content includes the right to make it available to other users of the service, who may also use it. \"You agree that this license includes the right for Us to make Your Content available to other users of the Service, who may also use Your Content subject to these Terms.\"\n- Also in the text (2026-10-08). Liability is limited to the amount paid through the service, or 100 US dollars where nothing was purchased. \"Notwithstanding any damages that You might incur, the entire liability of the Company and any of its suppliers under any provision of this Terms and Your exclusive remedy for all of the foregoing shall be limited to the amount actually paid by You through the Service or 100 USD\"\n- Also in the text (2026-10-08). The customer agrees to keep a complete copy of its content in a location independent of the service. \"You agree to maintain a complete and accurate copy of any Content in a location independent of the Service.\"\n\n**Privacy policy** (https://creatomate.com/privacy-policy), read 2026-10-08, dated 2022-06-27, states 8 of the 8 things a reader expects.\n\n- To know. Has not been updated for three years or more. \"Last Updated: June 27, 2022\"\n- Gives the date it was last updated. Last updated 2022-06-27.\n- Says how long data is kept. For as long as needed, with no period named.\n- Gives a privacy contact. Gives an email address, hidden from our reader by the page.\n\n## Live (updated 2026-10-09 09:26 UTC)\n\n- Right now: up, HTTP 404, 512 ms, checked 2026-10-09 09:26 UTC (get on `https://api.creatomate.com/v2`)\n- Uptime 24h 100.0% (20 probes) · 30 days 100.0% (20 probes) · p50 480 ms · p95 575 ms\n- Always current: https://www.anchorterminal.com/api/v1/live/creatomate.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| Essential | $54 | per month (plan) | 2,000 credits, price as stated in the docs |\n| Growth 10K | $129 | per month (plan) | 10,000 credits, price as stated in the docs |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- Hosted MCP server at `https://api.creatomate.com/mcp` with eight named tools, OAuth authorisation code with PKCE and dynamic client registration\n- Every API failure returns a `hint` and a `documentation` URL, confirmed first-hand on a 401\n- `dry_run` on `POST /v2/renders` validates a request and returns the effective source with no credits spent\n- Rate limit of 30 requests per 10 seconds is documented, with `X-RateLimit-*` headers on every response and `Retry-After` on 429\n- Trial with 50 credits and no card, and a public credit formula (1 credit an image, 1 credit per 100 million video pixels)\n\n## Weaknesses\n\n- No status page, incident history or SLA found. `status.creatomate.com` does not resolve\n- No OpenAPI file and no changelog. `/v1` and `/v2` routes are both documented with no deprecation policy\n- Plan prices on the pricing page are drawn by a Paddle script. The docs name only $54 (Essential) and $129 (Growth 10K)\n- No security.txt, disclosure policy or certification found, and REST keys have no scopes\n- 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\n\n## Before you call it (notes for agents)\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## Connect\n\nInstall:\n\n```bash\nnpm install creatomate\n```\n\nFirst request:\n\n```bash\ncurl -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\"}}'\n```\n\nClaude Code:\n\n```bash\nclaude mcp add creatomate --transport http https://api.creatomate.com/mcp\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"creatomate\": {\n      \"url\": \"https://api.creatomate.com/mcp\"\n    }\n  }\n}\n```\n\nThrough letme (picks today, calling later): https://letme.dev/creatomate. letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Canva REST APIs + MCP | B | 64.3 | 319 | design.templates, design.render, video.render | no | https://www.anchorterminal.com/tools/canva.md |\n| Templated API + MCP | C | 61.2 | 430 | design.templates, design.render, video.render | no | https://www.anchorterminal.com/tools/templated.md |\n| Bannerbear API + MCP | C | 60.5 | 458 | design.templates, design.render, video.render | no | https://www.anchorterminal.com/tools/bannerbear.md |\n| Placid API + MCP | E | 42.9 | 786 | design.templates, design.render, video.render | no | https://www.anchorterminal.com/tools/placid.md |\n| Shotstack | B | 65.3 | 297 | design.templates, design.render | no | https://www.anchorterminal.com/tools/shotstack.md |\n| Adobe Photoshop API | E | 43.9 | 780 | design.templates, design.render | no | https://www.anchorterminal.com/tools/adobe-photoshop-api.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The hosted MCP server lists eight tools, `get_guide`, `list_templates`, `get_template`, `create_template`, `update_template`, `delete_template`, `create_render` and `get_render` (source: \u003chttps://creatomate.com/docs/fundamentals/getting-started/mcp-integration\u003e)\n- The MCP endpoint answers 401 with a `WWW-Authenticate` header pointing at OAuth protected-resource metadata, and the authorisation server metadata lists PKCE S256, a registration endpoint and the single scope `mcp` (source: \u003chttps://api.creatomate.com/.well-known/oauth-authorization-server\u003e)\n- `dry_run` on `POST /v2/renders` validates without rendering and returns `valid`, `errors`, `warnings` and the effective source (source: \u003chttps://creatomate.com/llms/quick-start.md\u003e)\n- The rate limit is 30 requests per 10 seconds per account, and concurrency allows about 20 per cent of the monthly credits in 24 hours (source: \u003chttps://creatomate.com/docs/api/reference/limits-and-concurrency\u003e)\n- Renders are hosted for up to 30 days, then the file, the status record and the API log entry are deleted (source: \u003chttps://creatomate.com/docs/api/reference/file-retention\u003e)\n- llms.txt and 27 topic pages under `/llms/` carry instructions addressed to AI models, such as rules on what to say to the user. We recorded them and did not act on them (source: \u003chttps://creatomate.com/llms.txt\u003e)\n- The site footer says Creatomate is a registered company from the Netherlands, number 90174356, and the about page names two founders (source: \u003chttps://creatomate.com/about-us\u003e)\n\n## Compare\n\n- [Adobe Photoshop API vs Creatomate](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-creatomate.md): E 43.9 vs D 47.7\n- [Bannerbear API + MCP vs Creatomate](https://www.anchorterminal.com/compare/bannerbear-vs-creatomate.md): C 60.5 vs D 47.7\n- [Canva REST APIs + MCP vs Creatomate](https://www.anchorterminal.com/compare/canva-vs-creatomate.md): B 64.3 vs D 47.7\n- [Creatomate vs Placid API + MCP](https://www.anchorterminal.com/compare/creatomate-vs-placid.md): D 47.7 vs E 42.9\n- [Creatomate vs Shotstack](https://www.anchorterminal.com/compare/creatomate-vs-shotstack.md): D 47.7 vs B 65.3\n- [Creatomate vs Templated API + MCP](https://www.anchorterminal.com/compare/creatomate-vs-templated.md): D 47.7 vs C 61.2\n- [Creatomate vs Osmo CLI](https://www.anchorterminal.com/compare/creatomate-vs-osmo-cli.md): D 47.7 vs E 45.2\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on creatomate.com or one of its subdomains, or the README of github.com/creatomate/creatomate-node. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"creatomate\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/creatomate\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/creatomate.svg\" alt=\"Creatomate on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Creatomate on Anchor Terminal](https://www.anchorterminal.com/badges/creatomate.svg)](https://www.anchorterminal.com/tools/creatomate)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/creatomate\"\u003eCreatomate on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Creatomate is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/creatomate-dark.png\n- Light: https://www.anchorterminal.com/assets/share/creatomate-light.png\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Programmatic asset production",
        "url": "https://www.anchorterminal.com/categories/design-assets"
      },
      {
        "name": "Creatomate",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #737 of 842",
      "OAuth or key auth",
      "0 desk reviews"
    ],
    "h1": "Creatomate",
    "image": "https://www.anchorterminal.com/assets/og/tools-creatomate.png",
    "path": "/tools/creatomate",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Creatomate review for AI agents, grade D (47.7/100) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/tools/creatomate"
  },
  "tokens": {
    "markdown": 6800,
    "slim": 1780
  },
  "version": 1
}
