{
  "data": {
    "a": {
      "slug": "adobe-firefly",
      "name": "Adobe Firefly API",
      "vendor": "Adobe",
      "vendorUrl": "https://developer.adobe.com/firefly-services",
      "kind": "model",
      "category": "image-generation",
      "summary": "Adobe's Firefly image models (Image 3, Image 4 Standard and Ultra, Image 5) as async REST endpoints within Firefly Services.",
      "url": "https://www.anchorterminal.com/tools/adobe-firefly",
      "markdownUrl": "https://www.anchorterminal.com/tools/adobe-firefly.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/adobe-firefly.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/adobe-firefly.json",
      "dns": "adobe-firefly.grade.anchorterminal.com",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://firefly-api.adobe.io",
      "packages": [
        {
          "registry": "npm",
          "name": "@adobe/firefly-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 for a 24-hour bearer token, then send it with the client ID in x-api-key. The model is chosen with the x-model-version header.",
      "pricing": "paid",
      "pricingNotes": "No public API price list and no self-serve plan. Access comes with a Firefly Services enterprise contract negotiated through Adobe sales. Consumer Firefly 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": 1108,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.adobe.com/firefly-services/docs/firefly-api/",
      "openapi": "https://raw.githubusercontent.com/AdobeDocs/ffs-firefly-api/main/static/firefly-api.json",
      "capabilities": [
        "image.generate",
        "image.edit",
        "image.upscale",
        "image.reference"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "enterprise",
        "openapi",
        "async-jobs",
        "commercial-licence",
        "c2pa"
      ],
      "lastRelease": "2026-04-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49,
        "grade": "D",
        "agentReady": false,
        "rank": 991,
        "ranked": true,
        "rankOf": 1266,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 23,
          "payments": 0,
          "reliability": 55,
          "schema": 78,
          "security": 63,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-04-24: the Upscale GA removed the `creative_upsampler_v1` header value, which now returns 422, on the day the change was announced. The repository history shows the rename first appears that day in both the spec and the changelog. The endpoint was a month-old beta and the entry gives a migration path, so the smallest deduction. https://developer.adobe.com/firefly-services/docs/firefly-api/getting-started/changelog/"
        ],
        "verdict": "OAuth server-to-server credentials exchanged for 24-hour bearer tokens. Enterprise contract only. No self-serve sign-up and no public price list.",
        "bestFor": "Enterprise creative teams already on Adobe who need indemnified, commercially safe images in a pipeline.",
        "strengths": [
          "OAuth server-to-server credentials exchanged for 24-hour bearer tokens",
          "Published OpenAPI 3.1 spec and a dated changelog that flags breaking changes",
          "Trained on licensed and public-domain content, with IP indemnity available to enterprise buyers",
          "Composite, expand, fill, upscale and custom-model endpoints aimed at production pipelines"
        ],
        "weaknesses": [
          "Enterprise contract only. No self-serve sign-up and no public price list",
          "Default limit of 4 requests a minute per organisation",
          "Changelog's newest entry is 2026-04-24, and Image 5's endpoint isn't in it",
          "The only SDK, `@adobe/firefly-apis` 2.0.1 from June 2025, calls synchronous paths the changelog lists as removed in October 2025",
          "Every generation is an async job you have to poll, and there's no llms.txt"
        ],
        "agentNotes": [
          "Call the REST async endpoints directly. `@adobe/firefly-apis` 2.0.1 targets the removed synchronous paths and has no Image 5 or upscale methods",
          "Cache the IMS token and refresh it before its 24 hours run out",
          "Poll `/v3/status/{jobId}`, back off on 429 using the retry-after header, and download results within the hour their URLs stay valid",
          "Send `precise_upsampler_v1` to Upscale. `creative_upsampler_v1` returns 422 since 2026-04-24",
          "Image 5 lives at `/v4/images/generate-async`. Image 3 and 4 stay on `/v3/images/generate-async`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 23,
          "payments": 0,
          "reliability": 55,
          "schema": 78,
          "security": 63,
          "transparency": 42
        },
        "provenanceScore": 96,
        "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-28",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://firefly-api.adobe.io/v3/images/generate-async \\\n  -H \"x-api-key: $FIREFLY_SERVICES_CLIENT_ID\" -H \"Authorization: Bearer $FIREFLY_SERVICES_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" -d '{\"prompt\":\"a realistic illustration of a cat coding\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/image.generate",
        "tool": "https://letme.dev/adobe-firefly"
      },
      "sameCompany": [
        "adobe-pdf-extract",
        "adobe-photoshop-api",
        "adobe-commerce",
        "adobe-acrobat-sign"
      ],
      "area": "content",
      "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": "https://developer.adobe.com/firefly-services/docs/firefly-api/getting-started/changelog/",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The API is served from firefly-api.adobe.io, Adobe's developer API domain, not adobe.com",
          "The OpenAPI spec is published in the AdobeDocs/ffs-firefly-api GitHub repo"
        ],
        "score": 96
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/adobe-firefly.json",
      "live": {
        "slug": "adobe-firefly",
        "probe": {
          "target": "https://firefly-api.adobe.io",
          "method": "get",
          "lastAt": "2026-11-02T15:06:29.25596357Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 250,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.96,
          "p50ms24h": 260,
          "p95ms24h": 342,
          "samples24h": 249,
          "samples30d": 8046,
          "days": [
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "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": 248
            },
            {
              "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": 158,
              "ok": 158
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.adobe.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-02T11:55:30.997067654Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@adobe/firefly-apis",
            "version": "2.0.1",
            "seenAt": "2026-11-01T16:38:45.557086615Z"
          }
        ],
        "npmWeekly": 1518,
        "securityTxt": {
          "url": "https://adobe.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-30T01:00:00.000Z",
          "checkedAt": "2026-11-01T15:42:35.048167961Z"
        },
        "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/firefly-api/getting-started/changelog/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-11-02T07:11:31.509820292Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f5f652835852"
          },
          {
            "url": "https://www.adobe.com/privacy/policy.html",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:57.217799599Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "15954a961e2a"
          },
          {
            "url": "https://www.adobe.com/legal/terms.html",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:55.169206974Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8a4c10adf4f8"
          }
        ],
        "updatedAt": "2026-11-02T15:06:29.25596357Z"
      }
    },
    "answer": "Adobe Firefly API scores 49 (D) on agent readiness against SurgePix API's 36 (F), and leads in 5 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "surgepix",
      "name": "SurgePix API",
      "vendor": "SurgePix",
      "vendorUrl": "https://surgepix.ai",
      "kind": "http-api",
      "category": "image-generation",
      "summary": "SurgePix is a web design workspace that generates and edits images, posters and slide decks. A REST API with API keys, async tasks and file upload is called through MIT-licensed agent skills for coding agents.",
      "url": "https://www.anchorterminal.com/tools/surgepix",
      "markdownUrl": "https://www.anchorterminal.com/tools/surgepix.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/surgepix.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/surgepix.json",
      "dns": "surgepix.grade.anchorterminal.com",
      "repo": "https://github.com/SurgePix/agent-skills",
      "license": "Proprietary hosted service under the Surgepix User Agreement, which names no company and restricts commercial use without SurgePix's permission. The agent skills repository is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.surgepix.ai/api",
      "packages": [],
      "auth": "api-key",
      "authNotes": "An API key starting `sk-`, created and managed in the account's settings on surgepix.ai, sent as the raw value of the `authorization` header with no `Bearer` prefix. The docs say a leaked key can be revoked and reset. No scopes, read-only keys or spend caps were found. The skills read the key from `SURGEPIX_API_KEY` and also need `SURGEPIX_BASE_URL` set to https://api.surgepix.ai/api (https://surgepix.ai/blog/developer-guides/api-keys-reference, https://surgepix.ai/blog/developer-guides/install-skills).",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 25 credits a day that don't roll over. Basic is $9.90 a month (2,000 credits) or $95.04 a year, and Pro $24.90 a month (11,500 credits) or $239.04 a year, with introductory prices of $0.99 and $4.99 a month for three months. Credits are spent on input and output tokens, and a failed generation charges the input only. No per-call API price is published, and the changelog says skills calling SurgePix's own models don't use credits (9 July 2026) and that some models are billed per generation (9 September 2026) (https://surgepix.ai/blog/introduction/credit-subscription/plans-pricing, https://surgepix.ai/blog/introduction/credit-subscription/how-credits-work, https://surgepix.ai/blog/whats-new/updates).",
      "priceSummary": "$9.90 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, the skills, the pricing pages or the terms. Access is by an API key from a browser account, and the privacy policy names Alipay and WeChat Pay for payments (checked 2026-11-02).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-02"
      },
      "docsUrl": "https://surgepix.ai/blog/developer-guides/api-keys-reference",
      "capabilities": [
        "image.generate",
        "image.edit"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "agent-skills",
        "async-jobs",
        "freemium",
        "free-tier",
        "no-status-page",
        "new"
      ],
      "lastRelease": "2026-10-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 36,
        "grade": "F",
        "agentReady": false,
        "rank": 1173,
        "ranked": true,
        "rankOf": 1266,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 66,
          "payments": 20,
          "reliability": 15,
          "schema": 40,
          "security": 41,
          "transparency": 28
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "A small, readable API with async tasks and MIT skill scripts that cover posters, decks, edits and translation. Only background removal is documented, the terms name no company and restrict commercial use and automated querying, and uploaded files become public URLs.",
        "bestFor": "An agent that needs finished marketing assets, such as posters, slide decks, Xiaohongshu carousels, logos and translated images, as one file from a short request.",
        "strengths": [
          "The API reference gives request tables, JSON examples and an error table for upload, background removal and task polling",
          "Every task returns one download URL, or one ZIP for a set, so responses stay small",
          "The MIT skill scripts show the request bodies for 11 undocumented generation and edit endpoints",
          "Free plan with 25 credits a day, and a failed generation charges only the input tokens",
          "Dated public changelog with entries on 15, 22 and 23 October 2026"
        ],
        "weaknesses": [
          "Only background removal and upload are in the public API reference, with no OpenAPI file or llms.txt",
          "No status page, rate limits, 429 guidance or SLA was found",
          "The terms and privacy policy name no company or address, and the terms restrict commercial use without permission",
          "Uploaded files become publicly accessible URLs on Tencent Cloud storage in Seoul, and no retention period is given",
          "No scopes, read-only keys, security.txt or disclosure policy was found"
        ],
        "agentNotes": [
          "Send the key as the raw `authorization` header value, with no `Bearer` prefix",
          "Don't upload confidential files. The upload flow returns a public URL for every file",
          "Check `code` in the JSON body as well as the HTTP status, since failures come back as a non-zero `code` with a `msg`",
          "Poll `GET /tasks/{taskId}` within 24 hours, after which the task returns 404",
          "Get written permission before using outputs commercially, since the terms restrict commercial use"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 36
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 66,
          "payments": 20,
          "reliability": 15,
          "schema": 40,
          "security": 41,
          "transparency": 14
        },
        "provenanceScore": 41,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx skills add SurgePix/agent-skills",
        "http": "curl --request POST \\\n  --url https://api.surgepix.ai/api/tasks/remove-background \\\n  --header 'authorization: sk-YOUR_API_KEY' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\"fileUrl\": \"\u003cURL from the upload flow\u003e\", \"noWait\": true}'"
      },
      "letme": {
        "capability": "https://letme.dev/image.generate",
        "tool": "https://letme.dev/surgepix"
      },
      "area": "content",
      "unitPrices": [
        {
          "item": "Basic plan, 2,000 credits",
          "unit": "month",
          "usd": 9.9,
          "note": "$0.99 a month for the first three months; about 130 image generations a month per the pricing page"
        },
        {
          "item": "Pro plan, 11,500 credits",
          "unit": "month",
          "usd": 24.9,
          "note": "$4.99 a month for the first three months; about 750 image generations a month per the pricing page"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "surgepix.ai",
        "domainRegistered": "2025-11-06",
        "endpointOnVendorDomain": true,
        "terms": "https://surgepix.ai/blog/legal/terms-of-service",
        "privacy": "https://surgepix.ai/blog/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://surgepix.ai/blog/whats-new/updates",
        "securityTxt": "none",
        "checked": "2026-11-02",
        "notes": [
          "The Surgepix User Agreement names no company or address. It applies the laws of the People's Republic of China, sends disputes to the court where \"Surgepix's limited company\" is located, and refers to users outside mainland China.",
          "The privacy policy, dated 10 June 2026 at the top and 1 July 2022 near the end, gives the service provider as \"Surgepix.ai\" and says information is stored on \"domestic servers\".",
          "The contact email on every surgepix.ai page is at tate-a-tate.com. Tate-A-Tate's terms name Torsi Information Technology Co., Ltd. as its provider, and surgepix.ai's footer links Tate-A-Tate and Surgeflow. SurgePix's own pages don't name Torsi.",
          "RDAP for surgepix.ai gives a registration date of 6 November 2025 through Aceville Pte. Ltd., Cloudflare name servers and a registrant in Beijing, China.",
          "surgepix.ai/.well-known/security.txt and /security.txt return 404. status.surgepix.ai doesn't resolve and no status page is linked.",
          "The API answers at api.surgepix.ai under the product's own domain. Uploads and outputs are served from Tencent Cloud Object Storage buckets in ap-seoul."
        ],
        "score": 41
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/surgepix.json",
      "live": {
        "slug": "surgepix",
        "probe": {
          "target": "https://api.surgepix.ai/api",
          "method": "get",
          "lastAt": "2026-11-02T15:07:00.16742116Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 1202,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 1204,
          "p95ms24h": 1340,
          "samples24h": 41,
          "samples30d": 41,
          "days": [
            {
              "date": "2026-11-02",
              "probes": 41,
              "ok": 41
            }
          ]
        },
        "updatedAt": "2026-11-02T15:07:00.16742116Z"
      }
    },
    "edges": [
      {
        "by": 43,
        "category": "maintenance",
        "leads": "surgepix",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The changelog's newest entry is Upscale going GA on 24 April 2026, 161 days ago (10). For models we look at churn and notice. The changelog has entries on 24 and 25 March and 24 April 2026, none in the last 90 days. The Upscale GA renamed `creative_upsampler_v1` and rejected the old value with 422 in the same entry, and Image 5's `/v4` endpoint has no dated changelog entry (5). Public changelog and enterprise support through an account manager (6). The one official SDK, `@adobe/firefly-apis` 2.0.1 from 24 June 2025, hasn't kept up with the 2026 endpoints (0). The SDK repo's CI builds pull requests with the test step commented out, and nothing has been published in 15 months (2).",
          "b": "The last dated change is GPT-Image-2.5 on 23 October 2026, 10 days before the check (30). Changelog entries on 15, 22 and 23 October, 16, 9 and 2 September 2026, more than three in 90 days (20). For a closed service, a dated changelog, a Discord server and a contact email. We didn't open Discord or the GitHub issues, so answering isn't confirmed (8). No official SDK. The skills are maintained client scripts with tags from v1.0.0 (4 June 2026) to v1.5.0 (2 September 2026), a judgement call (5). The repository's CI checks SKILL.md front matter only, with no tests, and the skills aren't published as a package (3). 30+20+8+5+3 = 66."
        },
        "scores": {
          "a": 23,
          "b": 66
        }
      },
      {
        "by": 41,
        "category": "transparency",
        "leads": "adobe-firefly",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed models under Adobe's terms (15). Adobe says it doesn't train Firefly on Creative Cloud or Experience Cloud subscribers' personal content. The OpenAPI spec says uploaded images stay usable for 7 days and result download URLs expire after one hour, which are access windows rather than deletion periods. We found no retention period for prompts, uploads or outputs, and no API-specific data statement (12). The changelog dates removals and breaking changes, such as the October 2025 removal of synchronous v3 endpoints and the April 2026 Upscale rename (15). No subprocessor list or data locations found for Firefly Services (0).",
          "b": "The editorial half. A closed service whose terms name no company or address. They restrict any commercial use of what the service produces without SurgePix's permission, and contain clauses from an unrelated product (a \"big data\" query platform and \"non-resume content\"). The skills are MIT. Unclear terms, with a little credit for the open skills (5). The privacy policy is dated both 10 June 2026 and 1 July 2022, describes WeChat and phone registration and \"domestic servers\", and gives no retention periods. The API reference says uploads go to Tencent Cloud storage in Seoul as public URLs. No DPA. The statements don't agree (5). No deprecation policy or notices, and the terms let changes take effect on publication without notice (0). Tencent Cloud Object Storage in ap-seoul is named in the API reference, and Alipay and WeChat Pay in the privacy policy. No subprocessor list or stated data location (4). 5+5+0+4 = 14."
        },
        "scores": {
          "a": 69,
          "b": 28
        }
      },
      {
        "by": 40,
        "category": "reliability",
        "leads": "adobe-firefly",
        "name": "Reliability",
        "reasons": {
          "a": "status.adobe.com renders only with JavaScript, on 1 and 2 October alike. Its data feed at data.status.adobe.com answers with numbered service tokens and no names, and events from 2024, so we couldn't confirm a Firefly Services component (10) or read its history (5). IsDown tracks 199 Adobe components and lists no Adobe-posted Firefly incident in 90 days, but it doesn't break Firefly out either, so we don't count it. Default limits of 4 requests a minute and 9,000 a day per organisation, raised through an account manager (15). The usage notes say a 429 comes back over the limit and advise retrying on the retry-after header or with exponential backoff, and the OpenAPI spec declares a retry-after header (15). No SLA published (0). Image generation and, since 24 April 2026, Upscale are GA (10).",
          "b": "Read with the hosted lines. No status page was found on surgepix.ai or in the docs, and status.surgepix.ai doesn't resolve (0). With no history to read, the incident line takes the floor (5). No rate limits with numbers are documented. The terms say \"non-human continuous or frequent query operations\" lead to automatic account suspension, with no threshold given (0). No 429 or backoff guidance. The skill scripts poll every 2 seconds for up to 5 to 15 minutes, but that is client code, not a documented policy (0). No SLA, and the terms disclaim uninterrupted service (0). The API isn't labelled beta or preview, and API keys have been self-serve since 2 June 2026 per the changelog (10). 0+5+0+0+0+10 = 15."
        },
        "scores": {
          "a": 55,
          "b": 15
        }
      },
      {
        "by": 38,
        "category": "schema",
        "leads": "adobe-firefly",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 spec in the AdobeDocs/ffs-firefly-api repository, re-read on 2 October with 14 operations and 104 schemas (25). No llms.txt (0). Endpoint guides state what each endpoint is for, little on when not to use one (13). Typed inputs with 41 enums and required fields, with the model picked by an `x-model-version` header (13). 71 examples, and every operation lists its 4xx and 5xx responses, with example bodies for 422 validation and 451 content-policy errors (12). Dated changelog that flags breaking changes (15).",
          "b": "No OpenAPI or other machine-readable contract was found (0). surgepix.ai/llms.txt returns 404. The docs are HTML pages, but the 15 SKILL.md files in the MIT repository are Markdown written for agents, so half (5). The API reference states the purpose of each of its five operations and the async and session model. The SKILL.md files add trigger phrases and explicit do-not-use routing between skills, but 11 of the task endpoints the skills call appear only in their scripts, with no reference (10). Parameter tables give type and required for the documented operations, with no enums or limits, and the undocumented endpoints have no schema at all (7). JSON examples for every documented operation and an error table with 401, 404 and `error.file.sensitive_content` (10). A dated public changelog from 11 March 2026, but no version in the API path and no API-specific change notes (8). 0+5+10+7+10+8 = 40."
        },
        "scores": {
          "a": 78,
          "b": 40
        }
      },
      {
        "by": 22,
        "category": "security",
        "leads": "adobe-firefly",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth server-to-server credentials from the Adobe Developer Console, exchanged at Adobe IMS for 24-hour bearer tokens, so no long-lived secret travels with each call (30). Credentials sit in a Developer Console project tied to the organisation's product profile (10). Returns generated images only (10). No per-call audit log found (0). Security programme (13): security.txt valid per the provenance check (5), a public bug bounty on Intigriti that names Adobe Firefly in scope, though not the API host (5), and public security bulletins at helpx.adobe.com/security (3). Adobe's compliance overview pairs no certification with Firefly, and the compliance list is a JavaScript table our reader couldn't load on 1 or 2 October, so no certification is counted (0).",
          "b": "Plain API keys created in the account settings, which the docs say can be revoked and reset. The key goes in the `authorization` header, never in a URL. No scopes found (20). No read-only key or spend cap. The plan's credit allowance bounds spend. Every uploaded file becomes a publicly accessible URL on Tencent Cloud storage, which counts against least privilege (3). The API returns image and file URLs, not untrusted text (10). The billing page's credit statement lists each request with its model and token counts, and sessions group calls in the web app, per the docs (8). No security.txt, disclosure policy, bug bounty or certification was found (0). 20+3+10+8+0 = 41."
        },
        "scores": {
          "a": 63,
          "b": 41
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "surgepix",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). No public price list, access through an enterprise contract with Adobe sales (0). No free tier (0). A person has to negotiate a contract before any key exists (0).",
          "b": "No x402, MPP or L402 (0). Plan prices and monthly credits are public, but credits are spent per token with no per-call price for any API task, so plan-only pricing (10). A free plan with 25 credits a day. The pages don't say whether a card is needed or whether a free account can create API keys, so half, a judgement call (10). A person signs up in a browser and creates the key in settings (0). 0+10+10+0 = 20."
        },
        "scores": {
          "a": 0,
          "b": 20
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Adobe",
        "b": "SurgePix",
        "name": "Vendor"
      },
      {
        "a": "https://firefly-api.adobe.io",
        "b": "https://api.surgepix.ai/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary hosted service under the Surgepix User Agreement, which names no company and restricts commercial use without SurgePix's permission. The agent skills repository is MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-04-24",
        "b": "2026-10-23",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2025-10-24",
        "b": "2026-06-10",
        "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": "yes",
        "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": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.1k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "1.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Adobe Firefly API scores 49 (D) on agent readiness against SurgePix API's 36 (F), and leads in 5 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Adobe Firefly API or SurgePix API?"
      },
      {
        "answer": "Adobe Firefly API uses an OAuth sign-in. SurgePix API needs an API key.",
        "question": "Do Adobe Firefly API and SurgePix API need an API key?"
      },
      {
        "answer": "Yes. Adobe Firefly API has a hosted endpoint at https://firefly-api.adobe.io and SurgePix API at https://api.surgepix.ai/api.",
        "question": "Can an agent call Adobe Firefly API and SurgePix API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 55 against 15",
          "Schema \u0026 documentation, 78 against 40",
          "Security \u0026 auth, 63 against 41",
          "Transparency \u0026 trust, 69 against 28"
        ],
        "also": null,
        "goodFor": "Enterprise creative teams already on Adobe who need indemnified, commercially safe images in a pipeline.",
        "slug": "adobe-firefly",
        "watchFor": "Enterprise contract only. No self-serve sign-up and no public price list"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 20 against 0",
          "Maintenance \u0026 community, 66 against 23"
        ],
        "also": [
          "No incidents deducted, where Adobe Firefly API loses 3 points for them"
        ],
        "goodFor": "An agent that needs finished marketing assets, such as posters, slide decks, Xiaohongshu carousels, logos and translated images, as one file from a short request.",
        "slug": "surgepix",
        "watchFor": "Only background removal and upload are in the public API reference, with no OpenAPI file or llms.txt"
      }
    ],
    "history": {
      "adobe-firefly": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 49.1,
          "fromGrade": "D",
          "to": 49,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 49,
          "fromGrade": "D",
          "to": 49.1,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 49.2,
          "fromGrade": "D",
          "to": 49,
          "toGrade": "D"
        }
      ],
      "surgepix": null
    },
    "job": {
      "capability": "image.generate",
      "name": "Image generation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-artcraft.json",
        "title": "Adobe Firefly API vs ArtCraft",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-artcraft"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-black-forest-labs.json",
        "title": "Adobe Firefly API vs Black Forest Labs FLUX API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-black-forest-labs"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-bria.json",
        "title": "Adobe Firefly API vs Bria API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-bria"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-fal-image.json",
        "title": "Adobe Firefly API vs fal image models",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-fal-image"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-google-imagen.json",
        "title": "Adobe Firefly API vs Google Imagen",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-google-imagen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-ideogram.json",
        "title": "Adobe Firefly API vs Ideogram API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-ideogram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-iris-3b.json",
        "title": "Adobe Firefly API vs Iris-3B",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-iris-3b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai.json",
        "title": "Adobe Firefly API vs Leonardo.Ai API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-openai-image-api.json",
        "title": "Adobe Firefly API vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-openai-image-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-qwen-image-2-1.json",
        "title": "Adobe Firefly API vs Qwen-Image 2.1 (Model Studio)",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-qwen-image-2-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-recraft.json",
        "title": "Adobe Firefly API vs Recraft API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-recraft"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-replicate-image.json",
        "title": "Adobe Firefly API vs Replicate image models",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-replicate-image"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-seedream-on-byteplus-modelark.json",
        "title": "Adobe Firefly API vs Seedream on BytePlus ModelArk",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-seedream-on-byteplus-modelark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-stability-ai-image.json",
        "title": "Adobe Firefly API vs Stability AI Image API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-stability-ai-image"
      },
      {
        "json": "https://www.anchorterminal.com/compare/artcraft-vs-surgepix.json",
        "title": "ArtCraft vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/artcraft-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/black-forest-labs-vs-surgepix.json",
        "title": "Black Forest Labs FLUX API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/black-forest-labs-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-surgepix.json",
        "title": "Bria API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/bria-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fal-image-vs-surgepix.json",
        "title": "fal image models vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/fal-image-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-imagen-vs-surgepix.json",
        "title": "Google Imagen vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/google-imagen-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ideogram-vs-surgepix.json",
        "title": "Ideogram API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/ideogram-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iris-3b-vs-surgepix.json",
        "title": "Iris-3B vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/iris-3b-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.json",
        "title": "Leonardo.Ai API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix.json",
        "title": "OpenAI Image API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-image-2-1-vs-surgepix.json",
        "title": "Qwen-Image 2.1 (Model Studio) vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/qwen-image-2-1-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/recraft-vs-surgepix.json",
        "title": "Recraft API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/recraft-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/replicate-image-vs-surgepix.json",
        "title": "Replicate image models vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/replicate-image-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/seedream-on-byteplus-modelark-vs-surgepix.json",
        "title": "Seedream on BytePlus ModelArk vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/seedream-on-byteplus-modelark-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stability-ai-image-vs-surgepix.json",
        "title": "Stability AI Image API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/stability-ai-image-vs-surgepix"
      }
    ],
    "panel": null,
    "scores": [
      {
        "adobe-firefly": 55,
        "by": 40,
        "edge": "adobe-firefly",
        "key": "reliability",
        "name": "Reliability",
        "surgepix": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "adobe-firefly": 78,
        "by": 38,
        "edge": "adobe-firefly",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "surgepix": 40,
        "weight": 13
      },
      {
        "adobe-firefly": 57,
        "by": 4,
        "edge": "adobe-firefly",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "surgepix": 53,
        "weight": 13
      },
      {
        "adobe-firefly": 63,
        "by": 22,
        "edge": "adobe-firefly",
        "key": "security",
        "name": "Security \u0026 auth",
        "surgepix": 41,
        "weight": 14
      },
      {
        "adobe-firefly": 0,
        "by": 20,
        "edge": "surgepix",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "surgepix": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "adobe-firefly": 23,
        "by": 43,
        "edge": "surgepix",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "surgepix": 66,
        "weight": 7
      },
      {
        "adobe-firefly": 69,
        "by": 41,
        "edge": "adobe-firefly",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "surgepix": 28,
        "weight": 7
      }
    ],
    "summary": "Adobe Firefly API scores 49 (D) on agent readiness against SurgePix API's 36 (F), and leads in 5 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community. Both do image generation.",
    "tasks": null,
    "tutorials": [
      {
        "title": "Generate a launch background with Adobe Firefly",
        "tool": "adobe-firefly",
        "url": "https://www.anchorterminal.com/tutorials/adobe-firefly/"
      }
    ],
    "verdicts": {
      "adobe-firefly": "OAuth server-to-server credentials exchanged for 24-hour bearer tokens. Enterprise contract only. No self-serve sign-up and no public price list.",
      "surgepix": "A small, readable API with async tasks and MIT skill scripts that cover posters, decks, edits and translation. Only background removal is documented, the terms name no company and restrict commercial use and automated querying, and uploaded files become public URLs."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix",
    "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix.min.md"
  },
  "markdown": "Adobe Firefly API scores 49 (D) on agent readiness against SurgePix API's 36 (F), and leads in 5 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community. Both do image generation.\n\n- Adobe Firefly API: grade D, 49/100, rank #991 of 1266. Markdown https://www.anchorterminal.com/tools/adobe-firefly.md · JSON https://www.anchorterminal.com/api/v1/tools/adobe-firefly.json\n- SurgePix API: grade F, 36/100, rank #1173 of 1266. Markdown https://www.anchorterminal.com/tools/surgepix.md · JSON https://www.anchorterminal.com/api/v1/tools/surgepix.json\n- Best image generation for AI agents: https://www.anchorterminal.com/best/image-generation/index.md\n- All 120 image comparisons: https://www.anchorterminal.com/compare/image-generation/index.md\n\n## Which one, for what\n\n### Adobe Firefly API (D)\n\nGood for: Enterprise creative teams already on Adobe who need indemnified, commercially safe images in a pipeline.\n\nAhead on:\n- Reliability, 55 against 15\n- Schema \u0026 documentation, 78 against 40\n- Security \u0026 auth, 63 against 41\n- Transparency \u0026 trust, 69 against 28\n\nWatch for: Enterprise contract only. No self-serve sign-up and no public price list\n\n### SurgePix API (F)\n\nGood for: An agent that needs finished marketing assets, such as posters, slide decks, Xiaohongshu carousels, logos and translated images, as one file from a short request.\n\nAhead on:\n- Payments \u0026 pricing, 20 against 0\n- Maintenance \u0026 community, 66 against 23\n\nAlso in its favour:\n- No incidents deducted, where Adobe Firefly API loses 3 points for them\n\nWatch for: Only background removal and upload are in the public API reference, with no OpenAPI file or llms.txt\n\n\n## Why the edge\n\n### Maintenance \u0026 community: SurgePix API +43\n\n- Adobe Firefly API (23): The changelog's newest entry is Upscale going GA on 24 April 2026, 161 days ago (10). For models we look at churn and notice. The changelog has entries on 24 and 25 March and 24 April 2026, none in the last 90 days. The Upscale GA renamed `creative_upsampler_v1` and rejected the old value with 422 in the same entry, and Image 5's `/v4` endpoint has no dated changelog entry (5). Public changelog and enterprise support through an account manager (6). The one official SDK, `@adobe/firefly-apis` 2.0.1 from 24 June 2025, hasn't kept up with the 2026 endpoints (0). The SDK repo's CI builds pull requests with the test step commented out, and nothing has been published in 15 months (2).\n- SurgePix API (66): The last dated change is GPT-Image-2.5 on 23 October 2026, 10 days before the check (30). Changelog entries on 15, 22 and 23 October, 16, 9 and 2 September 2026, more than three in 90 days (20). For a closed service, a dated changelog, a Discord server and a contact email. We didn't open Discord or the GitHub issues, so answering isn't confirmed (8). No official SDK. The skills are maintained client scripts with tags from v1.0.0 (4 June 2026) to v1.5.0 (2 September 2026), a judgement call (5). The repository's CI checks SKILL.md front matter only, with no tests, and the skills aren't published as a package (3). 30+20+8+5+3 = 66.\n\n### Transparency \u0026 trust: Adobe Firefly API +41\n\n- Adobe Firefly API (69): Closed models under Adobe's terms (15). Adobe says it doesn't train Firefly on Creative Cloud or Experience Cloud subscribers' personal content. The OpenAPI spec says uploaded images stay usable for 7 days and result download URLs expire after one hour, which are access windows rather than deletion periods. We found no retention period for prompts, uploads or outputs, and no API-specific data statement (12). The changelog dates removals and breaking changes, such as the October 2025 removal of synchronous v3 endpoints and the April 2026 Upscale rename (15). No subprocessor list or data locations found for Firefly Services (0).\n- SurgePix API (28): The editorial half. A closed service whose terms name no company or address. They restrict any commercial use of what the service produces without SurgePix's permission, and contain clauses from an unrelated product (a \"big data\" query platform and \"non-resume content\"). The skills are MIT. Unclear terms, with a little credit for the open skills (5). The privacy policy is dated both 10 June 2026 and 1 July 2022, describes WeChat and phone registration and \"domestic servers\", and gives no retention periods. The API reference says uploads go to Tencent Cloud storage in Seoul as public URLs. No DPA. The statements don't agree (5). No deprecation policy or notices, and the terms let changes take effect on publication without notice (0). Tencent Cloud Object Storage in ap-seoul is named in the API reference, and Alipay and WeChat Pay in the privacy policy. No subprocessor list or stated data location (4). 5+5+0+4 = 14.\n\n### Reliability: Adobe Firefly API +40\n\n- Adobe Firefly API (55): status.adobe.com renders only with JavaScript, on 1 and 2 October alike. Its data feed at data.status.adobe.com answers with numbered service tokens and no names, and events from 2024, so we couldn't confirm a Firefly Services component (10) or read its history (5). IsDown tracks 199 Adobe components and lists no Adobe-posted Firefly incident in 90 days, but it doesn't break Firefly out either, so we don't count it. Default limits of 4 requests a minute and 9,000 a day per organisation, raised through an account manager (15). The usage notes say a 429 comes back over the limit and advise retrying on the retry-after header or with exponential backoff, and the OpenAPI spec declares a retry-after header (15). No SLA published (0). Image generation and, since 24 April 2026, Upscale are GA (10).\n- SurgePix API (15): Read with the hosted lines. No status page was found on surgepix.ai or in the docs, and status.surgepix.ai doesn't resolve (0). With no history to read, the incident line takes the floor (5). No rate limits with numbers are documented. The terms say \"non-human continuous or frequent query operations\" lead to automatic account suspension, with no threshold given (0). No 429 or backoff guidance. The skill scripts poll every 2 seconds for up to 5 to 15 minutes, but that is client code, not a documented policy (0). No SLA, and the terms disclaim uninterrupted service (0). The API isn't labelled beta or preview, and API keys have been self-serve since 2 June 2026 per the changelog (10). 0+5+0+0+0+10 = 15.\n\n### Schema \u0026 documentation: Adobe Firefly API +38\n\n- Adobe Firefly API (78): OpenAPI 3.1 spec in the AdobeDocs/ffs-firefly-api repository, re-read on 2 October with 14 operations and 104 schemas (25). No llms.txt (0). Endpoint guides state what each endpoint is for, little on when not to use one (13). Typed inputs with 41 enums and required fields, with the model picked by an `x-model-version` header (13). 71 examples, and every operation lists its 4xx and 5xx responses, with example bodies for 422 validation and 451 content-policy errors (12). Dated changelog that flags breaking changes (15).\n- SurgePix API (40): No OpenAPI or other machine-readable contract was found (0). surgepix.ai/llms.txt returns 404. The docs are HTML pages, but the 15 SKILL.md files in the MIT repository are Markdown written for agents, so half (5). The API reference states the purpose of each of its five operations and the async and session model. The SKILL.md files add trigger phrases and explicit do-not-use routing between skills, but 11 of the task endpoints the skills call appear only in their scripts, with no reference (10). Parameter tables give type and required for the documented operations, with no enums or limits, and the undocumented endpoints have no schema at all (7). JSON examples for every documented operation and an error table with 401, 404 and `error.file.sensitive_content` (10). A dated public changelog from 11 March 2026, but no version in the API path and no API-specific change notes (8). 0+5+10+7+10+8 = 40.\n\n### Security \u0026 auth: Adobe Firefly API +22\n\n- Adobe Firefly API (63): OAuth server-to-server credentials from the Adobe Developer Console, exchanged at Adobe IMS for 24-hour bearer tokens, so no long-lived secret travels with each call (30). Credentials sit in a Developer Console project tied to the organisation's product profile (10). Returns generated images only (10). No per-call audit log found (0). Security programme (13): security.txt valid per the provenance check (5), a public bug bounty on Intigriti that names Adobe Firefly in scope, though not the API host (5), and public security bulletins at helpx.adobe.com/security (3). Adobe's compliance overview pairs no certification with Firefly, and the compliance list is a JavaScript table our reader couldn't load on 1 or 2 October, so no certification is counted (0).\n- SurgePix API (41): Plain API keys created in the account settings, which the docs say can be revoked and reset. The key goes in the `authorization` header, never in a URL. No scopes found (20). No read-only key or spend cap. The plan's credit allowance bounds spend. Every uploaded file becomes a publicly accessible URL on Tencent Cloud storage, which counts against least privilege (3). The API returns image and file URLs, not untrusted text (10). The billing page's credit statement lists each request with its model and token counts, and sessions group calls in the web app, per the docs (8). No security.txt, disclosure policy, bug bounty or certification was found (0). 20+3+10+8+0 = 41.\n\n### Payments \u0026 pricing: SurgePix API +20\n\n- Adobe Firefly API (0): No x402, MPP or L402 (0). No public price list, access through an enterprise contract with Adobe sales (0). No free tier (0). A person has to negotiate a contract before any key exists (0).\n- SurgePix API (20): No x402, MPP or L402 (0). Plan prices and monthly credits are public, but credits are spent per token with no per-call price for any API task, so plan-only pricing (10). A free plan with 25 credits a day. The pages don't say whether a card is needed or whether a free account can create API keys, so half, a judgement call (10). A person signs up in a browser and creates the key in settings (0). 0+10+10+0 = 20.\n\n## Score by category\n\n| Category | Weight | Adobe Firefly API | SurgePix API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 15 | Adobe Firefly API +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 78 | 40 | Adobe Firefly API +38 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 53 | Adobe Firefly API +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 41 | Adobe Firefly API +22 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 20 | SurgePix API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 23 | 66 | SurgePix API +43 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 28 | Adobe Firefly API +41 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **49 · D** | **36 · F** | |\n\n## Facts side by side\n\n| Fact | Adobe Firefly API | SurgePix API |\n| --- | --- | --- |\n| Kind | Model API | HTTP API |\n| Vendor | Adobe | SurgePix |\n| Hosted endpoint | `https://firefly-api.adobe.io` | `https://api.surgepix.ai/api` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | none | Proprietary hosted service under the Surgepix User Agreement, which names no company and restricts commercial use without SurgePix's permission. The agent skills repository is MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-04-24 | 2026-10-23 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | 2025-10-24 | 2026-06-10 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\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 | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | 1.1k npm/wk | none |\n| Agent reviews | 1.5/5 (2) | none |\n\n## How the scores have moved\n\n### Adobe Firefly API\n\n- -0.1 on 28 October 2026: correction\n- +0.1 on 27 October 2026: checklist\n- -0.2 on 8 October 2026: checklist\n\n### SurgePix API\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Adobe Firefly API.** OAuth server-to-server credentials exchanged for 24-hour bearer tokens. Enterprise contract only. No self-serve sign-up and no public price list.\n\n**SurgePix API.** A small, readable API with async tasks and MIT skill scripts that cover posters, decks, edits and translation. Only background removal is documented, the terms name no company and restrict commercial use and automated querying, and uploaded files become public URLs.\n\n## Before you call either\n\n### Adobe Firefly API\n\n1. Call the REST async endpoints directly. `@adobe/firefly-apis` 2.0.1 targets the removed synchronous paths and has no Image 5 or upscale methods\n2. Cache the IMS token and refresh it before its 24 hours run out\n3. Poll `/v3/status/{jobId}`, back off on 429 using the retry-after header, and download results within the hour their URLs stay valid\n4. Send `precise_upsampler_v1` to Upscale. `creative_upsampler_v1` returns 422 since 2026-04-24\n5. Image 5 lives at `/v4/images/generate-async`. Image 3 and 4 stay on `/v3/images/generate-async`\n\n### SurgePix API\n\n1. Send the key as the raw `authorization` header value, with no `Bearer` prefix\n2. Don't upload confidential files. The upload flow returns a public URL for every file\n3. Check `code` in the JSON body as well as the HTTP status, since failures come back as a non-zero `code` with a `msg`\n4. Poll `GET /tasks/{taskId}` within 24 hours, after which the task returns 404\n5. Get written permission before using outputs commercially, since the terms restrict commercial use\n\n## Tutorials\n\n- [Generate a launch background with Adobe Firefly](https://www.anchorterminal.com/tutorials/adobe-firefly/), for Adobe Firefly API\n\n## Questions\n\n### Which is better for AI agents, Adobe Firefly API or SurgePix API?\n\nAdobe Firefly API scores 49 (D) on agent readiness against SurgePix API's 36 (F), and leads in 5 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Adobe Firefly API and SurgePix API need an API key?\n\nAdobe Firefly API uses an OAuth sign-in. SurgePix API needs an API key.\n\n### Can an agent call Adobe Firefly API and SurgePix API without installing anything?\n\nYes. Adobe Firefly API has a hosted endpoint at https://firefly-api.adobe.io and SurgePix API at https://api.surgepix.ai/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix.json, and with the fewest tokens: https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"adobe-firefly\", \"b\": \"surgepix\"}`. From a terminal: `anchor compare adobe-firefly surgepix`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/adobe-firefly.json and https://www.anchorterminal.com/api/v1/tools/surgepix.json\n\n## Other comparisons with Adobe Firefly API or SurgePix API\n\n- [Adobe Firefly API vs ArtCraft](https://www.anchorterminal.com/compare/adobe-firefly-vs-artcraft.md)\n- [Adobe Firefly API vs Black Forest Labs FLUX API](https://www.anchorterminal.com/compare/adobe-firefly-vs-black-forest-labs.md)\n- [Adobe Firefly API vs Bria API](https://www.anchorterminal.com/compare/adobe-firefly-vs-bria.md)\n- [Adobe Firefly API vs fal image models](https://www.anchorterminal.com/compare/adobe-firefly-vs-fal-image.md)\n- [Adobe Firefly API vs Google Imagen](https://www.anchorterminal.com/compare/adobe-firefly-vs-google-imagen.md)\n- [Adobe Firefly API vs Ideogram API](https://www.anchorterminal.com/compare/adobe-firefly-vs-ideogram.md)\n- [Adobe Firefly API vs Iris-3B](https://www.anchorterminal.com/compare/adobe-firefly-vs-iris-3b.md)\n- [Adobe Firefly API vs Leonardo.Ai API](https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai.md)\n- [Adobe Firefly API vs OpenAI Image API](https://www.anchorterminal.com/compare/adobe-firefly-vs-openai-image-api.md)\n- [Adobe Firefly API vs Qwen-Image 2.1 (Model Studio)](https://www.anchorterminal.com/compare/adobe-firefly-vs-qwen-image-2-1.md)\n- [Adobe Firefly API vs Recraft API](https://www.anchorterminal.com/compare/adobe-firefly-vs-recraft.md)\n- [Adobe Firefly API vs Replicate image models](https://www.anchorterminal.com/compare/adobe-firefly-vs-replicate-image.md)\n- [Adobe Firefly API vs Seedream on BytePlus ModelArk](https://www.anchorterminal.com/compare/adobe-firefly-vs-seedream-on-byteplus-modelark.md)\n- [Adobe Firefly API vs Stability AI Image API](https://www.anchorterminal.com/compare/adobe-firefly-vs-stability-ai-image.md)\n- [ArtCraft vs SurgePix API](https://www.anchorterminal.com/compare/artcraft-vs-surgepix.md)\n- [Black Forest Labs FLUX API vs SurgePix API](https://www.anchorterminal.com/compare/black-forest-labs-vs-surgepix.md)\n- [Bria API vs SurgePix API](https://www.anchorterminal.com/compare/bria-vs-surgepix.md)\n- [fal image models vs SurgePix API](https://www.anchorterminal.com/compare/fal-image-vs-surgepix.md)\n- [Google Imagen vs SurgePix API](https://www.anchorterminal.com/compare/google-imagen-vs-surgepix.md)\n- [Ideogram API vs SurgePix API](https://www.anchorterminal.com/compare/ideogram-vs-surgepix.md)\n- [Iris-3B vs SurgePix API](https://www.anchorterminal.com/compare/iris-3b-vs-surgepix.md)\n- [Leonardo.Ai API vs SurgePix API](https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.md)\n- [OpenAI Image API vs SurgePix API](https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix.md)\n- [Qwen-Image 2.1 (Model Studio) vs SurgePix API](https://www.anchorterminal.com/compare/qwen-image-2-1-vs-surgepix.md)\n- [Recraft API vs SurgePix API](https://www.anchorterminal.com/compare/recraft-vs-surgepix.md)\n- [Replicate image models vs SurgePix API](https://www.anchorterminal.com/compare/replicate-image-vs-surgepix.md)\n- [Seedream on BytePlus ModelArk vs SurgePix API](https://www.anchorterminal.com/compare/seedream-on-byteplus-modelark-vs-surgepix.md)\n- [Stability AI Image API vs SurgePix API](https://www.anchorterminal.com/compare/stability-ai-image-vs-surgepix.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-02",
    "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 Firefly API vs SurgePix API",
        "url": ""
      }
    ],
    "description": "Adobe Firefly scores 49 (D) to SurgePix's 36 (F) for image generation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Adobe Firefly API D 49",
      "SurgePix API F 36",
      "scores"
    ],
    "h1": "Adobe Firefly API vs SurgePix API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/adobe-firefly-vs-surgepix",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Adobe Firefly vs SurgePix for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-02",
    "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix"
  },
  "tokens": {
    "markdown": 4800,
    "slim": 2830
  },
  "version": 1
}
