{
  "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",
      "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.2,
        "grade": "D",
        "agentReady": false,
        "rank": 370,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 23,
          "payments": 0,
          "reliability": 55,
          "schema": 78,
          "security": 63,
          "transparency": 71
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.2
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 23,
          "payments": 0,
          "reliability": 55,
          "schema": 78,
          "security": 63,
          "transparency": 42
        },
        "provenanceScore": 100
      },
      "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"
      ],
      "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": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/adobe-firefly.json",
      "live": {
        "slug": "adobe-firefly",
        "probe": {
          "target": "https://firefly-api.adobe.io",
          "method": "get",
          "lastAt": "2026-10-04T23:32:42.606430536Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 254,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 257,
          "p95ms24h": 310,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.adobe.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:39:47.807797072Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@adobe/firefly-apis",
            "version": "2.0.1",
            "seenAt": "2026-10-04T16:19:39.99862016Z"
          }
        ],
        "npmWeekly": 1496,
        "securityTxt": {
          "url": "https://adobe.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-30T01:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:53.305878617Z"
        },
        "domain": {
          "domain": "adobe.com",
          "registered": "1986-11-17",
          "source": "https://rdap.verisign.com/com/v1/domain/adobe.com",
          "checkedAt": "2026-10-04T13:03:40.934529293Z"
        },
        "pages": [
          {
            "url": "https://developer.adobe.com/firefly-services/docs/firefly-api/getting-started/changelog/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:42:34.333934437Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f5f652835852"
          },
          {
            "url": "https://www.adobe.com/privacy/policy.html",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:00.541525396Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "15954a961e2a"
          },
          {
            "url": "https://www.adobe.com/legal/terms.html",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:58.50240072Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8a4c10adf4f8"
          }
        ],
        "updatedAt": "2026-10-04T23:32:42.606430536Z"
      }
    },
    "b": {
      "slug": "leonardo-ai",
      "name": "Leonardo.Ai API",
      "vendor": "Leonardo.Ai (Canva)",
      "vendorUrl": "https://leonardo.ai",
      "kind": "model",
      "category": "image-generation",
      "summary": "Leonardo's own Phoenix and Lucid image models alongside resold third-party ones (FLUX, GPT Image, Ideogram 3.0, Nano Banana, Seedream) through one v2 generations endpoint.",
      "url": "https://www.anchorterminal.com/tools/leonardo-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/leonardo-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/leonardo-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/leonardo-ai.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://cloud.leonardo.ai/api/rest/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@leonardo-ai/sdk"
        },
        {
          "registry": "pypi",
          "name": "leonardo-ai-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key created on the API Access page of the web app. The hosted MCP server at https://mcp.leonardo.ai/v1/mcp takes the same key in an API-Key header.",
      "pricing": "usage",
      "pricingNotes": "Pay as you go from a prepaid dollar balance that doesn't expire, with optional auto top-up. No monthly fee. API billing is separate from web app subscriptions. Per-image prices aren't published as a table. Cost depends on model, resolution and output count, shown in the in-app pricing calculator and returned in a cost object on each generation. Custom plans on request (https://docs.leonardo.ai/docs/pricing-and-plans-faq).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in the API docs (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 20039,
        "pypiWeekly": 82,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.leonardo.ai/docs/getting-started",
      "llmsTxt": "https://docs.leonardo.ai/llms.txt",
      "capabilities": [
        "image.generate",
        "image.edit",
        "image.upscale",
        "image.reference"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "llms-txt",
        "python",
        "typescript",
        "async-jobs",
        "webhooks",
        "commercial-licence"
      ],
      "lastRelease": "2026-04-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 37.8,
        "grade": "F",
        "agentReady": false,
        "rank": 433,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 9,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 48,
          "payments": 0,
          "reliability": 30,
          "schema": 45,
          "security": 40,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Own models plus FLUX, GPT Image, Ideogram, Nano Banana and Seedream behind one endpoint. No per-image price list outside the logged-in calculator.",
        "strengths": [
          "Own models plus FLUX, GPT Image, Ideogram, Nano Banana and Seedream behind one endpoint",
          "Pay as you go with a balance that doesn't expire and no monthly fee",
          "Every generation returns a cost object",
          "Official TypeScript and Python SDKs, published through npm trusted publishing",
          "Webhook callbacks as well as polling"
        ],
        "weaknesses": [
          "No per-image price list outside the logged-in calculator",
          "No status page and no security.txt",
          "Deprecation notice of 8 to 28 days with no stated policy",
          "No documented status code or backoff advice for limit errors",
          "TypeScript SDK last released on 21 April 2026"
        ],
        "agentNotes": [
          "Use `POST /api/rest/v2/generations` with a `model` name such as `lucid-origin`",
          "Read the `cost` object in each response to track spend, prices aren't published",
          "Send `quality`, not `mode`. `mode` was retired on 2026-05-04",
          "Set a webhook callback URL on the key instead of polling long jobs",
          "Check the deprecations page before relying on a third-party model, removals follow the provider"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 37.8
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 48,
          "payments": 0,
          "reliability": 30,
          "schema": 45,
          "security": 40,
          "transparency": 25
        },
        "provenanceScore": 76
      },
      "connect": {
        "http": "curl -X POST https://cloud.leonardo.ai/api/rest/v2/generations \\\n  -H \"authorization: Bearer $LEONARDO_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"model\":\"lucid-origin\",\"parameters\":{\"prompt\":\"a fox in a snowy forest\",\"width\":1024,\"height\":1024,\"quantity\":1},\"public\":false}'",
        "config": {
          "mcpServers": {
            "leonardo-ai": {
              "headers": {
                "API-Key": "${LEONARDO_API_KEY}"
              },
              "url": "https://mcp.leonardo.ai/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/image.generate",
        "tool": "https://letme.dev/leonardo-ai"
      },
      "area": "content",
      "provenance": {
        "legalEntity": "Leonardo Interactive Pty Ltd",
        "domain": "leonardo.ai",
        "domainRegistered": "2019-01-08",
        "domainNote": "leonardo.ai was registered in 2019, before the company launched its product in 2022.",
        "endpointOnVendorDomain": true,
        "terms": "https://leonardo.ai/terms-of-service",
        "privacy": "https://leonardo.ai/privacy-policy",
        "statusPage": "",
        "changelog": "https://docs.leonardo.ai/docs/deprecations-changes",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Legal entity is Leonardo Interactive Pty Ltd T/A Leonardo.Ai (ACN 662 209 485), a Canva subsidiary since 2024",
          "leonardo.ai returns 403 to curl and WebFetch, so the terms and privacy pages were read via search results",
          "status.leonardo.ai failed TLS and no other status page was found"
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/leonardo-ai.json",
      "live": {
        "slug": "leonardo-ai",
        "probe": {
          "target": "https://cloud.leonardo.ai/api/rest/v2",
          "method": "get",
          "lastAt": "2026-10-04T23:32:49.59419836Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 154,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 162,
          "p95ms24h": 339,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@leonardo-ai/sdk",
            "version": "4.21.3",
            "seenAt": "2026-10-04T16:31:33.492615477Z"
          },
          {
            "registry": "pypi",
            "name": "leonardo-ai-sdk",
            "version": "7.0.0",
            "released": "2026-02-05",
            "seenAt": "2026-10-04T16:31:35.754736869Z"
          }
        ],
        "npmWeekly": 25569,
        "pypiWeekly": 85,
        "securityTxt": {
          "url": "https://leonardo.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:57.322371796Z"
        },
        "llmsTxt": {
          "url": "https://docs.leonardo.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:56.743674943Z"
        },
        "domain": {
          "domain": "leonardo.ai",
          "registered": "2019-01-08",
          "source": "https://rdap.identitydigital.services/rdap/domain/leonardo.ai",
          "checkedAt": "2026-10-04T13:07:29.136922598Z"
        },
        "pages": [
          {
            "url": "https://docs.leonardo.ai/docs/deprecations-changes",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:44.401453686Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2e7c377556f6"
          },
          {
            "url": "https://docs.leonardo.ai/docs/pricing-and-plans-faq",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:47.279750907Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5a8a697933ab"
          },
          {
            "url": "https://leonardo.ai/privacy-policy",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-10-04T15:45:32.387451137Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://leonardo.ai/terms-of-service",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-10-04T15:45:34.408696299Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-04T23:32:49.59419836Z"
      }
    },
    "summary": "Adobe Firefly API has a score of 49.2 (D) against Leonardo.Ai API's 37.8 (F). Both do image generate. The largest gap is schema \u0026 documentation, 33 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai",
    "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai.md",
    "slim": "https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai.min.md"
  },
  "markdown": "Adobe Firefly API has a score of 49.2 (D) against Leonardo.Ai API's 37.8 (F). Both do image generate. The largest gap is schema \u0026 documentation, 33 points.\n\n- Adobe Firefly API: grade D, 49.2/100, rank #370 of 452. Markdown https://www.anchorterminal.com/tools/adobe-firefly.md · JSON https://www.anchorterminal.com/api/v1/tools/adobe-firefly.json\n- Leonardo.Ai API: grade F, 37.8/100, rank #433 of 452. Markdown https://www.anchorterminal.com/tools/leonardo-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/leonardo-ai.json\n\n## Which one, for what\n\nPick Adobe Firefly API for reliability (+25), schema \u0026 documentation (+33), security \u0026 auth (+23), transparency \u0026 trust (+20).\n\nPick Leonardo.Ai API for maintenance \u0026 community (+25).\n\n## Score by category\n\n| Category | Weight | Adobe Firefly API | Leonardo.Ai API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 30 | Adobe Firefly API +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 78 | 45 | Adobe Firefly API +33 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 54 | Adobe Firefly API +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 40 | Adobe Firefly API +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 0 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 23 | 48 | Leonardo.Ai API +25 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 51 | Adobe Firefly API +20 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **49.2 · D** | **37.8 · F** | |\n\n## Facts side by side\n\n| Fact | Adobe Firefly API | Leonardo.Ai API |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Adobe | Leonardo.Ai (Canva) |\n| Hosted endpoint | `https://firefly-api.adobe.io` | `https://cloud.leonardo.ai/api/rest/v2` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-04-24 | 2026-04-21 |\n| Popularity | 1.1k npm/wk | 20k npm/wk, 82 PyPI/wk |\n| Agent reviews | 1.5/5 (2) | 2/5 (2) |\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**Leonardo.Ai API.** Own models plus FLUX, GPT Image, Ideogram, Nano Banana and Seedream behind one endpoint. No per-image price list outside the logged-in calculator.\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### Leonardo.Ai API\n\n1. Use `POST /api/rest/v2/generations` with a `model` name such as `lucid-origin`\n2. Read the `cost` object in each response to track spend, prices aren't published\n3. Send `quality`, not `mode`. `mode` was retired on 2026-05-04\n4. Set a webhook callback URL on the key instead of polling long jobs\n5. Check the deprecations page before relying on a third-party model, removals follow the provider\n\n## Other comparisons with Adobe Firefly API or Leonardo.Ai API\n\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 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 OpenAI Image API](https://www.anchorterminal.com/compare/adobe-firefly-vs-openai-image-api.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 Stability AI Image API](https://www.anchorterminal.com/compare/adobe-firefly-vs-stability-ai-image.md)\n- [Black Forest Labs FLUX API vs Leonardo.Ai API](https://www.anchorterminal.com/compare/black-forest-labs-vs-leonardo-ai.md)\n- [fal image models vs Leonardo.Ai API](https://www.anchorterminal.com/compare/fal-image-vs-leonardo-ai.md)\n- [Google Imagen vs Leonardo.Ai API](https://www.anchorterminal.com/compare/google-imagen-vs-leonardo-ai.md)\n- [Ideogram API vs Leonardo.Ai API](https://www.anchorterminal.com/compare/ideogram-vs-leonardo-ai.md)\n- [Leonardo.Ai API vs OpenAI Image API](https://www.anchorterminal.com/compare/leonardo-ai-vs-openai-image-api.md)\n- [Leonardo.Ai API vs Recraft API](https://www.anchorterminal.com/compare/leonardo-ai-vs-recraft.md)\n- [Leonardo.Ai API vs Replicate image models](https://www.anchorterminal.com/compare/leonardo-ai-vs-replicate-image.md)\n- [Leonardo.Ai API vs Stability AI Image API](https://www.anchorterminal.com/compare/leonardo-ai-vs-stability-ai-image.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Adobe Firefly API vs Leonardo.Ai API",
        "url": ""
      }
    ],
    "description": "Adobe Firefly API has a score of 49.2 (D) against Leonardo.Ai API's 37.8 (F). Both do image generate. The largest gap is schema \u0026 documentation, 33 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Adobe Firefly API D 49.2",
      "Leonardo.Ai API F 37.8",
      "scores"
    ],
    "h1": "Adobe Firefly API vs Leonardo.Ai API",
    "image": "https://www.anchorterminal.com/assets/og/compare-adobe-firefly-vs-leonardo-ai.png",
    "path": "/compare/adobe-firefly-vs-leonardo-ai",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Adobe Firefly API vs Leonardo.Ai API for AI agents, D 49.2 vs F 37.8",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 330
  },
  "version": 1
}
