{
  "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",
      "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"
      }
    },
    "answer": "Robolly scores 48.4 (D) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 2 of 7 scored categories. Adobe Photoshop API leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "robolly",
      "name": "Robolly",
      "vendor": "Avantis Innovations LLC (Robolly)",
      "vendorUrl": "https://robolly.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Robolly renders templates designed in its visual editor into JPG, PNG, WebP, single and multi-page PDF, MP4 and WebM files, through an on-demand REST API, signed render links, no-code integrations and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/robolly",
      "markdownUrl": "https://www.anchorterminal.com/tools/robolly.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/robolly.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/robolly.json",
      "dns": "robolly.grade.anchorterminal.com",
      "license": "Closed service under the Robolly terms of use (effective 8 April 2026)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.robolly.com/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "API key from Account settings, sent as `Authorization: Bearer`; render links can instead carry a signature. The remote MCP server at api.robolly.com/mcp uses OAuth with one `robolly:mcp` scope, where the user picks the organisation it may reach, and connections are listed and revoked under Account settings \u003e Connected AI Tools. The API key works as a fallback bearer token. No key scopes documented.",
      "pricing": "paid",
      "pricingNotes": "Individual $39 a month (250 or 1,000 render credits), Business $129 a month (10,000 to 500,000 credits by tier), Enterprise custom above 1,000,000. 7-day trial with no card. 1 credit for a JPG or WebP under 2,000 px, 3 for PNG, more for larger sizes, PDFs and video. Identical re-renders within 45 days are free.",
      "priceSummary": "$39 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Monthly plans with render credits. No x402, MPP or L402 in the API reference, the MCP page, llms.txt or pricing (checked 2026-11-06). Exhausted credits return the error code `render-limit-exhausted`.",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://robolly.com/docs/api-reference/",
      "llmsTxt": "https://robolly.com/llms.txt",
      "capabilities": [
        "design.templates",
        "design.render",
        "pdf.generate",
        "video.generate"
      ],
      "tags": [
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "api-key",
        "llms-txt",
        "trial",
        "no-card",
        "status-page"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.4,
        "grade": "D",
        "agentReady": false,
        "rank": 1115,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 5,
          "payments": 35,
          "reliability": 48,
          "schema": 57,
          "security": 47,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Robolly's nine MCP tools, synchronous renders, typed error codes and free cached re-renders keep template rendering cheap and predictable for an agent, and OAuth connections can be revoked per client. There is no OpenAPI file, changelog or dated release, and API access starts at $39 a month after a 7-day trial.",
        "bestFor": "Template-driven images, PDFs and short videos for marketers and developers who want a hosted editor and simple synchronous calls.",
        "strengths": [
          "Nine compact MCP tools, including one that lists each template's accepted keys and constraints",
          "Error responses carry `errorCode` slugs, among them `rate-limit` and `render-limit-exhausted`",
          "Identical re-renders within 45 days are served free from cache",
          "MCP OAuth limited to one organisation, with connections revoked in Account settings",
          "Published rate limit of 3 renders a second and a credit table by format and size"
        ],
        "weaknesses": [
          "No OpenAPI or other machine-readable contract found",
          "No changelog or dated release found, and the MCP server isn't in the official registry",
          "API access needs a paid plan from $39 a month after a 7-day trial",
          "The UptimeRobot status page draws its data from a path its robots.txt closes to us",
          "The privacy policy names no hosting or other processors"
        ],
        "agentNotes": [
          "Call `get_template_modifications` before `render` to learn the keys a template accepts",
          "Send renders one at a time; the API refuses more than 3 a second with `rate-limit`",
          "Repeat an identical render freely; it is cached for 45 days and costs nothing",
          "Poll `get_render` after `render_video`, since video renders are queued",
          "Stop on `render-limit-exhausted` and tell the user the monthly credits are spent"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.4
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 5,
          "payments": 35,
          "reliability": 48,
          "schema": 57,
          "security": 47,
          "transparency": 27
        },
        "provenanceScore": 71,
        "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": {
        "claudeCode": "claude mcp add --transport http robolly --scope user https://api.robolly.com/mcp",
        "config": {
          "mcpServers": {
            "robolly": {
              "type": "http",
              "url": "https://api.robolly.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/robolly"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Individual plan",
          "unit": "month",
          "usd": 39,
          "note": "From 250 render credits a month; more credits cost more"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 129,
          "note": "From 10,000 render credits a month"
        }
      ],
      "provenance": {
        "legalEntity": "Avantis Innovations LLC",
        "domain": "robolly.com",
        "domainRegistered": "2021-01-30",
        "endpointOnVendorDomain": true,
        "terms": "https://robolly.com/terms/",
        "privacy": "https://robolly.com/privacy/",
        "statusPage": "https://stats.uptimerobot.com/gpPQWiyqL",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms (effective 8 April 2026) name Avantis Innovations LLC, Sheridan, Wyoming, under Wyoming law, and say Robolly is made by the team behind Sidemail.io and EmailSupportAI. The privacy policy has the same effective date.",
          "The terms contain no clause on automated access to the website that was found.",
          "robolly.com/robots.txt disallows /cdn-cgi/ only. api.robolly.com/robots.txt carries content-signal comments only. stats.uptimerobot.com/robots.txt disallows /api/, which the status page loads its data from, so no figures were read.",
          "RDAP gives robolly.com a registration date of 30 January 2021.",
          "/.well-known/security.txt answers 200 with the site's HTML shell, not a security.txt file. No changelog found."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/robolly.json",
      "live": {
        "slug": "robolly",
        "probe": {
          "target": "https://api.robolly.com/v1",
          "method": "get",
          "lastAt": "2026-11-07T18:20:51.274068339Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 177,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 111,
          "p95ms24h": 182,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://stats.uptimerobot.com/gpPQWiyqL",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:41.781150953Z"
        },
        "securityTxt": {
          "url": "https://robolly.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:53.763302813Z"
        },
        "llmsTxt": {
          "url": "https://robolly.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:50.184463404Z"
        },
        "pages": [
          {
            "url": "https://robolly.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:36.278744484Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8fd0121424f4"
          },
          {
            "url": "https://robolly.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:38.520828166Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9c9ba532e790"
          }
        ],
        "mcpTools": {
          "url": "https://api.robolly.com/mcp",
          "checkedAt": "2026-11-07T01:47:28.870586301Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:47:28.870586301Z"
        },
        "updatedAt": "2026-11-07T18:20:51.274068339Z"
      }
    },
    "edges": [
      {
        "by": 39,
        "category": "ergonomics",
        "leads": "robolly",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "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).",
          "b": "Nine MCP tools (25). The renders list pages with a cursor, and templates are found by name (14 of 20). Errors carry `errorCode` and `developerMessage` with eight documented codes (17 of 20). Identical renders are cached for 45 days, so repeats are free and safe, the MCP server has no delete tool, and annotations couldn't be read on the closed server (12 of 20). Renders return the file synchronously by default, but there's no SDK (7 of 15). 25 + 14 + 17 + 12 + 7 = 75."
        },
        "scores": {
          "a": 36,
          "b": 75
        }
      },
      {
        "by": 37,
        "category": "maintenance",
        "leads": "adobe-photoshop-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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).",
          "b": "No changelog, release notes or dated API change was found. The sitemap marks every docs page as modified on 4 November 2026, which reads as a site rebuild rather than a change, so it isn't counted (0). No dated changes since 8 August (0). Support by email, with chat on higher plans; not tested (5 of 15). Not in the official MCP registry and no SDKs (0). No public package or repository (0). 0 + 0 + 5 + 0 + 0 = 5."
        },
        "scores": {
          "a": 42,
          "b": 5
        }
      },
      {
        "by": 35,
        "category": "payments",
        "leads": "robolly",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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).",
          "b": "No x402, MPP or L402 (0). Plan prices are public and a table gives the credit cost of each format and size (15 of 20). 7-day trial with no card (20). A person signs up, then copies the key or approves OAuth (0). 0 + 15 + 20 + 0 = 35."
        },
        "scores": {
          "a": 0,
          "b": 35
        }
      },
      {
        "by": 15,
        "category": "security",
        "leads": "adobe-photoshop-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth server-to-server credentials from the Developer Console, exchanged for 24-hour tokens. The scopes (openid, AdobeID, read_organizations) aren't per operation (25). Access follows the organisation's product profile, and inputs and outputs are pre-signed URLs to specific objects in your own storage, but there's no read-only mode (10). Returns renders and manifests of your own files (10). No per-call audit log found (0). security.txt is PGP-signed and valid until 2027-07-30, with a PSIRT address and an Intigriti bug bounty. We didn't check certifications for Firefly Services in this run (17).",
          "b": "Bearer API key, signed render links, and MCP OAuth with one `robolly:mcp` scope limited to the organisation the user approves. Connections are listed and revoked under Connected AI Tools, and the API key is never shared with an OAuth client. No key scopes or rotation documented (22 of 30). The MCP server can create and update templates but not delete them; there's no read-only mode (10 of 20). Tools return the user's templates and public gallery designs (10 of 15). A renders list and the connected-tools view give some visibility, with no audit log documented (5 of 15). No security.txt (the path returns the site's HTML shell), disclosure policy, bug bounty or certification (0). 22 + 10 + 10 + 5 + 0 = 47."
        },
        "scores": {
          "a": 62,
          "b": 47
        }
      },
      {
        "by": 13,
        "category": "schema",
        "leads": "adobe-photoshop-api",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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).",
          "b": "No OpenAPI or other machine-readable contract found for the REST API, and the MCP server is closed. The MCP page lists all nine tools and `get_template_modifications` returns each template's keys, constraints and examples at run time (8 of 25, on that partial evidence). llms.txt indexes the docs (10). The MCP page says what each tool does, which tools change templates or spend credits, and that there is no delete tool (14 of 20). Modification keys follow `{element-name}.{modification-key}` with constraints from the template rather than a fixed schema (7 of 15). Request examples throughout and an error code table with eight codes (13 of 15). /v1 paths with no changelog (5 of 15). 8 + 10 + 14 + 7 + 13 + 5 = 57."
        },
        "scores": {
          "a": 70,
          "b": 57
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "adobe-photoshop-api",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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).",
          "b": "Closed service under terms effective 8 April 2026 from Avantis Innovations LLC in Wyoming. The terms can change without notice (15). The privacy policy of the same date covers Google sign-in and Sheets data, says spreadsheet rows aren't kept beyond a render and account data is deleted with the account, and otherwise names no periods (10 of 30). No deprecation policy or notices (0). Hosting is described only as third-party vendors, with no processors or locations named, while the footer says Made in EU (2 of 20). 15 + 10 + 0 + 2 = 27."
        },
        "scores": {
          "a": 60,
          "b": 49
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Adobe",
        "b": "Avantis Innovations LLC (Robolly)",
        "name": "Vendor"
      },
      {
        "a": "https://photoshop-api.adobe.io",
        "b": "https://api.robolly.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Closed service under the Robolly terms of use (effective 8 April 2026)",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "9",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-08",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-04-08",
        "name": "Terms last updated"
      },
      {
        "a": "2025-10-24",
        "b": "2026-04-08",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "498 npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "1.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Robolly scores 48.4 (D) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 2 of 7 scored categories. Adobe Photoshop API leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Adobe Photoshop API or Robolly?"
      },
      {
        "answer": "Adobe Photoshop API uses an OAuth sign-in. Robolly takes an API key or an OAuth sign-in.",
        "question": "Do Adobe Photoshop API and Robolly need an API key?"
      },
      {
        "answer": "Yes. Adobe Photoshop API has a hosted endpoint at https://photoshop-api.adobe.io and Robolly at https://api.robolly.com/v1.",
        "question": "Can an agent call Adobe Photoshop API and Robolly without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 55 against 48",
          "Schema \u0026 documentation, 70 against 57",
          "Security \u0026 auth, 62 against 47",
          "Maintenance \u0026 community, 42 against 5",
          "Transparency \u0026 trust, 60 against 49"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 75 against 36",
          "Payments \u0026 pricing, 35 against 0"
        ],
        "also": [
          "Free to start without a card",
          "No incidents deducted, where Adobe Photoshop API loses 4 points for them"
        ],
        "goodFor": "Template-driven images, PDFs and short videos for marketers and developers who want a hosted editor and simple synchronous calls.",
        "slug": "robolly",
        "watchFor": "No OpenAPI or other machine-readable contract found"
      }
    ],
    "history": {
      "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"
        }
      ],
      "robolly": null
    },
    "job": {
      "capability": "design.templates",
      "name": "Design templates"
    },
    "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-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/apitemplate-io-vs-robolly.json",
        "title": "APITemplate.io vs Robolly",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly.json",
        "title": "Bannerbear API + MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/canva-vs-robolly.json",
        "title": "Canva REST APIs + MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/canva-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/contentdrips-vs-robolly.json",
        "title": "Contentdrips API and MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/contentdrips-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-robolly.json",
        "title": "Creatomate vs Robolly",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynapictures-vs-robolly.json",
        "title": "DynaPictures vs Robolly",
        "url": "https://www.anchorterminal.com/compare/dynapictures-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-robolly.json",
        "title": "Layerre vs Robolly",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photoroom-vs-robolly.json",
        "title": "Photoroom API vs Robolly",
        "url": "https://www.anchorterminal.com/compare/photoroom-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pixelixe-vs-robolly.json",
        "title": "Pixelixe vs Robolly",
        "url": "https://www.anchorterminal.com/compare/pixelixe-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/placid-vs-robolly.json",
        "title": "Placid API + MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/placid-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postnitro-vs-robolly.json",
        "title": "PostNitro vs Robolly",
        "url": "https://www.anchorterminal.com/compare/postnitro-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/robolly-vs-shotstack.json",
        "title": "Robolly vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/robolly-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/robolly-vs-templated.json",
        "title": "Robolly vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/robolly-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api.json",
        "title": "Abyssale vs Adobe Photoshop API",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api"
      },
      {
        "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/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/osmo-cli-vs-robolly.json",
        "title": "Osmo CLI vs Robolly",
        "url": "https://www.anchorterminal.com/compare/osmo-cli-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pictify-vs-robolly.json",
        "title": "Pictify vs Robolly",
        "url": "https://www.anchorterminal.com/compare/pictify-vs-robolly"
      },
      {
        "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": [
      {
        "adobe-photoshop-api": 55,
        "by": 7,
        "edge": "adobe-photoshop-api",
        "key": "reliability",
        "name": "Reliability",
        "robolly": 48,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "adobe-photoshop-api": 70,
        "by": 13,
        "edge": "adobe-photoshop-api",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "robolly": 57,
        "weight": 13
      },
      {
        "adobe-photoshop-api": 36,
        "by": 39,
        "edge": "robolly",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "robolly": 75,
        "weight": 13
      },
      {
        "adobe-photoshop-api": 62,
        "by": 15,
        "edge": "adobe-photoshop-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "robolly": 47,
        "weight": 14
      },
      {
        "adobe-photoshop-api": 0,
        "by": 35,
        "edge": "robolly",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "robolly": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "adobe-photoshop-api": 42,
        "by": 37,
        "edge": "adobe-photoshop-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "robolly": 5,
        "weight": 7
      },
      {
        "adobe-photoshop-api": 60,
        "by": 11,
        "edge": "adobe-photoshop-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "robolly": 49,
        "weight": 7
      }
    ],
    "summary": "Robolly scores 48.4 (D) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 2 of 7 scored categories. Adobe Photoshop API leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust. Both do design templates.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "robolly": "Robolly's nine MCP tools, synchronous renders, typed error codes and free cached re-renders keep template rendering cheap and predictable for an agent, and OAuth connections can be revoked per client. There is no OpenAPI file, changelog or dated release, and API access starts at $39 a month after a 7-day trial."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly",
    "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.min.md"
  },
  "markdown": "Robolly scores 48.4 (D) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 2 of 7 scored categories. Adobe Photoshop API leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust. Both do design templates.\n\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- Robolly: grade D, 48.4/100, rank #1115 of 1486. Markdown https://www.anchorterminal.com/tools/robolly.md · JSON https://www.anchorterminal.com/api/v1/tools/robolly.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### 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 48\n- Schema \u0026 documentation, 70 against 57\n- Security \u0026 auth, 62 against 47\n- Maintenance \u0026 community, 42 against 5\n- Transparency \u0026 trust, 60 against 49\n\nWatch for: Enterprise contract only. No self-serve sign-up, free tier or public price\n\n### Robolly (D)\n\nGood for: Template-driven images, PDFs and short videos for marketers and developers who want a hosted editor and simple synchronous calls.\n\nAhead on:\n- Agent ergonomics, 75 against 36\n- Payments \u0026 pricing, 35 against 0\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: No OpenAPI or other machine-readable contract found\n\n\n## Why the edge\n\n### Agent ergonomics: Robolly +39\n\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- Robolly (75): Nine MCP tools (25). The renders list pages with a cursor, and templates are found by name (14 of 20). Errors carry `errorCode` and `developerMessage` with eight documented codes (17 of 20). Identical renders are cached for 45 days, so repeats are free and safe, the MCP server has no delete tool, and annotations couldn't be read on the closed server (12 of 20). Renders return the file synchronously by default, but there's no SDK (7 of 15). 25 + 14 + 17 + 12 + 7 = 75.\n\n### Maintenance \u0026 community: Adobe Photoshop API +37\n\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- Robolly (5): No changelog, release notes or dated API change was found. The sitemap marks every docs page as modified on 4 November 2026, which reads as a site rebuild rather than a change, so it isn't counted (0). No dated changes since 8 August (0). Support by email, with chat on higher plans; not tested (5 of 15). Not in the official MCP registry and no SDKs (0). No public package or repository (0). 0 + 0 + 5 + 0 + 0 = 5.\n\n### Payments \u0026 pricing: Robolly +35\n\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- Robolly (35): No x402, MPP or L402 (0). Plan prices are public and a table gives the credit cost of each format and size (15 of 20). 7-day trial with no card (20). A person signs up, then copies the key or approves OAuth (0). 0 + 15 + 20 + 0 = 35.\n\n### Security \u0026 auth: Adobe Photoshop API +15\n\n- Adobe Photoshop API (62): OAuth server-to-server credentials from the Developer Console, exchanged for 24-hour tokens. The scopes (openid, AdobeID, read_organizations) aren't per operation (25). Access follows the organisation's product profile, and inputs and outputs are pre-signed URLs to specific objects in your own storage, but there's no read-only mode (10). Returns renders and manifests of your own files (10). No per-call audit log found (0). security.txt is PGP-signed and valid until 2027-07-30, with a PSIRT address and an Intigriti bug bounty. We didn't check certifications for Firefly Services in this run (17).\n- Robolly (47): Bearer API key, signed render links, and MCP OAuth with one `robolly:mcp` scope limited to the organisation the user approves. Connections are listed and revoked under Connected AI Tools, and the API key is never shared with an OAuth client. No key scopes or rotation documented (22 of 30). The MCP server can create and update templates but not delete them; there's no read-only mode (10 of 20). Tools return the user's templates and public gallery designs (10 of 15). A renders list and the connected-tools view give some visibility, with no audit log documented (5 of 15). No security.txt (the path returns the site's HTML shell), disclosure policy, bug bounty or certification (0). 22 + 10 + 10 + 5 + 0 = 47.\n\n### Schema \u0026 documentation: Adobe Photoshop API +13\n\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- Robolly (57): No OpenAPI or other machine-readable contract found for the REST API, and the MCP server is closed. The MCP page lists all nine tools and `get_template_modifications` returns each template's keys, constraints and examples at run time (8 of 25, on that partial evidence). llms.txt indexes the docs (10). The MCP page says what each tool does, which tools change templates or spend credits, and that there is no delete tool (14 of 20). Modification keys follow `{element-name}.{modification-key}` with constraints from the template rather than a fixed schema (7 of 15). Request examples throughout and an error code table with eight codes (13 of 15). /v1 paths with no changelog (5 of 15). 8 + 10 + 14 + 7 + 13 + 5 = 57.\n\n### Transparency \u0026 trust: Adobe Photoshop API +11\n\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- Robolly (49): Closed service under terms effective 8 April 2026 from Avantis Innovations LLC in Wyoming. The terms can change without notice (15). The privacy policy of the same date covers Google sign-in and Sheets data, says spreadsheet rows aren't kept beyond a render and account data is deleted with the account, and otherwise names no periods (10 of 30). No deprecation policy or notices (0). Hosting is described only as third-party vendors, with no processors or locations named, while the footer says Made in EU (2 of 20). 15 + 10 + 0 + 2 = 27.\n\n## Score by category\n\n| Category | Weight | Adobe Photoshop API | Robolly | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 48 | Adobe Photoshop API +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 57 | Adobe Photoshop API +13 |\n| Agent ergonomics | 13% (16.2 this run) | 36 | 75 | Robolly +39 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 47 | Adobe Photoshop API +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 35 | Robolly +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 42 | 5 | Adobe Photoshop API +37 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 49 | Adobe Photoshop API +11 |\n| Negative events | ≤15 | -4 | 0 | |\n| **Total** | | **44 · E** | **48.4 · D** | |\n\n## Facts side by side\n\n| Fact | Adobe Photoshop API | Robolly |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Adobe | Avantis Innovations LLC (Robolly) |\n| Hosted endpoint | `https://photoshop-api.adobe.io` | `https://api.robolly.com/v1` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | none | Closed service under the Robolly terms of use (effective 8 April 2026) |\n| Tools exposed | none | 9 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-08 | none |\n| Terms last updated | couldn't be read | 2026-04-08 |\n| Privacy policy last updated | 2025-10-24 | 2026-04-08 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Popularity | 498 npm/wk | none |\n| Agent reviews | 1.5/5 (2) | none |\n\n## How the scores have moved\n\n### Adobe Photoshop API\n\n- +0.1 on 27 October 2026: checklist\n- -0.2 on 8 October 2026: checklist\n\n### Robolly\n\nNo score change since it was listed.\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**Robolly.** Robolly's nine MCP tools, synchronous renders, typed error codes and free cached re-renders keep template rendering cheap and predictable for an agent, and OAuth connections can be revoked per client. There is no OpenAPI file, changelog or dated release, and API access starts at $39 a month after a 7-day trial.\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### Robolly\n\n1. Call `get_template_modifications` before `render` to learn the keys a template accepts\n2. Send renders one at a time; the API refuses more than 3 a second with `rate-limit`\n3. Repeat an identical render freely; it is cached for 45 days and costs nothing\n4. Poll `get_render` after `render_video`, since video renders are queued\n5. Stop on `render-limit-exhausted` and tell the user the monthly credits are spent\n\n## Questions\n\n### Which is better for AI agents, Adobe Photoshop API or Robolly?\n\nRobolly scores 48.4 (D) on agent readiness against Adobe Photoshop API's 44 (E), and leads in 2 of 7 scored categories. Adobe Photoshop API leads on reliability, schema \u0026 documentation, security \u0026 auth, maintenance \u0026 community and transparency \u0026 trust.\n\n### Do Adobe Photoshop API and Robolly need an API key?\n\nAdobe Photoshop API uses an OAuth sign-in. Robolly takes an API key or an OAuth sign-in.\n\n### Can an agent call Adobe Photoshop API and Robolly without installing anything?\n\nYes. Adobe Photoshop API has a hosted endpoint at https://photoshop-api.adobe.io and Robolly at https://api.robolly.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.json, and with the fewest tokens: https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"adobe-photoshop-api\", \"b\": \"robolly\"}`. From a terminal: `anchor compare adobe-photoshop-api robolly`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/adobe-photoshop-api.json and https://www.anchorterminal.com/api/v1/tools/robolly.json\n\n## Other comparisons with Adobe Photoshop API or Robolly\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 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- [APITemplate.io vs Robolly](https://www.anchorterminal.com/compare/apitemplate-io-vs-robolly.md)\n- [Bannerbear API + MCP vs Robolly](https://www.anchorterminal.com/compare/bannerbear-vs-robolly.md)\n- [Canva REST APIs + MCP vs Robolly](https://www.anchorterminal.com/compare/canva-vs-robolly.md)\n- [Contentdrips API and MCP vs Robolly](https://www.anchorterminal.com/compare/contentdrips-vs-robolly.md)\n- [Creatomate vs Robolly](https://www.anchorterminal.com/compare/creatomate-vs-robolly.md)\n- [DynaPictures vs Robolly](https://www.anchorterminal.com/compare/dynapictures-vs-robolly.md)\n- [Layerre vs Robolly](https://www.anchorterminal.com/compare/layerre-vs-robolly.md)\n- [Photoroom API vs Robolly](https://www.anchorterminal.com/compare/photoroom-vs-robolly.md)\n- [Pixelixe vs Robolly](https://www.anchorterminal.com/compare/pixelixe-vs-robolly.md)\n- [Placid API + MCP vs Robolly](https://www.anchorterminal.com/compare/placid-vs-robolly.md)\n- [PostNitro vs Robolly](https://www.anchorterminal.com/compare/postnitro-vs-robolly.md)\n- [Robolly vs Shotstack](https://www.anchorterminal.com/compare/robolly-vs-shotstack.md)\n- [Robolly vs Templated API + MCP](https://www.anchorterminal.com/compare/robolly-vs-templated.md)\n- [Abyssale vs Adobe Photoshop API](https://www.anchorterminal.com/compare/abyssale-vs-adobe-photoshop-api.md)\n- [Abyssale vs Robolly](https://www.anchorterminal.com/compare/abyssale-vs-robolly.md)\n- [Adobe Photoshop API vs Pictify](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-pictify.md)\n- [Osmo CLI vs Robolly](https://www.anchorterminal.com/compare/osmo-cli-vs-robolly.md)\n- [Pictify vs Robolly](https://www.anchorterminal.com/compare/pictify-vs-robolly.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": "Adobe Photoshop API vs Robolly",
        "url": ""
      }
    ],
    "description": "Robolly scores 48.4 (D) to Adobe Photoshop's 44 (E) for design templates. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Adobe Photoshop API E 44",
      "Robolly D 48.4",
      "scores"
    ],
    "h1": "Adobe Photoshop API vs Robolly",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/adobe-photoshop-api-vs-robolly",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Adobe Photoshop vs Robolly for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly"
  },
  "tokens": {
    "markdown": 4350,
    "slim": 2430
  },
  "version": 1
}
