{
  "data": {
    "similar": [
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/canva.json",
        "name": "Canva REST APIs + MCP",
        "score": 67.3,
        "shared": [
          "design.templates",
          "design.render",
          "design.brand",
          "image.edit"
        ],
        "slug": "canva"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/pictify.json",
        "name": "Pictify",
        "score": 55.7,
        "shared": [
          "design.render",
          "design.templates",
          "pdf.generate",
          "video.generate"
        ],
        "slug": "pictify"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/robolly.json",
        "name": "Robolly",
        "score": 48.4,
        "shared": [
          "design.templates",
          "design.render",
          "pdf.generate",
          "video.generate"
        ],
        "slug": "robolly"
      },
      {
        "grade": "F",
        "json": "https://www.anchorterminal.com/tools/pixelixe.json",
        "name": "Pixelixe",
        "score": 37.3,
        "shared": [
          "design.templates",
          "design.render",
          "image.edit",
          "pdf.generate"
        ],
        "slug": "pixelixe"
      },
      {
        "grade": "F",
        "json": "https://www.anchorterminal.com/tools/contentdrips.json",
        "name": "Contentdrips API and MCP",
        "score": 36.3,
        "shared": [
          "design.templates",
          "design.render",
          "design.brand",
          "pdf.generate"
        ],
        "slug": "contentdrips"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/shotstack.json",
        "name": "Shotstack",
        "score": 67.3,
        "shared": [
          "design.templates",
          "design.render",
          "video.generate"
        ],
        "slug": "shotstack"
      }
    ],
    "tool": {
      "slug": "abyssale",
      "name": "Abyssale",
      "vendor": "Abyssale SAS",
      "vendorUrl": "https://www.abyssale.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Abyssale is a creative automation platform from Paris that renders designs into images, MP4 video, GIFs, HTML5 banner ads and print PDFs, through a REST API, dynamic image URLs, webhooks, official SDKs and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/abyssale",
      "markdownUrl": "https://www.anchorterminal.com/tools/abyssale.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/abyssale.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/abyssale.json",
      "dns": "abyssale.grade.anchorterminal.com",
      "license": "Closed service under the Abyssale terms of service (version 3, 21 July 2026)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.abyssale.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@abyssale/sdk"
        },
        {
          "registry": "pypi",
          "name": "abyssale"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST uses a workspace API key in the `x-api-key` header, created in Workspace settings; test it with `POST /auth`. The MCP server at mcp.abyssale.com uses OAuth through Auth0 with per-tool scopes (`read:design`, `write:design`, `delete:design`, `import:design`, `generate:banner` and others), checked together with the user's workspace role. The two credentials are separate.",
      "pricing": "paid",
      "pricingNotes": "API and MCP come with Pro at $45 a seat a month ($36 yearly) and above; Start at $15 a seat has neither. Suite $75 a seat adds HTML5 and CMYK print PDF. 14-day free trial with no card. Generation credits are charged per format, 1 per image, 1 per second of video, GIF or HTML5, print PDFs by pixel area. Failed generations cost nothing.",
      "priceSummary": "$45 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Seat subscriptions with credit balances. No x402, MPP or L402 in the OpenAPI, the developer docs or llms.txt (checked 2026-11-06). An empty balance returns 429 with an id, not a payment requirement.",
        "endpoints": []
      },
      "toolCount": 20,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://developers.abyssale.com/",
      "llmsTxt": "https://developers.abyssale.com/llms.txt",
      "openapi": "https://developers.abyssale.com/api.yaml",
      "registryName": "com.abyssale/mcp",
      "capabilities": [
        "design.render",
        "design.templates",
        "design.brand",
        "image.edit",
        "pdf.generate",
        "video.generate"
      ],
      "tags": [
        "hosted",
        "openapi",
        "llms-txt",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "oauth",
        "api-key",
        "webhooks",
        "sdk",
        "trial",
        "no-card",
        "eu"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.6,
        "grade": "B",
        "agentReady": false,
        "rank": 411,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 85,
          "payments": 35,
          "reliability": 41,
          "schema": 98,
          "security": 55,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 41,
            "points": 8.2,
            "reason": "Hosted lines, for the REST API and the remote MCP server. No status page was linked from the site or the docs, and status.abyssale.com did not answer (0). No readable incident history (5). Rate limits published in full, 10 requests a second globally and per-workspace tiers with per-minute and per-hour budgets (15). 429s carry Retry-After and X-RateLimit headers, three 429 ids say which limit was hit, failed generations cost nothing, and webhooks carry a delivery id to deduplicate on. No idempotency key on generation requests (13 of 15). The terms promise best-effort availability and leave SLAs to Enterprise contracts, so none is published (0). Generation and the MCP server are generally available, while Design Import, the JSON authoring route, is labelled alpha (8 of 10). 0 + 5 + 15 + 13 + 0 + 8 = 41.",
            "checked": "2026-11-06"
          },
          {
            "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": 98,
            "points": 15.93,
            "reason": "A 424 KB OpenAPI file at developers.abyssale.com/api.yaml with 34 operations, from which the reference pages are generated (25). A detailed llms.txt that states the base URL, auth, rate limits, error envelope and webhook signing up front (10). Pages say what each endpoint is for and when to use another, such as synchronous versus asynchronous generation and designs versus workspace templates, and the MCP permissions page says what each tool can break (19 of 20). Typed parameters with enums, ranges and required fields across layers and formats (14 of 15). One error envelope everywhere, an error catalogue with machine-readable ids and what to do for each, and worked examples (15). Date-based versions named in every response and a dated changelog in Keep a Changelog form with a Breaking section first; the MCP server has its own semver changelog (15). 25 + 10 + 19 + 14 + 15 + 15 = 98.",
            "checked": "2026-11-06"
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 85,
            "points": 13.81,
            "reason": "20 MCP tools (15 for 11 to 30), plus 5 because OAuth scopes per tool group let a client be approved for reads only (20 of 25). Design listings search by words in any order, filter by project, orientation, size, format and dates, sort and order, and say honestly when a page is past the end; listing tools refuse unsupported options rather than ignore them, per MCP 1.2.0 (19 of 20). One envelope with an `id` to branch on, and error docs that say which errors a retry never fixes (19 of 20). The permissions page marks each tool read-only, mutating or destructive, but MCP annotations couldn't be confirmed on the closed server, and generation has no idempotency key (12 of 20). Official Node.js and Python SDKs with retry behaviour and polling helpers (15). 20 + 19 + 19 + 12 + 15 = 85.",
            "checked": "2026-11-06"
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 55,
            "points": 9.63,
            "reason": "The MCP server uses OAuth through Auth0 with scopes per tool group (`read:design`, `write:design`, `delete:design`, `import:design`, `generate:banner`, `read:credits` and others), enforced alongside the user's workspace role, and approval is per client connection. The REST API uses a workspace `x-api-key` with no scopes documented (28 of 30). A client can be approved for reads only, and deleting needs its own scope, but nothing on the server asks for confirmation; the docs leave that to the client per the MCP spec (17 of 20). Tools return the workspace's own designs and fonts; image layers can point at outside URLs (10 of 15). No audit log or per-call record was found (0). No security.txt, disclosure policy, bug bounty or certification found (0). 28 + 17 + 10 + 0 + 0 = 55.",
            "checked": "2026-11-06"
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 35,
            "points": 4.38,
            "reason": "No x402, MPP or L402 (0). Seat prices are public and the credit cost of every output is published to the format, with worked examples, but a credit's price outside the plan wasn't found (15 of 20). 14-day free trial with no card (20). A person signs up in the browser; the MCP OAuth flow needs a human login (0). 0 + 15 + 20 + 0 = 35.",
            "checked": "2026-11-06"
          },
          {
            "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": 85,
            "points": 7.44,
            "reason": "API version v2026-10-29, eight days before this check (30). Fifteen dated API versions between 21 August and 29 October, MCP server releases 1.0.0 (1 September) to 1.2.0 (7 October), and SDK releases in October (20). Closed service with a changelog and RSS feed, help@abyssale.com and in-app chat, which we didn't test (12 of 15). com.abyssale/mcp is in the official MCP registry under a domain-verified namespace, and the Node.js (1.9.0) and Python (1.7.0) SDKs were both released on 21 October 2026 (15). Both SDKs are current; their repositories weren't read (8 of 10). 30 + 20 + 12 + 15 + 8 = 85.",
            "checked": "2026-11-06"
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 71,
            "points": 6.21,
            "note": "editorial 69, provenance 72",
            "reason": "Closed service under terms of service version 3 of 21 July 2026, from a Paris SAS with its register number (15). The privacy policy and terms agree on EU hosting on AWS Ireland, deletion timelines and breach notice within 72 hours, but AI model training on anonymised customer content is on by default with a workspace opt-out, and anonymised data may be kept indefinitely (20 of 30). The changelog has Deprecated and Removed sections and refers to a deprecation policy that covers stable endpoints but not alpha ones; the policy's notice period wasn't found (14 of 20). Subprocessors named with locations, among them AWS Ireland, Auth0, Brevo, Intercom and AI providers including OpenAI, Anthropic, Black Forest Labs and Google, some outside the EEA (20). 15 + 20 + 14 + 20 = 69.",
            "checked": "2026-11-06"
          }
        ],
        "assessment": {
          "date": "2026-11-06",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "20 MCP tools (15 for 11 to 30), plus 5 because OAuth scopes per tool group let a client be approved for reads only (20 of 25). Design listings search by words in any order, filter by project, orientation, size, format and dates, sort and order, and say honestly when a page is past the end; listing tools refuse unsupported options rather than ignore them, per MCP 1.2.0 (19 of 20). One envelope with an `id` to branch on, and error docs that say which errors a retry never fixes (19 of 20). The permissions page marks each tool read-only, mutating or destructive, but MCP annotations couldn't be confirmed on the closed server, and generation has no idempotency key (12 of 20). Official Node.js and Python SDKs with retry behaviour and polling helpers (15). 20 + 19 + 19 + 12 + 15 = 85.",
            "maintenance": "API version v2026-10-29, eight days before this check (30). Fifteen dated API versions between 21 August and 29 October, MCP server releases 1.0.0 (1 September) to 1.2.0 (7 October), and SDK releases in October (20). Closed service with a changelog and RSS feed, help@abyssale.com and in-app chat, which we didn't test (12 of 15). com.abyssale/mcp is in the official MCP registry under a domain-verified namespace, and the Node.js (1.9.0) and Python (1.7.0) SDKs were both released on 21 October 2026 (15). Both SDKs are current; their repositories weren't read (8 of 10). 30 + 20 + 12 + 15 + 8 = 85.",
            "payments": "No x402, MPP or L402 (0). Seat prices are public and the credit cost of every output is published to the format, with worked examples, but a credit's price outside the plan wasn't found (15 of 20). 14-day free trial with no card (20). A person signs up in the browser; the MCP OAuth flow needs a human login (0). 0 + 15 + 20 + 0 = 35.",
            "reliability": "Hosted lines, for the REST API and the remote MCP server. No status page was linked from the site or the docs, and status.abyssale.com did not answer (0). No readable incident history (5). Rate limits published in full, 10 requests a second globally and per-workspace tiers with per-minute and per-hour budgets (15). 429s carry Retry-After and X-RateLimit headers, three 429 ids say which limit was hit, failed generations cost nothing, and webhooks carry a delivery id to deduplicate on. No idempotency key on generation requests (13 of 15). The terms promise best-effort availability and leave SLAs to Enterprise contracts, so none is published (0). Generation and the MCP server are generally available, while Design Import, the JSON authoring route, is labelled alpha (8 of 10). 0 + 5 + 15 + 13 + 0 + 8 = 41.",
            "schema": "A 424 KB OpenAPI file at developers.abyssale.com/api.yaml with 34 operations, from which the reference pages are generated (25). A detailed llms.txt that states the base URL, auth, rate limits, error envelope and webhook signing up front (10). Pages say what each endpoint is for and when to use another, such as synchronous versus asynchronous generation and designs versus workspace templates, and the MCP permissions page says what each tool can break (19 of 20). Typed parameters with enums, ranges and required fields across layers and formats (14 of 15). One error envelope everywhere, an error catalogue with machine-readable ids and what to do for each, and worked examples (15). Date-based versions named in every response and a dated changelog in Keep a Changelog form with a Breaking section first; the MCP server has its own semver changelog (15). 25 + 10 + 19 + 14 + 15 + 15 = 98.",
            "security": "The MCP server uses OAuth through Auth0 with scopes per tool group (`read:design`, `write:design`, `delete:design`, `import:design`, `generate:banner`, `read:credits` and others), enforced alongside the user's workspace role, and approval is per client connection. The REST API uses a workspace `x-api-key` with no scopes documented (28 of 30). A client can be approved for reads only, and deleting needs its own scope, but nothing on the server asks for confirmation; the docs leave that to the client per the MCP spec (17 of 20). Tools return the workspace's own designs and fonts; image layers can point at outside URLs (10 of 15). No audit log or per-call record was found (0). No security.txt, disclosure policy, bug bounty or certification found (0). 28 + 17 + 10 + 0 + 0 = 55.",
            "transparency": "Closed service under terms of service version 3 of 21 July 2026, from a Paris SAS with its register number (15). The privacy policy and terms agree on EU hosting on AWS Ireland, deletion timelines and breach notice within 72 hours, but AI model training on anonymised customer content is on by default with a workspace opt-out, and anonymised data may be kept indefinitely (20 of 30). The changelog has Deprecated and Removed sections and refers to a deprecation policy that covers stable endpoints but not alpha ones; the policy's notice period wasn't found (14 of 20). Subprocessors named with locations, among them AWS Ireland, Auth0, Brevo, Intercom and AI providers including OpenAI, Anthropic, Black Forest Labs and Google, some outside the EEA (20). 15 + 20 + 14 + 20 = 69."
          },
          "sources": [
            {
              "what": "developer llms.txt",
              "url": "https://developers.abyssale.com/llms.txt",
              "seen": "2026-11-06"
            },
            {
              "what": "OpenAPI specification",
              "url": "https://developers.abyssale.com/api.yaml",
              "seen": "2026-11-06"
            },
            {
              "what": "rate limits",
              "url": "https://developers.abyssale.com/rest-api/rate-limits",
              "seen": "2026-11-06"
            },
            {
              "what": "credits",
              "url": "https://developers.abyssale.com/rest-api/credits",
              "seen": "2026-11-06"
            },
            {
              "what": "REST API changelog",
              "url": "https://developers.abyssale.com/rest-api/changelog",
              "seen": "2026-11-06"
            },
            {
              "what": "MCP changelog",
              "url": "https://developers.abyssale.com/mcp/changelog",
              "seen": "2026-11-06"
            },
            {
              "what": "MCP authentication and scopes",
              "url": "https://developers.abyssale.com/mcp/authentication",
              "seen": "2026-11-06"
            },
            {
              "what": "MCP permissions",
              "url": "https://developers.abyssale.com/mcp/permissions",
              "seen": "2026-11-06"
            },
            {
              "what": "MCP overview",
              "url": "https://developers.abyssale.com/mcp/overview",
              "seen": "2026-11-06"
            },
            {
              "what": "site llms.txt with pricing summary",
              "url": "https://www.abyssale.com/llms.txt",
              "seen": "2026-11-06"
            },
            {
              "what": "terms of service",
              "url": "https://www.abyssale.com/terms-of-service",
              "seen": "2026-11-06"
            },
            {
              "what": "privacy policy and subprocessors",
              "url": "https://www.abyssale.com/privacy-policy",
              "seen": "2026-11-06"
            },
            {
              "what": "legal notice",
              "url": "https://www.abyssale.com/legal-notice",
              "seen": "2026-11-06"
            },
            {
              "what": "Node.js SDK versions",
              "url": "https://registry.npmjs.org/@abyssale%2fsdk",
              "seen": "2026-11-06"
            },
            {
              "what": "Python SDK release feed",
              "url": "https://pypi.org/rss/project/abyssale/releases.xml",
              "seen": "2026-11-06"
            },
            {
              "what": "official MCP registry entry",
              "url": "https://registry.modelcontextprotocol.io/v0/servers?search=abyssale",
              "seen": "2026-11-06"
            }
          ],
          "openQuestions": [
            "No status page found: status.abyssale.com didn't answer and none is linked.",
            "The deprecation policy's notice period: the changelog refers to the policy but the page wasn't found.",
            "The price of extra credits outside a plan.",
            "Disclosure: one request went to https://pypi.org/pypi/abyssale/json, a path PyPI's robots.txt disallows, before its robots.txt was read. Nothing from it is used; the Python SDK versions come from PyPI's release feed.",
            "Investors: none found on Abyssale's own pages. One search returned only database and aggregator pages, which this run doesn't use."
          ]
        },
        "negative": 0,
        "verdict": "Abyssale publishes a full OpenAPI file, dated versions, tiered rate limits with Retry-After, one error envelope and per-tool OAuth scopes on its MCP server. API access starts at $45 a seat a month after a 14-day trial, and no status page or published SLA was found.",
        "bestFor": "Multi-format ad creative, video, HTML5 banners and print PDFs from one design, for marketing teams and agencies with an agent in the loop.",
        "strengths": [
          "OpenAPI file, a detailed llms.txt and a dated changelog that lists breaking changes first",
          "Published rate-limit tiers with X-RateLimit headers, Retry-After and distinct 429 ids",
          "MCP scopes per tool group, so a client can read designs without spending credits or deleting",
          "Credit cost per output published to the format, and failed generations aren't charged",
          "Official Node.js and Python SDKs with retry and polling helpers, released October 2026"
        ],
        "weaknesses": [
          "API and MCP need the Pro plan at $45 a seat a month",
          "No status page found, and the SLA is negotiated for Enterprise only",
          "AI training on anonymised customer content is on by default",
          "Design import, the JSON authoring route, is alpha and outside the deprecation policy",
          "No security.txt, disclosure policy or certification found"
        ],
        "agentNotes": [
          "Branch on the error `id`, never the message; `request_rate_limited` means wait Retry-After seconds",
          "Multiply credits by formats before a batch, since 200 products in 6 formats cost 1,200 credits",
          "Ask the MCP user to approve only `read:design` unless the task must generate or change designs",
          "Use asynchronous generation for several formats and deduplicate webhooks on `X-Abyssale-Delivery-Id`",
          "Check `GET /credits` first; it costs nothing and shows both balances"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.6
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 85,
          "payments": 35,
          "reliability": 41,
          "schema": 98,
          "security": 55,
          "transparency": 69
        },
        "provenanceScore": 72,
        "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
        },
        "scoreHistory": [
          {
            "date": "2026-11-06",
            "grade": "B",
            "kind": "listed",
            "method": "0.7",
            "score": 65.6
          }
        ]
      },
      "connect": {
        "install": "npm install @abyssale/sdk",
        "http": "curl -X POST https://api.abyssale.com/auth -H \"x-api-key: $ABYSSALE_API_KEY\"",
        "claudeCode": "claude mcp add --transport http --client-id tpc_iJ7LWqVdzR7c7jf21gMqDQ --callback-port 3418 -s user abyssale_prod https://mcp.abyssale.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/design.render",
        "tool": "https://letme.dev/abyssale"
      },
      "notable": [
        "Date-based API versions, with every JSON response naming the version that answered and a dated changelog that puts breaking changes first; newest v2026-10-29 (https://developers.abyssale.com/rest-api/changelog)",
        "Rate limits of 10 requests a second globally plus per-workspace tiers (polling 600 a minute, read 120, validation 120, write 60, each with an hourly cap), with X-RateLimit headers and Retry-After (https://developers.abyssale.com/rest-api/rate-limits)",
        "Every response uses one error envelope `{id, message, errors?}`, and three kinds of 429 are told apart by `id` (https://developers.abyssale.com/rest-api/rate-limits)",
        "20 MCP tools, each gated by an OAuth scope and a workspace role, with a permissions page marking each read-only, mutating or destructive (https://developers.abyssale.com/mcp/permissions)",
        "AI model training on anonymised customer content is on by default and can be switched off per workspace (https://www.abyssale.com/terms-of-service)",
        "Official Node.js SDK @abyssale/sdk 1.9.0 and Python SDK abyssale 1.7.0, both released 21 October 2026 (https://developers.abyssale.com/llms.txt)"
      ],
      "area": "design-diagrams",
      "details": [
        {
          "label": "Surface listed",
          "value": "The REST API at api.abyssale.com and the remote MCP server at mcp.abyssale.com, read from developers.abyssale.com (llms.txt, OpenAPI, rate limits, credits, changelogs, MCP authentication and permissions), npm, PyPI, the MCP registry and www.abyssale.com's terms, privacy policy, legal notice and about page on 6 November 2026. No account was made and no tool was called"
        },
        {
          "label": "Outputs",
          "value": "JPG, PNG, WEBP and AVIF images, MP4 video, GIF, HTML5 banner ads as ZIP, and print PDFs in CMYK, single or multi-page"
        },
        {
          "label": "MCP tools",
          "value": "20 tools, 11 of them read-only. The others create, import, rename or generate, and the permissions page marks delete_design (no undo) and move_design (resets approval status) as destructive. get_me needs no scope"
        },
        {
          "label": "Rate limits",
          "value": "10 requests a second globally. Per workspace, polling 600 a minute and 18,000 an hour, read 120 and 3,000, validation 120 and 2,400, write 60 and 1,200. Generation endpoints have no tier budget"
        },
        {
          "label": "Credits",
          "value": "Image or static PDF 1 per format; video, GIF and HTML5 1 per second per format; print PDF 1 per 10 million pixels. AI tools 1 to 35 AI credits. Reads, imports, dry runs and failed generations are free"
        },
        {
          "label": "Legal entity",
          "value": "ABYSSALE, a simplified joint-stock company (SAS) at 49 rue de Ponthieu, 75008 Paris, Paris Trade and Companies Register 878 526 573, hosted on AWS in Ireland"
        }
      ],
      "unitPrices": [
        {
          "item": "Pro seat (API and MCP)",
          "unit": "seat-month",
          "usd": 45,
          "note": "$36 billed yearly; the Start plan at $15 has no API"
        },
        {
          "item": "Suite seat",
          "unit": "seat-month",
          "usd": 75,
          "note": "$60 billed yearly; adds HTML5 ads and CMYK print PDF"
        }
      ],
      "provenance": {
        "legalEntity": "Abyssale SAS",
        "domain": "abyssale.com",
        "domainRegistered": "2018-07-10",
        "endpointOnVendorDomain": true,
        "terms": "https://www.abyssale.com/terms-of-service",
        "privacy": "https://www.abyssale.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://developers.abyssale.com/rest-api/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms (version 3, 21 July 2026) and the legal notice name ABYSSALE, an SAS at 49 rue de Ponthieu, 75008 Paris, Paris RCS 878 526 573. The terms give share capital as €1,980.00 and the legal notice as €1,902.80.",
          "The terms forbid extracting, scraping or reusing the platform's databases, including the public template database. Public docs and policy pages were read as data.",
          "www.abyssale.com/robots.txt and developers.abyssale.com/robots.txt allow all paths.",
          "/.well-known/security.txt returns 404. No status page was linked from the site or the docs, and status.abyssale.com did not answer.",
          "RDAP gives abyssale.com a registration date of 10 July 2018."
        ],
        "score": 72,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Abyssale SAS",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "abyssale.com, registered 2018-07-10 (8 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "api.abyssale.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 5 of the 7 things a reader expects, and has 1 clause that costs points",
            "points": 6.3,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 5 of the 8 things a reader expects",
            "points": 7.8,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "People named",
            "value": "3 named with their role, none with a public profile",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Support route",
            "value": "a support address, help pages",
            "points": 5,
            "max": 5,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.abyssale.com/terms-of-service",
            "state": "read",
            "readAt": "2026-11-06",
            "words": 9629,
            "points": 6.3,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "Disputes with Professionals: IN THE EVENT OF A DISPUTE, EXCLUSIVE JURISDICTION IS ATTRIBUTED TO THE COURTS WITHIN THE JURISDICTION OF THE PARIS COMMERCIAL COURT (TRIBUNAL DE COMMERCE DE PARIS)."
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "For Professional Clients: In the event of proven liability of the Company, the total cumulative liability is strictly limited to the total amount actually paid by the Client under the Subscription over the twelve (12) months preceding the event.",
                "says": "Capped at the fees paid in the 12 months before the claim"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "For all Clients, access to and use of the Platform may be temporarily suspended for maintenance purposes."
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "For Annual Subscriptions (Professional): The price change may be applied upon renewal or according to the terms notified, subject to a thirty (30) day notice.",
                "says": "Gives thirty day of notice before a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": false
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": true,
                "quote": "These 'best effort' availability commitments constitute an obligation of means and do not strictly guarantee 100% uptime or specific performance metrics (SLA)."
              }
            ],
            "toKnow": [
              {
                "key": "training",
                "label": "Says it may use customer content to train or improve models, and no opt-out was found",
                "found": true,
                "quote": "By default, this setting is enabled, and the Client grants the Company permission to use anonymized data derived from the Client Content and Generated Content, stripped of any direct identifiers so that no individual can be identified, for the sole purpose of maintaining and improving the Company’s AI models and Featu…",
                "costsPoints": true
              },
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "Where the Company detects such use, it reserves the right, without prior notice and without prejudice to any other right or remedy (including claiming payment for the additional seats that should have been subscribed), to suspend or terminate the User account, the relevant seats, the Workspace and/or the Subscription,…"
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.abyssale.com/privacy-policy",
            "state": "read",
            "readAt": "2026-11-06",
            "words": 3216,
            "points": 7.8,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": false
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "after this period the deletion timelines above apply, without prejudice to the archiving and any legal or accounting retention periods."
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "Third-Party AI Providers (including but not limited to OpenAI, Anthropic, Black Forest Labs, Google, Alibaba/Qwen, Seedance, Flux) - EU and outside the EEA (including the USA and, depending on the model selected by the Client, other countries): Processing of prompts and generation of text/visual content."
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": false
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "For any questions concerning this Policy or to exercise your rights, you may contact our Privacy Contact directly:"
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "By mail: Abyssale – Attention: Privacy Contact, 49 Rue de Ponthieu, 75008 Paris, France."
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "Adherence by the sub-processor to the Data Privacy Framework (DPF) recognized by the European Commission;",
                "says": "Relies on the Data Privacy Framework"
              }
            ]
          }
        ]
      },
      "humans": {
        "slug": "abyssale",
        "checked": "2026-11-06",
        "company": "Abyssale SAS",
        "people": [
          {
            "name": "Alessandro Stigliani",
            "role": "Founder and CEO",
            "founder": true,
            "page": "/people/alessandro-stigliani/"
          },
          {
            "name": "Yassine Khial",
            "role": "Founder and CTO",
            "founder": true,
            "page": "/people/yassine-khial/"
          },
          {
            "name": "Remy Lemeunier",
            "role": "Founder and VP Engineering",
            "founder": true,
            "page": "/people/remy-lemeunier/"
          }
        ],
        "peopleNote": "The three founders and their roles are from the team section of the about page, which links no personal accounts. The terms and legal notice name ABYSSALE, an SAS in Paris, RCS 878 526 573, founded in 2019 per the about page and the site's llms.txt. Investors are the four logos under \"Backed by\" on the about page (Founders Future, Kima Ventures, Aglaé Ventures and Bpifrance), which also gives €2.7M in total funding; the G2 logo beside them belongs to the reviews block. No round, date or lead is given on the site, and two searches found only database and aggregator pages, which this run doesn't use, so no rounds are recorded and no valuation was found.",
        "companySocial": {
          "linkedin": "https://www.linkedin.com/company/abyssale/"
        },
        "support": {
          "emails": [
            "help@abyssale.com"
          ],
          "urls": [
            "https://developers.abyssale.com/",
            "https://www.abyssale.com/legal-notice"
          ],
          "contactEmails": [
            "help@abyssale.com"
          ]
        },
        "sources": [
          "https://www.abyssale.com/about-us",
          "https://www.abyssale.com/terms-of-service",
          "https://www.abyssale.com/legal-notice",
          "https://www.abyssale.com/privacy-policy"
        ],
        "ownership": {
          "status": "private",
          "totalRaised": {
            "amount": "€2.7M",
            "asOf": "2026-11",
            "source": "https://www.abyssale.com/about-us"
          },
          "checked": "2026-11-06",
          "sources": [
            "https://www.abyssale.com/about-us",
            "https://www.abyssale.com/legal-notice",
            "https://www.abyssale.com/terms-of-service"
          ]
        },
        "investors": [
          {
            "name": "Founders Future",
            "kind": "vc",
            "url": "https://www.foundersfuture.com",
            "source": "https://www.abyssale.com/about-us",
            "quote": "Backed by [logos of Founders Future, Kima Ventures, Aglaé Ventures and Bpifrance] ... €2.7M In total funding",
            "page": "/investors/founders-future/"
          },
          {
            "name": "Kima Ventures",
            "kind": "vc",
            "url": "https://www.kimaventures.com",
            "source": "https://www.abyssale.com/about-us",
            "quote": "Backed by [logos of Founders Future, Kima Ventures, Aglaé Ventures and Bpifrance] ... €2.7M In total funding",
            "page": "/investors/kima-ventures/"
          },
          {
            "name": "Aglaé Ventures",
            "kind": "vc",
            "url": "https://aglaeventures.com",
            "source": "https://www.abyssale.com/about-us",
            "quote": "Backed by [logos of Founders Future, Kima Ventures, Aglaé Ventures and Bpifrance] ... €2.7M In total funding",
            "page": "/investors/aglae-ventures/"
          },
          {
            "name": "Bpifrance",
            "kind": "other",
            "url": "https://www.bpifrance.com",
            "source": "https://www.abyssale.com/about-us",
            "quote": "Backed by [logos of Founders Future, Kima Ventures, Aglaé Ventures and Bpifrance] ... €2.7M In total funding",
            "page": "/investors/bpifrance/"
          }
        ]
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/abyssale.json",
      "live": {
        "slug": "abyssale",
        "probe": {
          "target": "https://api.abyssale.com",
          "method": "get",
          "lastAt": "2026-11-07T17:49:25.642357906Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 90,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 66,
          "p95ms24h": 177,
          "samples24h": 195,
          "samples30d": 195,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 182,
              "ok": 182
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@abyssale/sdk",
            "version": "1.9.0",
            "seenAt": "2026-11-06T23:02:19.286863658Z"
          },
          {
            "registry": "pypi",
            "name": "abyssale",
            "version": "1.7.0",
            "released": "2026-10-21",
            "seenAt": "2026-11-06T23:02:19.747808303Z"
          }
        ],
        "npmWeekly": 29,
        "pypiWeekly": 49,
        "securityTxt": {
          "url": "https://abyssale.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:33.168565397Z"
        },
        "llmsTxt": {
          "url": "https://developers.abyssale.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:04.477678741Z"
        },
        "pages": [
          {
            "url": "https://developers.abyssale.com/rest-api/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:03:36.173334461Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1c916e422299"
          },
          {
            "url": "https://www.abyssale.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:24:07.939253804Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1756c40b8e19"
          },
          {
            "url": "https://www.abyssale.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:24:10.078462035Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "982f9b4f8587"
          }
        ],
        "updatedAt": "2026-11-07T17:49:25.642357906Z"
      }
    },
    "verify": {
      "accepts": "a page on abyssale.com or one of its subdomains",
      "badgeUrl": "https://www.anchorterminal.com/badges/abyssale.svg",
      "body": {
        "slug": "abyssale",
        "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/abyssale",
      "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/abyssale\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/abyssale.svg\" alt=\"Abyssale on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Abyssale on Anchor Terminal](https://www.anchorterminal.com/badges/abyssale.svg)](https://www.anchorterminal.com/tools/abyssale)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/abyssale\"\u003eAbyssale 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/abyssale",
    "json": "https://www.anchorterminal.com/tools/abyssale.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/abyssale.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "pricing": "https://www.anchorterminal.com/tools/abyssale#pricing",
    "reviews": "https://www.anchorterminal.com/tools/abyssale#reviews",
    "slim": "https://www.anchorterminal.com/tools/abyssale.min.md"
  },
  "markdown": "## Overview\n\n**Grade B · 65.6/100 · rank #411 of 1486 · #3 in Programmatic asset production · not agent-ready · confidence medium**\n\n\n## Assessment\n\nAbyssale publishes a full OpenAPI file, dated versions, tiered rate limits with Retry-After, one error envelope and per-tool OAuth scopes on its MCP server. API access starts at $45 a seat a month after a 14-day trial, and no status page or published SLA was found.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Abyssale SAS (https://www.abyssale.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.abyssale.com` |\n| Auth | OAuth or key · REST uses a workspace API key in the `x-api-key` header, created in Workspace settings; test it with `POST /auth`. The MCP server at mcp.abyssale.com uses OAuth through Auth0 with per-tool scopes (`read:design`, `write:design`, `delete:design`, `import:design`, `generate:banner` and others), checked together with the user's workspace role. The two credentials are separate. |\n| Pricing | Paid ($45 / seat-mo) · API and MCP come with Pro at $45 a seat a month ($36 yearly) and above; Start at $15 a seat has neither. Suite $75 a seat adds HTML5 and CMYK print PDF. 14-day free trial with no card. Generation credits are charged per format, 1 per image, 1 per second of video, GIF or HTML5, print PDFs by pixel area. Failed generations cost nothing. |\n| x402 | No · Seat subscriptions with credit balances. No x402, MPP or L402 in the OpenAPI, the developer docs or llms.txt (checked 2026-11-06). An empty balance returns 429 with an id, not a payment requirement. |\n| Licence | Closed service under the Abyssale terms of service (version 3, 21 July 2026) |\n| Tools exposed | 20 |\n| Packages | npm: `@abyssale/sdk`; pypi: `abyssale` |\n| MCP registry name | `com.abyssale/mcp` |\n| Docs | https://developers.abyssale.com/ |\n| llms.txt | https://developers.abyssale.com/llms.txt |\n| Last release | 2026-10-29 |\n| Surface listed | The REST API at api.abyssale.com and the remote MCP server at mcp.abyssale.com, read from developers.abyssale.com (llms.txt, OpenAPI, rate limits, credits, changelogs, MCP authentication and permissions), npm, PyPI, the MCP registry and www.abyssale.com's terms, privacy policy, legal notice and about page on 6 November 2026. No account was made and no tool was called |\n| Outputs | JPG, PNG, WEBP and AVIF images, MP4 video, GIF, HTML5 banner ads as ZIP, and print PDFs in CMYK, single or multi-page |\n| MCP tools | 20 tools, 11 of them read-only. The others create, import, rename or generate, and the permissions page marks delete_design (no undo) and move_design (resets approval status) as destructive. get_me needs no scope |\n| Rate limits | 10 requests a second globally. Per workspace, polling 600 a minute and 18,000 an hour, read 120 and 3,000, validation 120 and 2,400, write 60 and 1,200. Generation endpoints have no tier budget |\n| Credits | Image or static PDF 1 per format; video, GIF and HTML5 1 per second per format; print PDF 1 per 10 million pixels. AI tools 1 to 35 AI credits. Reads, imports, dry runs and failed generations are free |\n| Legal entity | ABYSSALE, a simplified joint-stock company (SAS) at 49 rue de Ponthieu, 75008 Paris, Paris Trade and Companies Register 878 526 573, hosted on AWS in Ireland |\n| Capabilities | design.render, design.templates, design.brand, image.edit, pdf.generate, video.generate |\n| Tags | hosted, openapi, llms-txt, mcp, remote-mcp, mcp-registry, oauth, api-key, webhooks, sdk, trial, no-card, eu |\n| JSON | https://www.anchorterminal.com/api/v1/tools/abyssale.json |\n\n## Score breakdown (methodology v0.7, October 2026 research run)\n\nAssessed 2026-11-06 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 | 41 | 8.2 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 98 | 15.9 |\n| Agent ergonomics | 13% | 16.2 | 85 | 13.8 |\n| Security \u0026 auth | 14% | 17.5 | 55 | 9.6 |\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 | 85 | 7.4 |\n| Transparency \u0026 trust (editorial 69, provenance 72) | 7% | 8.8 | 71 | 6.2 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **65.6 → B** |\n\n### Why each score\n\n- Reliability 41 (checked 2026-11-06): Hosted lines, for the REST API and the remote MCP server. No status page was linked from the site or the docs, and status.abyssale.com did not answer (0). No readable incident history (5). Rate limits published in full, 10 requests a second globally and per-workspace tiers with per-minute and per-hour budgets (15). 429s carry Retry-After and X-RateLimit headers, three 429 ids say which limit was hit, failed generations cost nothing, and webhooks carry a delivery id to deduplicate on. No idempotency key on generation requests (13 of 15). The terms promise best-effort availability and leave SLAs to Enterprise contracts, so none is published (0). Generation and the MCP server are generally available, while Design Import, the JSON authoring route, is labelled alpha (8 of 10). 0 + 5 + 15 + 13 + 0 + 8 = 41.\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 98 (checked 2026-11-06): A 424 KB OpenAPI file at developers.abyssale.com/api.yaml with 34 operations, from which the reference pages are generated (25). A detailed llms.txt that states the base URL, auth, rate limits, error envelope and webhook signing up front (10). Pages say what each endpoint is for and when to use another, such as synchronous versus asynchronous generation and designs versus workspace templates, and the MCP permissions page says what each tool can break (19 of 20). Typed parameters with enums, ranges and required fields across layers and formats (14 of 15). One error envelope everywhere, an error catalogue with machine-readable ids and what to do for each, and worked examples (15). Date-based versions named in every response and a dated changelog in Keep a Changelog form with a Breaking section first; the MCP server has its own semver changelog (15). 25 + 10 + 19 + 14 + 15 + 15 = 98.\n- Agent ergonomics 85 (checked 2026-11-06): 20 MCP tools (15 for 11 to 30), plus 5 because OAuth scopes per tool group let a client be approved for reads only (20 of 25). Design listings search by words in any order, filter by project, orientation, size, format and dates, sort and order, and say honestly when a page is past the end; listing tools refuse unsupported options rather than ignore them, per MCP 1.2.0 (19 of 20). One envelope with an `id` to branch on, and error docs that say which errors a retry never fixes (19 of 20). The permissions page marks each tool read-only, mutating or destructive, but MCP annotations couldn't be confirmed on the closed server, and generation has no idempotency key (12 of 20). Official Node.js and Python SDKs with retry behaviour and polling helpers (15). 20 + 19 + 19 + 12 + 15 = 85.\n- Security \u0026 auth 55 (checked 2026-11-06): The MCP server uses OAuth through Auth0 with scopes per tool group (`read:design`, `write:design`, `delete:design`, `import:design`, `generate:banner`, `read:credits` and others), enforced alongside the user's workspace role, and approval is per client connection. The REST API uses a workspace `x-api-key` with no scopes documented (28 of 30). A client can be approved for reads only, and deleting needs its own scope, but nothing on the server asks for confirmation; the docs leave that to the client per the MCP spec (17 of 20). Tools return the workspace's own designs and fonts; image layers can point at outside URLs (10 of 15). No audit log or per-call record was found (0). No security.txt, disclosure policy, bug bounty or certification found (0). 28 + 17 + 10 + 0 + 0 = 55.\n- Payments \u0026 pricing 35 (checked 2026-11-06): No x402, MPP or L402 (0). Seat prices are public and the credit cost of every output is published to the format, with worked examples, but a credit's price outside the plan wasn't found (15 of 20). 14-day free trial with no card (20). A person signs up in the browser; the MCP OAuth flow needs a human login (0). 0 + 15 + 20 + 0 = 35.\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 85 (checked 2026-11-06): API version v2026-10-29, eight days before this check (30). Fifteen dated API versions between 21 August and 29 October, MCP server releases 1.0.0 (1 September) to 1.2.0 (7 October), and SDK releases in October (20). Closed service with a changelog and RSS feed, help@abyssale.com and in-app chat, which we didn't test (12 of 15). com.abyssale/mcp is in the official MCP registry under a domain-verified namespace, and the Node.js (1.9.0) and Python (1.7.0) SDKs were both released on 21 October 2026 (15). Both SDKs are current; their repositories weren't read (8 of 10). 30 + 20 + 12 + 15 + 8 = 85.\n- Transparency \u0026 trust 71 (checked 2026-11-06): Closed service under terms of service version 3 of 21 July 2026, from a Paris SAS with its register number (15). The privacy policy and terms agree on EU hosting on AWS Ireland, deletion timelines and breach notice within 72 hours, but AI model training on anonymised customer content is on by default with a workspace opt-out, and anonymised data may be kept indefinitely (20 of 30). The changelog has Deprecated and Removed sections and refers to a deprecation policy that covers stable endpoints but not alpha ones; the policy's notice period wasn't found (14 of 20). Subprocessors named with locations, among them AWS Ireland, Auth0, Brevo, Intercom and AI providers including OpenAI, Anthropic, Black Forest Labs and Google, some outside the EEA (20). 15 + 20 + 14 + 20 = 69.\n\nFix list, everything this grade says the listing lacks, the biggest gain first (18 items). What it covers is at https://www.anchorterminal.com/fixes/abyssale.md (JSON https://www.anchorterminal.com/fixes/abyssale.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{\"listing\": \"abyssale\", \"plan\": \"read\"}`, free while the beta runs\n\n### What we couldn't check\n\n- No status page found: status.abyssale.com didn't answer and none is linked.\n- The deprecation policy's notice period: the changelog refers to the policy but the page wasn't found.\n- The price of extra credits outside a plan.\n- Disclosure: one request went to https://pypi.org/pypi/abyssale/json, a path PyPI's robots.txt disallows, before its robots.txt was read. Nothing from it is used; the Python SDK versions come from PyPI's release feed.\n- Investors: none found on Abyssale's own pages. One search returned only database and aggregator pages, which this run doesn't use.\n\n### Sources\n\n- developer llms.txt: \u003chttps://developers.abyssale.com/llms.txt\u003e (seen 2026-11-06)\n- OpenAPI specification: \u003chttps://developers.abyssale.com/api.yaml\u003e (seen 2026-11-06)\n- rate limits: \u003chttps://developers.abyssale.com/rest-api/rate-limits\u003e (seen 2026-11-06)\n- credits: \u003chttps://developers.abyssale.com/rest-api/credits\u003e (seen 2026-11-06)\n- REST API changelog: \u003chttps://developers.abyssale.com/rest-api/changelog\u003e (seen 2026-11-06)\n- MCP changelog: \u003chttps://developers.abyssale.com/mcp/changelog\u003e (seen 2026-11-06)\n- MCP authentication and scopes: \u003chttps://developers.abyssale.com/mcp/authentication\u003e (seen 2026-11-06)\n- MCP permissions: \u003chttps://developers.abyssale.com/mcp/permissions\u003e (seen 2026-11-06)\n- MCP overview: \u003chttps://developers.abyssale.com/mcp/overview\u003e (seen 2026-11-06)\n- site llms.txt with pricing summary: \u003chttps://www.abyssale.com/llms.txt\u003e (seen 2026-11-06)\n- terms of service: \u003chttps://www.abyssale.com/terms-of-service\u003e (seen 2026-11-06)\n- privacy policy and subprocessors: \u003chttps://www.abyssale.com/privacy-policy\u003e (seen 2026-11-06)\n- legal notice: \u003chttps://www.abyssale.com/legal-notice\u003e (seen 2026-11-06)\n- Node.js SDK versions: \u003chttps://registry.npmjs.org/@abyssale%2fsdk\u003e (seen 2026-11-06)\n- Python SDK release feed: \u003chttps://pypi.org/rss/project/abyssale/releases.xml\u003e (seen 2026-11-06)\n- official MCP registry entry: \u003chttps://registry.modelcontextprotocol.io/v0/servers?search=abyssale\u003e (seen 2026-11-06)\n\n## Score history\n\nEvery move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/abyssale/history.json\n\n- 2026-11-06: graded 65.6 B (methodology 0.7)\n\n## Who's behind it (provenance 72/100, checked 2026-11-06)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Abyssale SAS | 20/20 |\n| Domain age | abyssale.com, registered 2018-07-10 (8 years) | 11/15 |\n| Endpoint on the vendor's domain | api.abyssale.com | 15/15 |\n| Terms of service | read, states 5 of the 7 things a reader expects, and has 1 clause that costs points | 6.3/10 |\n| Privacy policy | read, states 5 of the 8 things a reader expects | 7.8/10 |\n| Status page | not found | 0/10 |\n| Changelog | published | 10/10 |\n| security.txt | not found | 0/10 |\n| People named | 3 named with their role, none with a public profile | 7/10 |\n| Support route | a support address, help pages | 5/5 |\n\nThe terms (version 3, 21 July 2026) and the legal notice name ABYSSALE, an SAS at 49 rue de Ponthieu, 75008 Paris, Paris RCS 878 526 573. The terms give share capital as €1,980.00 and the legal notice as €1,902.80.\n\nThe terms forbid extracting, scraping or reusing the platform's databases, including the public template database. Public docs and policy pages were read as data.\n\nwww.abyssale.com/robots.txt and developers.abyssale.com/robots.txt allow all paths.\n\n/.well-known/security.txt returns 404. No status page was linked from the site or the docs, and status.abyssale.com did not answer.\n\nRDAP gives abyssale.com a registration date of 10 July 2018.\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://www.abyssale.com/terms-of-service), read 2026-11-06, gives no date, states 5 of the 7 things a reader expects.\n\n- To know. Says it may use customer content to train or improve models, and no opt-out was found (costs points). \"By default, this setting is enabled, and the Client grants the Company permission to use anonymized data derived from the Client Content and Generated Content, stripped of any direct identifiers so that no individual can be identified, for the sole purpose of maintaining and improving the Company’s AI models and Featu…\"\n- To know. Says access can be ended without notice or for any reason. \"Where the Company detects such use, it reserves the right, without prior notice and without prejudice to any other right or remedy (including claiming payment for the additional seats that should have been subscribed), to suspend or terminate the User account, the relevant seats, the Workspace and/or the Subscription,…\"\n- Not found in the text. Gives the date it was last updated.\n- States a limit on its liability. Capped at the fees paid in the 12 months before the claim.\n- Says how changes to the terms are announced. Gives thirty day of notice before a change.\n- Not found in the text. Lists what users may not do.\n\n**Privacy policy** (https://www.abyssale.com/privacy-policy), read 2026-11-06, gives no date, states 5 of the 8 things a reader expects.\n\n- Not found in the text. Gives the date it was last updated.\n- Not found in the text. Says what personal data is collected.\n- Not found in the text. Says whether personal data is sold or shared for advertising.\n- Says where data is transferred or stored. Relies on the Data Privacy Framework.\n\n## Humans behind the project (researched 2026-11-06 from public pages, not part of the grade)\n\n### Key people\n\n- Alessandro Stigliani, Founder and CEO\n- Yassine Khial, Founder and CTO\n- Remy Lemeunier, Founder and VP Engineering\n- Note: The three founders and their roles are from the team section of the about page, which links no personal accounts. The terms and legal notice name ABYSSALE, an SAS in Paris, RCS 878 526 573, founded in 2019 per the about page and the site's llms.txt. Investors are the four logos under \"Backed by\" on the about page (Founders Future, Kima Ventures, Aglaé Ventures and Bpifrance), which also gives €2.7M in total funding; the G2 logo beside them belongs to the reviews block. No round, date or lead is given on the site, and two searches found only database and aggregator pages, which this run doesn't use, so no rounds are recorded and no valuation was found.\n- Abyssale SAS: LinkedIn https://www.linkedin.com/company/abyssale/\n\n### Ownership and investors\n\n- Raised: €2.7M in total, as of November 2026 (source https://www.abyssale.com/about-us)\n- Backed by: Founders Future, Kima Ventures, Aglaé Ventures, Bpifrance\n\n### Getting support\n\n- Support email: help@abyssale.com\n- Help: https://developers.abyssale.com/\n- Help: https://www.abyssale.com/legal-notice\n- Sources: https://www.abyssale.com/about-us, https://www.abyssale.com/terms-of-service, https://www.abyssale.com/legal-notice, https://www.abyssale.com/privacy-policy\n\n## Live (updated 2026-11-07 17:49 UTC)\n\n- Right now: up, HTTP 404, 90 ms, checked 2026-11-07 17:49 UTC (get on `https://api.abyssale.com`)\n- Uptime 24h 100.0% (195 probes) · 30 days 100.0% (195 probes) · p50 66 ms · p95 177 ms\n- npm `@abyssale/sdk` 1.9.0\n- pypi `abyssale` 1.7.0, released 2026-10-21\n- security.txt: none\n- Watching changelog \u003chttps://developers.abyssale.com/rest-api/changelog\u003e\n- Watching privacy \u003chttps://www.abyssale.com/privacy-policy\u003e\n- Watching terms \u003chttps://www.abyssale.com/terms-of-service\u003e\n- Always current: https://www.anchorterminal.com/api/v1/live/abyssale.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| Pro seat (API and MCP) | $45 | per seat per month | $36 billed yearly; the Start plan at $15 has no API |\n| Suite seat | $75 | per seat per month | $60 billed yearly; adds HTML5 ads and CMYK print PDF |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- OpenAPI file, a detailed llms.txt and a dated changelog that lists breaking changes first\n- Published rate-limit tiers with X-RateLimit headers, Retry-After and distinct 429 ids\n- MCP scopes per tool group, so a client can read designs without spending credits or deleting\n- Credit cost per output published to the format, and failed generations aren't charged\n- Official Node.js and Python SDKs with retry and polling helpers, released October 2026\n\n## Weaknesses\n\n- API and MCP need the Pro plan at $45 a seat a month\n- No status page found, and the SLA is negotiated for Enterprise only\n- AI training on anonymised customer content is on by default\n- Design import, the JSON authoring route, is alpha and outside the deprecation policy\n- No security.txt, disclosure policy or certification found\n\n\n\n## Before you call it (notes for agents)\n\n1. Branch on the error `id`, never the message; `request_rate_limited` means wait Retry-After seconds\n2. Multiply credits by formats before a batch, since 200 products in 6 formats cost 1,200 credits\n3. Ask the MCP user to approve only `read:design` unless the task must generate or change designs\n4. Use asynchronous generation for several formats and deduplicate webhooks on `X-Abyssale-Delivery-Id`\n5. Check `GET /credits` first; it costs nothing and shows both balances\n\n## Connect\n\nInstall:\n\n```bash\nnpm install @abyssale/sdk\n```\n\nFirst request:\n\n```bash\ncurl -X POST https://api.abyssale.com/auth -H \"x-api-key: $ABYSSALE_API_KEY\"\n```\n\nClaude Code:\n\n```bash\nclaude mcp add --transport http --client-id tpc_iJ7LWqVdzR7c7jf21gMqDQ --callback-port 3418 -s user abyssale_prod https://mcp.abyssale.com/mcp\n```\n\nThrough letme: https://letme.dev/abyssale. letme answers with the pick and how to call it direct. 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 | 67.3 | 332 | design.templates, design.render, design.brand, image.edit | no | https://www.anchorterminal.com/tools/canva.md |\n| Pictify | C | 55.7 | 856 | design.render, design.templates, pdf.generate, video.generate | no | https://www.anchorterminal.com/tools/pictify.md |\n| Robolly | D | 48.4 | 1115 | design.templates, design.render, pdf.generate, video.generate | no | https://www.anchorterminal.com/tools/robolly.md |\n| Pixelixe | F | 37.3 | 1355 | design.templates, design.render, image.edit, pdf.generate | no | https://www.anchorterminal.com/tools/pixelixe.md |\n| Contentdrips API and MCP | F | 36.3 | 1368 | design.templates, design.render, design.brand, pdf.generate | no | https://www.anchorterminal.com/tools/contentdrips.md |\n| Shotstack | B | 67.3 | 333 | design.templates, design.render, video.generate | no | https://www.anchorterminal.com/tools/shotstack.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- Date-based API versions, with every JSON response naming the version that answered and a dated changelog that puts breaking changes first; newest v2026-10-29 (source: \u003chttps://developers.abyssale.com/rest-api/changelog\u003e)\n- Rate limits of 10 requests a second globally plus per-workspace tiers (polling 600 a minute, read 120, validation 120, write 60, each with an hourly cap), with X-RateLimit headers and Retry-After (source: \u003chttps://developers.abyssale.com/rest-api/rate-limits\u003e)\n- Every response uses one error envelope `{id, message, errors?}`, and three kinds of 429 are told apart by `id` (source: \u003chttps://developers.abyssale.com/rest-api/rate-limits\u003e)\n- 20 MCP tools, each gated by an OAuth scope and a workspace role, with a permissions page marking each read-only, mutating or destructive (source: \u003chttps://developers.abyssale.com/mcp/permissions\u003e)\n- AI model training on anonymised customer content is on by default and can be switched off per workspace (source: \u003chttps://www.abyssale.com/terms-of-service\u003e)\n- Official Node.js SDK @abyssale/sdk 1.9.0 and Python SDK abyssale 1.7.0, both released 21 October 2026 (source: \u003chttps://developers.abyssale.com/llms.txt\u003e)\n\n- #3 of 18 in 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## Compare\n\n- [Abyssale vs Adobe Photoshop API](https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api.md): B 65.6 vs E 44\n- [Abyssale vs APITemplate.io](https://www.anchorterminal.com/compare/abyssale-vs-apitemplate-io.md): B 65.6 vs F 30.1\n- [Abyssale vs Bannerbear API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-bannerbear.md): B 65.6 vs C 59.6\n- [Abyssale vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/abyssale-vs-canva.md): B 65.6 vs B 67.3\n- [Abyssale vs Contentdrips API and MCP](https://www.anchorterminal.com/compare/abyssale-vs-contentdrips.md): B 65.6 vs F 36.3\n- [Abyssale vs Creatomate](https://www.anchorterminal.com/compare/abyssale-vs-creatomate.md): B 65.6 vs D 49.6\n- [Abyssale vs DynaPictures](https://www.anchorterminal.com/compare/abyssale-vs-dynapictures.md): B 65.6 vs E 43.2\n- [Abyssale vs Layerre](https://www.anchorterminal.com/compare/abyssale-vs-layerre.md): B 65.6 vs C 57.6\n- [Abyssale vs Osmo CLI](https://www.anchorterminal.com/compare/abyssale-vs-osmo-cli.md): B 65.6 vs F 35.2\n- [Abyssale vs Pictify](https://www.anchorterminal.com/compare/abyssale-vs-pictify.md): B 65.6 vs C 55.7\n- [Abyssale vs Pixelixe](https://www.anchorterminal.com/compare/abyssale-vs-pixelixe.md): B 65.6 vs F 37.3\n- [Abyssale vs Placid API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-placid.md): B 65.6 vs E 43\n- [Abyssale vs PostNitro](https://www.anchorterminal.com/compare/abyssale-vs-postnitro.md): B 65.6 vs D 52.6\n- [Abyssale vs Robolly](https://www.anchorterminal.com/compare/abyssale-vs-robolly.md): B 65.6 vs D 48.4\n- [Abyssale vs Shotstack](https://www.anchorterminal.com/compare/abyssale-vs-shotstack.md): B 65.6 vs B 67.3\n- [Abyssale vs Templated API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-templated.md): B 65.6 vs C 58.8\n- [Abyssale vs Photoroom API](https://www.anchorterminal.com/compare/abyssale-vs-photoroom.md): B 65.6 vs D 53.5\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 abyssale.com or one of its subdomains. 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\": \"abyssale\", \"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/abyssale\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/abyssale.svg\" alt=\"Abyssale on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Abyssale on Anchor Terminal](https://www.anchorterminal.com/badges/abyssale.svg)](https://www.anchorterminal.com/tools/abyssale)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/abyssale\"\u003eAbyssale 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 Abyssale 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/abyssale-dark.png\n- Light: https://www.anchorterminal.com/assets/share/abyssale-light.png\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Programmatic asset production",
        "url": "https://www.anchorterminal.com/categories/design-assets"
      },
      {
        "name": "Abyssale",
        "url": ""
      }
    ],
    "description": "Abyssale is a creative automation platform from Paris that renders designs into images, MP4 video, GIFs, HTML5 banner ads and print PDFs, through a REST API, dynamic image URLs, webhooks, official SDKs and a remote MCP server.",
    "facts": [
      "rank #411 of 1486",
      "OAuth or key auth",
      "0 desk reviews"
    ],
    "h1": "Abyssale",
    "image": "https://www.anchorterminal.com/assets/og/tools-abyssale.png",
    "path": "/tools/abyssale",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Abyssale review (2026): pricing, alternatives and grade B",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/tools/abyssale"
  },
  "tokens": {
    "markdown": 7050,
    "slim": 1630
  },
  "version": 1
}
