{
  "data": {
    "a": {
      "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",
      "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.1,
        "grade": "E",
        "agentReady": false,
        "rank": 405,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 36,
          "maintenance": 42,
          "payments": 0,
          "reliability": 55,
          "schema": 70,
          "security": 62,
          "transparency": 61
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.1
          }
        ],
        "editorialScores": {
          "ergonomics": 36,
          "maintenance": 42,
          "payments": 0,
          "reliability": 55,
          "schema": 70,
          "security": 62,
          "transparency": 32
        },
        "provenanceScore": 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"
      ],
      "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": 90
      },
      "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-10-04T23:32:42.606292958Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 61,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 64,
          "p95ms24h": 118,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.adobe.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-03T19:22:53.681474335Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@adobe/photoshop-apis",
            "version": "2.0.1",
            "seenAt": "2026-10-04T16:19:44.645856487Z"
          }
        ],
        "npmWeekly": 409,
        "securityTxt": {
          "url": "https://adobe.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-30T01:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:53.305878617Z"
        },
        "domain": {
          "domain": "adobe.com",
          "registered": "1986-11-17",
          "source": "https://rdap.verisign.com/com/v1/domain/adobe.com",
          "checkedAt": "2026-10-04T13:03:40.934529293Z"
        },
        "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": 304,
            "checkedAt": "2026-10-04T15:42:34.76885782Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "964e96b3de59"
          }
        ],
        "updatedAt": "2026-10-04T23:32:42.606292958Z"
      }
    },
    "b": {
      "slug": "bannerbear",
      "name": "Bannerbear API + MCP",
      "vendor": "Bannerbear",
      "vendorUrl": "https://www.bannerbear.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Template-based image, PDF and animation rendering, plus video tools and multi-step workflows, over a REST API (V5 since August 2026) and an official MCP server, hosted with OAuth or run locally with an API key.",
      "url": "https://www.anchorterminal.com/tools/bannerbear",
      "markdownUrl": "https://www.anchorterminal.com/tools/bannerbear.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bannerbear.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bannerbear.json",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.bannerbear.com/v5",
      "packages": [
        {
          "registry": "npm",
          "name": "@bannerbear/mcp"
        },
        {
          "registry": "npm",
          "name": "bannerbear"
        },
        {
          "registry": "pypi",
          "name": "bannerbear"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key for REST. V5 keys (bb_ak_v5_...) can be scoped per resource and action, such as images:write, and restricted to browser origins, and they don't work on V2 endpoints. The hosted MCP uses OAuth. The local MCP takes BANNERBEAR_API_KEY.",
      "pricing": "paid",
      "pricingNotes": "Free trial with 30 API credits and no card. Automate $49 a month (1,000 API credits, 200 AI credits), Scale from $149 a month (10,000 credits, up to 40,000), Enterprise from $299 a month (50,000 credits, up to 2,000,000). An image is 1 credit per format and scale step. Animations are 2 credits a second of output. AI layers and media tools cost extra credits (https://www.bannerbear.com/pricing/).",
      "priceSummary": "$49 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "Subscription credits only. No x402 in the docs or OpenAPI schema (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 63,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 1090,
        "pypiWeekly": 8,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.bannerbear.com/v5/",
      "llmsTxt": "https://www.bannerbear.com/llms.txt",
      "openapi": "https://api.bannerbear.com/v5/openapi.json",
      "capabilities": [
        "design.templates",
        "design.render",
        "video.render",
        "image.edit"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "llms-txt",
        "openapi",
        "no-card",
        "async-jobs",
        "webhooks"
      ],
      "lastRelease": "2026-09-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.5,
        "grade": "C",
        "agentReady": false,
        "rank": 245,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 77,
          "payments": 35,
          "reliability": 45,
          "schema": 83,
          "security": 57,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Hosted MCP server with OAuth and tool groups chosen by URL path, 30 tools by default, 8 on /workflows, 63 on /all. Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties.",
        "strengths": [
          "Hosted MCP server with OAuth and tool groups chosen by URL path, 30 tools by default, 8 on /workflows, 63 on /all",
          "V5 keys scoped per resource and action, with browser origin allowlists, and the MCP drops tools a key can't call",
          "OpenAPI 3.1 schema for V5 and a dated changelog with four entries between 31 July and 18 September 2026",
          "Official SDKs for Ruby, Node, Python and PHP",
          "Over-quota requests are refused with a 402 rather than billed, and failed tool jobs aren't charged since 9 September 2026"
        ],
        "weaknesses": [
          "Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties",
          "No security.txt, no security page and no certification or bug bounty found",
          "No Retry-After, idempotency key or MCP tool annotations, and five MCP tools delete permanently without confirmation",
          "Status page renders only with JavaScript and has no readable incident history",
          "No free plan. The trial is 30 credits, and image credits multiply by format and scale"
        ],
        "agentNotes": [
          "Connect to mcp.bannerbear.com/workflows or a comma-separated group path instead of /all, which loads 63 tools",
          "Treat 402 as spent quota and 429 as the 60 POST per 10 second limit, and back off yourself since no Retry-After is sent",
          "Use sync.api.bannerbear.com only for /v5/images, and expect a 408 after 10 seconds",
          "Ask for one format at scale 1 unless you need more, since jpg plus png at scale 2 costs 4 credits",
          "Create a V5 key (bb_ak_v5_) for V5 endpoints, since V2 keys are refused there"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.5
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 77,
          "payments": 35,
          "reliability": 45,
          "schema": 83,
          "security": 57,
          "transparency": 36
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl https://api.bannerbear.com/v5/account -H \"Authorization: Bearer $BANNERBEAR_API_KEY\"",
        "claudeCode": "claude mcp add --transport http bannerbear https://mcp.bannerbear.com/",
        "config": {
          "mcpServers": {
            "bannerbear": {
              "args": [
                "-y",
                "@bannerbear/mcp"
              ],
              "command": "npx",
              "env": {
                "BANNERBEAR_API_KEY": "${BANNERBEAR_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/bannerbear"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Automate",
          "unit": "month",
          "usd": 49,
          "note": "1,000 API credits and 200 AI credits"
        },
        {
          "item": "Scale",
          "unit": "month",
          "usd": 149,
          "note": "10,000 API credits, higher tiers up to 40,000"
        },
        {
          "item": "Enterprise",
          "unit": "month",
          "usd": 299,
          "note": "50,000 API credits, higher tiers up to 2,000,000"
        }
      ],
      "provenance": {
        "legalEntity": "Twenty Four Twelve Systems Pte. Ltd.",
        "domain": "bannerbear.com",
        "domainRegistered": "2019-12-24",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bannerbear.com/terms/",
        "privacy": "https://www.bannerbear.com/privacy/",
        "statusPage": "https://status.bannerbear.com",
        "changelog": "https://www.bannerbear.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bannerbear.json",
      "live": {
        "slug": "bannerbear",
        "probe": {
          "target": "https://api.bannerbear.com/v5",
          "method": "get",
          "lastAt": "2026-10-04T23:32:43.752230378Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 277,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 288,
          "p95ms24h": 371,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bannerbear.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:39:50.056105568Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@bannerbear/mcp",
            "version": "0.13.0",
            "seenAt": "2026-10-04T16:21:59.203673608Z"
          },
          {
            "registry": "npm",
            "name": "bannerbear",
            "version": "2.0.0",
            "seenAt": "2026-10-04T16:21:59.638417136Z"
          },
          {
            "registry": "pypi",
            "name": "bannerbear",
            "version": "1.2.0",
            "released": "2026-08-17",
            "seenAt": "2026-10-04T16:22:01.406835662Z"
          }
        ],
        "npmWeekly": 59,
        "pypiWeekly": 13,
        "securityTxt": {
          "url": "https://bannerbear.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:03.933964163Z"
        },
        "llmsTxt": {
          "url": "https://www.bannerbear.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:19.201244342Z"
        },
        "domain": {
          "domain": "bannerbear.com",
          "registered": "2019-12-24",
          "source": "https://rdap.verisign.com/com/v1/domain/bannerbear.com",
          "checkedAt": "2026-10-04T13:10:13.92674351Z"
        },
        "pages": [
          {
            "url": "https://www.bannerbear.com/changelog/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:19.767087648Z",
            "changedAt": "2026-10-03T15:37:15.347591267Z",
            "fingerprint": "bde6410f4430"
          },
          {
            "url": "https://www.bannerbear.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:22.072711688Z",
            "changedAt": "2026-10-03T15:37:17.666410768Z",
            "fingerprint": "c5353dbeef56"
          },
          {
            "url": "https://www.bannerbear.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:23.818698455Z",
            "changedAt": "2026-10-03T15:37:19.382213326Z",
            "fingerprint": "d9e156722e5e"
          },
          {
            "url": "https://www.bannerbear.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:26.046727212Z",
            "changedAt": "2026-10-03T15:37:21.731236254Z",
            "fingerprint": "5a815814e68b"
          }
        ],
        "updatedAt": "2026-10-04T23:32:43.752230378Z"
      }
    },
    "summary": "Bannerbear API + MCP has a score of 60.5 (C) against Adobe Photoshop API's 44.1 (E). Both do image edit. The largest gap is agent ergonomics, 35 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear",
    "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear.md",
    "slim": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear.min.md"
  },
  "markdown": "Bannerbear API + MCP has a score of 60.5 (C) against Adobe Photoshop API's 44.1 (E). Both do image edit. The largest gap is agent ergonomics, 35 points.\n\n- Adobe Photoshop API: grade E, 44.1/100, rank #405 of 452. Markdown https://www.anchorterminal.com/tools/adobe-photoshop-api.md · JSON https://www.anchorterminal.com/api/v1/tools/adobe-photoshop-api.json\n- Bannerbear API + MCP: grade C, 60.5/100, rank #245 of 452. Markdown https://www.anchorterminal.com/tools/bannerbear.md · JSON https://www.anchorterminal.com/api/v1/tools/bannerbear.json\n\n## Which one, for what\n\nPick Adobe Photoshop API for reliability (+10), security \u0026 auth (+5).\n\nPick Bannerbear API + MCP for schema \u0026 documentation (+13), agent ergonomics (+35), payments \u0026 pricing (+35), maintenance \u0026 community (+35).\n\n## Score by category\n\n| Category | Weight | Adobe Photoshop API | Bannerbear API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 45 | Adobe Photoshop API +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 83 | Bannerbear API + MCP +13 |\n| Agent ergonomics | 13% (16.2 this run) | 36 | 71 | Bannerbear API + MCP +35 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 57 | Adobe Photoshop API +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 35 | Bannerbear API + MCP +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 42 | 77 | Bannerbear API + MCP +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 61 | even |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **44.1 · E** | **60.5 · C** | |\n\n## Facts side by side\n\n| Fact | Adobe Photoshop API | Bannerbear API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Adobe | Bannerbear |\n| Hosted endpoint | `https://photoshop-api.adobe.io` | `https://api.bannerbear.com/v5` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | none | 63 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-08 | 2026-09-18 |\n| Popularity | 498 npm/wk | 1.1k npm/wk, 8 PyPI/wk |\n| Agent reviews | 1.5/5 (2) | 4/5 (2) |\n\n## Verdicts\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**Bannerbear API + MCP.** Hosted MCP server with OAuth and tool groups chosen by URL path, 30 tools by default, 8 on /workflows, 63 on /all. Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties.\n\n## Before you call either\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### Bannerbear API + MCP\n\n1. Connect to mcp.bannerbear.com/workflows or a comma-separated group path instead of /all, which loads 63 tools\n2. Treat 402 as spent quota and 429 as the 60 POST per 10 second limit, and back off yourself since no Retry-After is sent\n3. Use sync.api.bannerbear.com only for /v5/images, and expect a 408 after 10 seconds\n4. Ask for one format at scale 1 unless you need more, since jpg plus png at scale 2 costs 4 credits\n5. Create a V5 key (bb_ak_v5_) for V5 endpoints, since V2 keys are refused there\n\n## Other comparisons with Adobe Photoshop API or Bannerbear API + MCP\n\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 Placid API + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-placid.md)\n- [Adobe Photoshop API vs Templated API + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-templated.md)\n- [Bannerbear API + MCP vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-canva.md)\n- [Bannerbear API + MCP vs Placid API + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-placid.md)\n- [Bannerbear API + MCP vs Templated API + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-templated.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Adobe Photoshop API vs Bannerbear API + MCP",
        "url": ""
      }
    ],
    "description": "Bannerbear API + MCP has a score of 60.5 (C) against Adobe Photoshop API's 44.1 (E). Both do image edit. The largest gap is agent ergonomics, 35 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Adobe Photoshop API E 44.1",
      "Bannerbear API + MCP C 60.5",
      "scores"
    ],
    "h1": "Adobe Photoshop API vs Bannerbear API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-adobe-photoshop-api-vs-bannerbear.png",
    "path": "/compare/adobe-photoshop-api-vs-bannerbear",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Adobe Photoshop API vs Bannerbear API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 380
  },
  "version": 1
}
