{
  "data": {
    "a": {
      "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"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "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
        }
      },
      "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"
      },
      "area": "design-diagrams",
      "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
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/abyssale.json",
      "live": {
        "slug": "abyssale",
        "probe": {
          "target": "https://api.abyssale.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:08.122898698Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 152,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 66,
          "p95ms24h": 171,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.abyssale/mcp",
            "version": "1.0.1",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "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-07T18:20:08.122898698Z"
      }
    },
    "answer": "Abyssale scores 65.6 (B) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 5 of 7 scored categories. Adobe Photoshop API leads on reliability and security \u0026 auth.",
    "b": {
      "slug": "adobe-photoshop-api",
      "name": "Adobe Photoshop API",
      "vendor": "Adobe",
      "vendorUrl": "https://developer.adobe.com/firefly-services/docs/photoshop/",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Photoshop as an async REST service inside Firefly Services.",
      "url": "https://www.anchorterminal.com/tools/adobe-photoshop-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/adobe-photoshop-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/adobe-photoshop-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/adobe-photoshop-api.json",
      "dns": "adobe-photoshop-api.grade.anchorterminal.com",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://photoshop-api.adobe.io",
      "packages": [
        {
          "registry": "npm",
          "name": "@adobe/photoshop-apis"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth server-to-server credentials from the Adobe Developer Console. Exchange client ID and secret at https://ims-na1.adobelogin.com/ims/token/v3 (scopes openid, AdobeID, read_organizations) for a 24-hour bearer token, then send it with the client ID in x-api-key. Inputs and outputs are pre-signed URLs on your own storage.",
      "pricing": "paid",
      "pricingNotes": "No public price list and no self-serve plan. Access needs an active enterprise contract that includes Firefly Services, arranged through an Adobe representative. Creative Cloud plans don't include API access (https://business.adobe.com/products/firefly-business.html).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Enterprise contract billing only. No x402 in the docs or OpenAPI spec (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 498,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.adobe.com/firefly-services/docs/photoshop/",
      "openapi": "https://raw.githubusercontent.com/AdobeDocs/ffs-photoshop-API/main/static/photoshopv2-api.json",
      "capabilities": [
        "image.edit",
        "design.templates",
        "design.render"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "enterprise",
        "openapi",
        "async-jobs",
        "webhooks"
      ],
      "lastRelease": "2026-09-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44,
        "grade": "E",
        "agentReady": false,
        "rank": 1218,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 36,
          "maintenance": 42,
          "payments": 0,
          "reliability": 55,
          "schema": 70,
          "security": 62,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-10-01. Two months after the v1 end of life on 2026-07-31, the getting-started page's first API call is still https://image.adobe.io/pie/psdService/hello, and the actions and rendering guides still show v1 /pie/psdService endpoints with no deprecation notice. The only official SDK, @adobe/photoshop-apis 2.0.1, calls v1 paths only. https://developer.adobe.com/firefly-services/docs/photoshop/getting-started/ and https://github.com/AdobeDocs/ffs-photoshop-API"
        ],
        "verdict": "Edits real PSDs, including text layers, smart objects, layer effects, groups and artboards. Enterprise contract only. No self-serve sign-up, free tier or public price.",
        "bestFor": "Enterprise creative operations already on Adobe that automate PSD templating, actions and retouching at volume.",
        "strengths": [
          "Edits real PSDs, including text layers, smart objects, layer effects, groups and artboards",
          "Runs Photoshop actions and UXP scripts server side",
          "Public OpenAPI 3.0.1 spec for v2 and a Markdown migration guide written for AI assistants",
          "Documented per-organisation limits and retry rules, including retry-after on 429",
          "OAuth server-to-server credentials with 24-hour tokens, and a signed security.txt with a bug bounty"
        ],
        "weaknesses": [
          "Enterprise contract only. No self-serve sign-up, free tier or public price",
          "The getting-started page and the official SDK still call v1 endpoints that reached end of life on 2026-07-31",
          "The release notes page has no entries, so changes are visible only in the docs repo",
          "Adobe's usage notes say error messages may not be helpful",
          "Every input and output is a pre-signed URL on your own storage"
        ],
        "agentNotes": [
          "Call v2 paths on photoshop-api.adobe.io. Remove background and its status live on image.adobe.io",
          "Skip @adobe/photoshop-apis and the getting-started curl, which still target v1 /pie/psdService paths",
          "Poll /v2/status/{jobId} or subscribe to I/O Events, since every call returns a job",
          "Retry only 5xx and 429, using retry-after and at most three attempts",
          "Cache the IMS token and refresh it before 24 hours run out"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44
          }
        ],
        "editorialScores": {
          "ergonomics": 36,
          "maintenance": 42,
          "payments": 0,
          "reliability": 55,
          "schema": 70,
          "security": 62,
          "transparency": 32
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://image.adobe.io/v2/remove-background \\\n  -H \"Authorization: Bearer $PS_FF_SERVICES_ACCESS_TOKEN\" -H \"x-api-key: $PS_FF_SERVICES_CLIENT_ID\" \\\n  -H \"Content-Type: application/json\" -d '{\"image\":{\"source\":{\"url\":\"\u003csigned_get_url\u003e\"}},\"mode\":\"cutout\",\"output\":{\"mediaType\":\"image/png\"}}'"
      },
      "letme": {
        "capability": "https://letme.dev/image.edit",
        "tool": "https://letme.dev/adobe-photoshop-api"
      },
      "sameCompany": [
        "adobe-firefly",
        "adobe-pdf-extract",
        "adobe-commerce",
        "adobe-acrobat-sign"
      ],
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "Adobe Inc.",
        "domain": "adobe.com",
        "domainRegistered": "1986-11-17",
        "endpointOnVendorDomain": true,
        "terms": "https://www.adobe.com/legal/terms.html",
        "privacy": "https://www.adobe.com/privacy/policy.html",
        "statusPage": "https://status.adobe.com",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "The API is served from photoshop-api.adobe.io and image.adobe.io, Adobe's developer API domain, not adobe.com",
          "The v2 OpenAPI spec is published in the AdobeDocs/ffs-photoshop-API GitHub repo",
          "The release notes page at developer.adobe.com/firefly-services/docs/photoshop/guides/release-notes/ has a heading and no entries as of 2026-10-01",
          "security.txt is PGP-signed, expires 2027-07-30 and lists an Intigriti bug bounty"
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/adobe-photoshop-api.json",
      "live": {
        "slug": "adobe-photoshop-api",
        "probe": {
          "target": "https://photoshop-api.adobe.io",
          "method": "get",
          "lastAt": "2026-11-07T18:20:08.549201675Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 58,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.97,
          "p50ms24h": 64,
          "p95ms24h": 131,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 246
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.adobe.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T10:02:50.202814968Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@adobe/photoshop-apis",
            "version": "2.0.1",
            "seenAt": "2026-11-06T23:02:54.155303159Z"
          }
        ],
        "npmWeekly": 362,
        "securityTxt": {
          "url": "https://adobe.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-30T01:00:00.000Z",
          "checkedAt": "2026-11-07T16:01:21.696737255Z"
        },
        "domain": {
          "domain": "adobe.com",
          "registered": "1986-11-17",
          "source": "https://rdap.verisign.com/com/v1/domain/adobe.com",
          "checkedAt": "2026-11-01T14:07:03.014131777Z"
        },
        "pages": [
          {
            "url": "https://developer.adobe.com/firefly-services/docs/photoshop/guides/release-notes/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-01T13:12:05.524417157Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "af0d1bcf59a1"
          },
          {
            "url": "https://developer.adobe.com/firefly-services/docs/photoshop/getting-started/deprecation-announcement/",
            "kind": "deprecations",
            "status": 404,
            "checkedAt": "2026-11-07T14:02:57.491076788Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "964e96b3de59"
          }
        ],
        "updatedAt": "2026-11-07T18:20:08.549201675Z"
      }
    },
    "edges": [
      {
        "by": 49,
        "category": "ergonomics",
        "leads": "abyssale",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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.",
          "b": "Every call returns a job and outputs go to your own storage, so responses stay small, but a full document manifest can be large (12). Little to page or filter beyond manifest options (8). Error codes defined, with Adobe's own caveat about unhelpful messages (8). No idempotency key. Retry guidance limits retries to 5xx and the status GET is safe to poll (8). The only official SDK, @adobe/photoshop-apis 2.0.1, calls only v1 /pie/psdService paths, which reached end of life on 2026-07-31, and every call needs a token exchange, two headers and pre-signed URLs (0)."
        },
        "scores": {
          "a": 85,
          "b": 36
        }
      },
      {
        "by": 43,
        "category": "maintenance",
        "leads": "abyssale",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "Adobe publishes no dated release notes, so we used the public spec. New v2 capabilities (layer effects, nested group export) were merged on 2026-09-08 and remove background was restored to the spec on 2026-09-21 (30). No releases or dated changelog entries in the last 90 days, only docs commits (5). Support goes through an Adobe customer success manager. The docs repo is active but has no public changelog (5). The official JavaScript SDK was last tagged on 2025-06-24 and targets v1 only (0). The SDK repo has CI workflows but no commits since June 2025 (2)."
        },
        "scores": {
          "a": 85,
          "b": 42
        }
      },
      {
        "by": 35,
        "category": "payments",
        "leads": "abyssale",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No x402, MPP or L402 in the docs or the OpenAPI spec (0). No public price, enterprise contract through Adobe sales per the 30 September check (0). No free tier (0). A person has to negotiate a contract before any credentials exist (0)."
        },
        "scores": {
          "a": 35,
          "b": 0
        }
      },
      {
        "by": 28,
        "category": "schema",
        "leads": "abyssale",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "OpenAPI 3.0.1 spec for v2 in the public AdobeDocs/ffs-photoshop-API repo, 8 operations (25). No llms.txt found, but the docs include a Markdown 'LLM migration reference guide' written for AI assistants (5). Five of the eight operations have a summary and no description in the spec, though the guides are long and specific (12). 94 enums, required fields and 32 examples in the spec (13). Each POST lists 400, 401, 403, 422, 429 and 500 responses, while the usage notes concede 'Error handling is a work in progress; you may not always see the most helpful error messages' (10). Versioned /v2 paths, but the release notes page is a heading with no entries (5)."
        },
        "scores": {
          "a": 98,
          "b": 70
        }
      },
      {
        "by": 14,
        "category": "reliability",
        "leads": "adobe-photoshop-api",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "status.adobe.com exists but renders only with JavaScript, so we couldn't confirm a Firefly Services or Photoshop component (10) or read its history (5). Per-organisation limits documented, POST 300 a minute soft and 320 hard, GET 300 every 3 seconds, remove background 2 POSTs every 3 seconds, masking 60 a minute and 9,000 a day (15). The usage notes say to read retry-after on 429, retry only 5xx, back off exponentially over three attempts, and that the service itself retries 429, 502, 503 and 504 three times (15). No SLA. A benchmarking page says its figures are 'not a performance SLA' (0). v2 is GA (10)."
        },
        "scores": {
          "a": 41,
          "b": 55
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "abyssale",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "Closed service under Adobe's terms (15). Inputs and outputs stay on your own pre-signed storage, but we found no retention or training statement specific to the Photoshop API (5). The v1 shutdown was announced on 20 April 2026 for 31 July 2026, 102 days, with dated FAQs. The getting-started page and guides still show v1 calls with no notice (12). No subprocessor list or data locations found for Firefly Services (0)."
        },
        "scores": {
          "a": 71,
          "b": 60
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Abyssale SAS",
        "b": "Adobe",
        "name": "Vendor"
      },
      {
        "a": "https://api.abyssale.com",
        "b": "https://photoshop-api.adobe.io",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Closed service under the Abyssale terms of service (version 3, 21 July 2026)",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "20",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "com.abyssale/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-29",
        "b": "2026-09-08",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2025-10-24",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "498 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "1.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Abyssale scores 65.6 (B) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 5 of 7 scored categories. Adobe Photoshop API leads on reliability and security \u0026 auth.",
        "question": "Which is better for AI agents, Abyssale or Adobe Photoshop API?"
      },
      {
        "answer": "Abyssale takes an API key or an OAuth sign-in. Adobe Photoshop API uses an OAuth sign-in.",
        "question": "Do Abyssale and Adobe Photoshop API need an API key?"
      },
      {
        "answer": "Yes. Abyssale has a hosted endpoint at https://api.abyssale.com and Adobe Photoshop API at https://photoshop-api.adobe.io.",
        "question": "Can an agent call Abyssale and Adobe Photoshop API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 98 against 70",
          "Agent ergonomics, 85 against 36",
          "Payments \u0026 pricing, 35 against 0",
          "Maintenance \u0026 community, 85 against 42",
          "Transparency \u0026 trust, 71 against 60"
        ],
        "also": [
          "Free to start without a card",
          "No incidents deducted, where Adobe Photoshop API loses 4 points for them"
        ],
        "goodFor": "Multi-format ad creative, video, HTML5 banners and print PDFs from one design, for marketing teams and agencies with an agent in the loop.",
        "slug": "abyssale",
        "watchFor": "API and MCP need the Pro plan at $45 a seat a month"
      },
      {
        "aheadOn": [
          "Reliability, 55 against 41",
          "Security \u0026 auth, 62 against 55"
        ],
        "also": null,
        "goodFor": "Enterprise creative operations already on Adobe that automate PSD templating, actions and retouching at volume.",
        "slug": "adobe-photoshop-api",
        "watchFor": "Enterprise contract only. No self-serve sign-up, free tier or public price"
      }
    ],
    "history": {
      "abyssale": null,
      "adobe-photoshop-api": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 43.9,
          "fromGrade": "E",
          "to": 44,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 44.1,
          "fromGrade": "E",
          "to": 43.9,
          "toGrade": "E"
        }
      ]
    },
    "job": {
      "capability": "design.render",
      "name": "Design rendering"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-apitemplate-io.json",
        "title": "Adobe Photoshop API vs APITemplate.io",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-apitemplate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-contentdrips.json",
        "title": "Adobe Photoshop API vs Contentdrips API and MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-contentdrips"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-creatomate.json",
        "title": "Adobe Photoshop API vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-creatomate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-dynapictures.json",
        "title": "Adobe Photoshop API vs DynaPictures",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-dynapictures"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre.json",
        "title": "Adobe Photoshop API vs Layerre",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-placid.json",
        "title": "Adobe Photoshop API vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-postnitro.json",
        "title": "Adobe Photoshop API vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.json",
        "title": "Adobe Photoshop API vs Robolly",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-shotstack.json",
        "title": "Adobe Photoshop API vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-templated.json",
        "title": "Adobe Photoshop API vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-apitemplate-io.json",
        "title": "Abyssale vs APITemplate.io",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-apitemplate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-bannerbear.json",
        "title": "Abyssale vs Bannerbear API + MCP",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-bannerbear"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-canva.json",
        "title": "Abyssale vs Canva REST APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-canva"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-contentdrips.json",
        "title": "Abyssale vs Contentdrips API and MCP",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-contentdrips"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-creatomate.json",
        "title": "Abyssale vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-creatomate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-dynapictures.json",
        "title": "Abyssale vs DynaPictures",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-dynapictures"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-layerre.json",
        "title": "Abyssale vs Layerre",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-osmo-cli.json",
        "title": "Abyssale vs Osmo CLI",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-osmo-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-pictify.json",
        "title": "Abyssale vs Pictify",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-pictify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-pixelixe.json",
        "title": "Abyssale vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-placid.json",
        "title": "Abyssale vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-postnitro.json",
        "title": "Abyssale vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-robolly.json",
        "title": "Abyssale vs Robolly",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-shotstack.json",
        "title": "Abyssale vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-templated.json",
        "title": "Abyssale vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pictify.json",
        "title": "Adobe Photoshop API vs Pictify",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pictify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-photoroom.json",
        "title": "Abyssale vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear.json",
        "title": "Adobe Photoshop API vs Bannerbear API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-canva.json",
        "title": "Adobe Photoshop API vs Canva REST APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-canva"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-osmo-cli.json",
        "title": "Adobe Photoshop API vs Osmo CLI",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-osmo-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-photoroom.json",
        "title": "Adobe Photoshop API vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pixelixe.json",
        "title": "Adobe Photoshop API vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pixelixe"
      }
    ],
    "panel": null,
    "scores": [
      {
        "abyssale": 41,
        "adobe-photoshop-api": 55,
        "by": 14,
        "edge": "adobe-photoshop-api",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "abyssale": 98,
        "adobe-photoshop-api": 70,
        "by": 28,
        "edge": "abyssale",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "abyssale": 85,
        "adobe-photoshop-api": 36,
        "by": 49,
        "edge": "abyssale",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "abyssale": 55,
        "adobe-photoshop-api": 62,
        "by": 7,
        "edge": "adobe-photoshop-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "abyssale": 35,
        "adobe-photoshop-api": 0,
        "by": 35,
        "edge": "abyssale",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "abyssale": 85,
        "adobe-photoshop-api": 42,
        "by": 43,
        "edge": "abyssale",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "abyssale": 71,
        "adobe-photoshop-api": 60,
        "by": 11,
        "edge": "abyssale",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Abyssale scores 65.6 (B) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 5 of 7 scored categories. Adobe Photoshop API leads on reliability and security \u0026 auth. Both do design rendering.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "abyssale": "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.",
      "adobe-photoshop-api": "Edits real PSDs, including text layers, smart objects, layer effects, groups and artboards. Enterprise contract only. No self-serve sign-up, free tier or public price."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api",
    "json": "https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api.min.md"
  },
  "markdown": "Abyssale scores 65.6 (B) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 5 of 7 scored categories. Adobe Photoshop API leads on reliability and security \u0026 auth. Both do design rendering.\n\n- Abyssale: grade B, 65.6/100, rank #411 of 1486. Markdown https://www.anchorterminal.com/tools/abyssale.md · JSON https://www.anchorterminal.com/api/v1/tools/abyssale.json\n- Adobe Photoshop API: grade E, 44/100, rank #1218 of 1486. Markdown https://www.anchorterminal.com/tools/adobe-photoshop-api.md · JSON https://www.anchorterminal.com/api/v1/tools/adobe-photoshop-api.json\n- Best programmatic image and design asset APIs for AI agents: https://www.anchorterminal.com/best/design-assets/index.md\n- All 153 assets comparisons: https://www.anchorterminal.com/compare/design-assets/index.md\n\n## Which one, for what\n\n### Abyssale (B)\n\nGood for: Multi-format ad creative, video, HTML5 banners and print PDFs from one design, for marketing teams and agencies with an agent in the loop.\n\nAhead on:\n- Schema \u0026 documentation, 98 against 70\n- Agent ergonomics, 85 against 36\n- Payments \u0026 pricing, 35 against 0\n- Maintenance \u0026 community, 85 against 42\n- Transparency \u0026 trust, 71 against 60\n\nAlso in its favour:\n- Free to start without a card\n- No incidents deducted, where Adobe Photoshop API loses 4 points for them\n\nWatch for: API and MCP need the Pro plan at $45 a seat a month\n\n### Adobe Photoshop API (E)\n\nGood for: Enterprise creative operations already on Adobe that automate PSD templating, actions and retouching at volume.\n\nAhead on:\n- Reliability, 55 against 41\n- Security \u0026 auth, 62 against 55\n\nWatch for: Enterprise contract only. No self-serve sign-up, free tier or public price\n\n\n## Why the edge\n\n### Agent ergonomics: Abyssale +49\n\n- Abyssale (85): 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- Adobe Photoshop API (36): Every call returns a job and outputs go to your own storage, so responses stay small, but a full document manifest can be large (12). Little to page or filter beyond manifest options (8). Error codes defined, with Adobe's own caveat about unhelpful messages (8). No idempotency key. Retry guidance limits retries to 5xx and the status GET is safe to poll (8). The only official SDK, @adobe/photoshop-apis 2.0.1, calls only v1 /pie/psdService paths, which reached end of life on 2026-07-31, and every call needs a token exchange, two headers and pre-signed URLs (0).\n\n### Maintenance \u0026 community: Abyssale +43\n\n- Abyssale (85): 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- Adobe Photoshop API (42): Adobe publishes no dated release notes, so we used the public spec. New v2 capabilities (layer effects, nested group export) were merged on 2026-09-08 and remove background was restored to the spec on 2026-09-21 (30). No releases or dated changelog entries in the last 90 days, only docs commits (5). Support goes through an Adobe customer success manager. The docs repo is active but has no public changelog (5). The official JavaScript SDK was last tagged on 2025-06-24 and targets v1 only (0). The SDK repo has CI workflows but no commits since June 2025 (2).\n\n### Payments \u0026 pricing: Abyssale +35\n\n- Abyssale (35): 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- Adobe Photoshop API (0): No x402, MPP or L402 in the docs or the OpenAPI spec (0). No public price, enterprise contract through Adobe sales per the 30 September check (0). No free tier (0). A person has to negotiate a contract before any credentials exist (0).\n\n### Schema \u0026 documentation: Abyssale +28\n\n- Abyssale (98): 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- Adobe Photoshop API (70): OpenAPI 3.0.1 spec for v2 in the public AdobeDocs/ffs-photoshop-API repo, 8 operations (25). No llms.txt found, but the docs include a Markdown 'LLM migration reference guide' written for AI assistants (5). Five of the eight operations have a summary and no description in the spec, though the guides are long and specific (12). 94 enums, required fields and 32 examples in the spec (13). Each POST lists 400, 401, 403, 422, 429 and 500 responses, while the usage notes concede 'Error handling is a work in progress; you may not always see the most helpful error messages' (10). Versioned /v2 paths, but the release notes page is a heading with no entries (5).\n\n### Reliability: Adobe Photoshop API +14\n\n- Abyssale (41): 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- Adobe Photoshop API (55): status.adobe.com exists but renders only with JavaScript, so we couldn't confirm a Firefly Services or Photoshop component (10) or read its history (5). Per-organisation limits documented, POST 300 a minute soft and 320 hard, GET 300 every 3 seconds, remove background 2 POSTs every 3 seconds, masking 60 a minute and 9,000 a day (15). The usage notes say to read retry-after on 429, retry only 5xx, back off exponentially over three attempts, and that the service itself retries 429, 502, 503 and 504 three times (15). No SLA. A benchmarking page says its figures are 'not a performance SLA' (0). v2 is GA (10).\n\n### Transparency \u0026 trust: Abyssale +11\n\n- Abyssale (71): 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- Adobe Photoshop API (60): Closed service under Adobe's terms (15). Inputs and outputs stay on your own pre-signed storage, but we found no retention or training statement specific to the Photoshop API (5). The v1 shutdown was announced on 20 April 2026 for 31 July 2026, 102 days, with dated FAQs. The getting-started page and guides still show v1 calls with no notice (12). No subprocessor list or data locations found for Firefly Services (0).\n\n## Score by category\n\n| Category | Weight | Abyssale | Adobe Photoshop API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 41 | 55 | Adobe Photoshop API +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 98 | 70 | Abyssale +28 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 36 | Abyssale +49 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 62 | Adobe Photoshop API +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 0 | Abyssale +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 42 | Abyssale +43 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 60 | Abyssale +11 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **65.6 · B** | **44 · E** | |\n\n## Facts side by side\n\n| Fact | Abyssale | Adobe Photoshop API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Abyssale SAS | Adobe |\n| Hosted endpoint | `https://api.abyssale.com` | `https://photoshop-api.adobe.io` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Closed service under the Abyssale terms of service (version 3, 21 July 2026) | none |\n| Tools exposed | 20 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `com.abyssale/mcp` | not listed |\n| Last release | 2026-10-29 | 2026-09-08 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | no date given | 2025-10-24 |\n| Customer content may train models | yes | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | none | 498 npm/wk |\n| Agent reviews | none | 1.5/5 (2) |\n\n## How the scores have moved\n\n### Abyssale\n\nNo score change since it was listed.\n\n### Adobe Photoshop API\n\n- +0.1 on 27 October 2026: checklist\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**Abyssale.** 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.\n\n**Adobe Photoshop API.** Edits real PSDs, including text layers, smart objects, layer effects, groups and artboards. Enterprise contract only. No self-serve sign-up, free tier or public price.\n\n## Before you call either\n\n### Abyssale\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### Adobe Photoshop API\n\n1. Call v2 paths on photoshop-api.adobe.io. Remove background and its status live on image.adobe.io\n2. Skip @adobe/photoshop-apis and the getting-started curl, which still target v1 /pie/psdService paths\n3. Poll /v2/status/{jobId} or subscribe to I/O Events, since every call returns a job\n4. Retry only 5xx and 429, using retry-after and at most three attempts\n5. Cache the IMS token and refresh it before 24 hours run out\n\n## Questions\n\n### Which is better for AI agents, Abyssale or Adobe Photoshop API?\n\nAbyssale scores 65.6 (B) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 5 of 7 scored categories. Adobe Photoshop API leads on reliability and security \u0026 auth.\n\n### Do Abyssale and Adobe Photoshop API need an API key?\n\nAbyssale takes an API key or an OAuth sign-in. Adobe Photoshop API uses an OAuth sign-in.\n\n### Can an agent call Abyssale and Adobe Photoshop API without installing anything?\n\nYes. Abyssale has a hosted endpoint at https://api.abyssale.com and Adobe Photoshop API at https://photoshop-api.adobe.io.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"abyssale\", \"b\": \"adobe-photoshop-api\"}`. From a terminal: `anchor compare abyssale adobe-photoshop-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/abyssale.json and https://www.anchorterminal.com/api/v1/tools/adobe-photoshop-api.json\n\n## Other comparisons with Abyssale or Adobe Photoshop API\n\n- [Adobe Photoshop API vs APITemplate.io](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-apitemplate-io.md)\n- [Adobe Photoshop API vs Contentdrips API and MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-contentdrips.md)\n- [Adobe Photoshop API vs Creatomate](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-creatomate.md)\n- [Adobe Photoshop API vs DynaPictures](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-dynapictures.md)\n- [Adobe Photoshop API vs Layerre](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre.md)\n- [Adobe Photoshop API vs Placid API + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-placid.md)\n- [Adobe Photoshop API vs PostNitro](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-postnitro.md)\n- [Adobe Photoshop API vs Robolly](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.md)\n- [Adobe Photoshop API vs Shotstack](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-shotstack.md)\n- [Adobe Photoshop API vs Templated API + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-templated.md)\n- [Abyssale vs APITemplate.io](https://www.anchorterminal.com/compare/abyssale-vs-apitemplate-io.md)\n- [Abyssale vs Bannerbear API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-bannerbear.md)\n- [Abyssale vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/abyssale-vs-canva.md)\n- [Abyssale vs Contentdrips API and MCP](https://www.anchorterminal.com/compare/abyssale-vs-contentdrips.md)\n- [Abyssale vs Creatomate](https://www.anchorterminal.com/compare/abyssale-vs-creatomate.md)\n- [Abyssale vs DynaPictures](https://www.anchorterminal.com/compare/abyssale-vs-dynapictures.md)\n- [Abyssale vs Layerre](https://www.anchorterminal.com/compare/abyssale-vs-layerre.md)\n- [Abyssale vs Osmo CLI](https://www.anchorterminal.com/compare/abyssale-vs-osmo-cli.md)\n- [Abyssale vs Pictify](https://www.anchorterminal.com/compare/abyssale-vs-pictify.md)\n- [Abyssale vs Pixelixe](https://www.anchorterminal.com/compare/abyssale-vs-pixelixe.md)\n- [Abyssale vs Placid API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-placid.md)\n- [Abyssale vs PostNitro](https://www.anchorterminal.com/compare/abyssale-vs-postnitro.md)\n- [Abyssale vs Robolly](https://www.anchorterminal.com/compare/abyssale-vs-robolly.md)\n- [Abyssale vs Shotstack](https://www.anchorterminal.com/compare/abyssale-vs-shotstack.md)\n- [Abyssale vs Templated API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-templated.md)\n- [Adobe Photoshop API vs Pictify](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pictify.md)\n- [Abyssale vs Photoroom API](https://www.anchorterminal.com/compare/abyssale-vs-photoroom.md)\n- [Adobe Photoshop API vs Bannerbear API + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear.md)\n- [Adobe Photoshop API vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-canva.md)\n- [Adobe Photoshop API vs Osmo CLI](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-osmo-cli.md)\n- [Adobe Photoshop API vs Photoroom API](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-photoroom.md)\n- [Adobe Photoshop API vs Pixelixe](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pixelixe.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Abyssale vs Adobe Photoshop API",
        "url": ""
      }
    ],
    "description": "Abyssale scores 65.6 (B) to Adobe Photoshop's 44 (E) for design rendering. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Abyssale B 65.6",
      "Adobe Photoshop API E 44",
      "scores"
    ],
    "h1": "Abyssale vs Adobe Photoshop API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/abyssale-vs-adobe-photoshop-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Abyssale vs Adobe Photoshop for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api"
  },
  "tokens": {
    "markdown": 4650,
    "slim": 2680
  },
  "version": 1
}
