{
  "data": {
    "a": {
      "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",
      "dns": "leonardo-ai.grade.anchorterminal.com",
      "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.7,
        "grade": "F",
        "agentReady": false,
        "rank": 1165,
        "ranked": true,
        "rankOf": 1266,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 48,
          "payments": 0,
          "reliability": 30,
          "schema": 45,
          "security": 40,
          "transparency": 50
        },
        "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.",
        "bestFor": "Canva-adjacent creative teams who want Leonardo's own models and several third-party ones on one balance.",
        "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.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 37.7
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 48,
          "payments": 0,
          "reliability": 30,
          "schema": 45,
          "security": 40,
          "transparency": 25
        },
        "provenanceScore": 74,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://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": 74
      },
      "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-11-02T15:06:46.409714047Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 325,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 189,
          "p95ms24h": 366,
          "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": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "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": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 158,
              "ok": 158
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@leonardo-ai/sdk",
            "version": "4.21.3",
            "seenAt": "2026-11-01T17:10:36.34184637Z"
          },
          {
            "registry": "pypi",
            "name": "leonardo-ai-sdk",
            "version": "7.0.0",
            "released": "2026-02-05",
            "seenAt": "2026-11-01T17:10:37.216319737Z"
          }
        ],
        "npmWeekly": 20440,
        "pypiWeekly": 147,
        "securityTxt": {
          "url": "https://leonardo.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-01T15:42:13.030791682Z"
        },
        "llmsTxt": {
          "url": "https://docs.leonardo.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:14:08.310623039Z"
        },
        "domain": {
          "domain": "leonardo.ai",
          "registered": "2019-01-08",
          "source": "https://rdap.identitydigital.services/rdap/domain/leonardo.ai",
          "checkedAt": "2026-11-01T14:24:13.759571034Z"
        },
        "pages": [
          {
            "url": "https://docs.leonardo.ai/docs/deprecations-changes",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-02T07:14:43.511518917Z",
            "changedAt": "2026-10-31T06:10:17.13297254Z",
            "fingerprint": "e7aaa1b03aee"
          },
          {
            "url": "https://docs.leonardo.ai/docs/pricing-and-plans-faq",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-02T07:14:46.532641983Z",
            "changedAt": "2026-10-31T06:10:20.000493244Z",
            "fingerprint": "0f76aefbf07e"
          },
          {
            "url": "https://leonardo.ai/privacy-policy",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-11-02T07:19:54.668704189Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://leonardo.ai/terms-of-service",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-11-02T07:19:56.690382061Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-11-02T15:06:46.409714047Z"
      }
    },
    "answer": "Leonardo.Ai API scores 37.7 (F) on agent readiness against SurgePix API's 36 (F), and leads in 4 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": 22,
        "category": "transparency",
        "leads": "leonardo-ai",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed API under Leonardo's terms. Leonardo Interactive Pty Ltd is a Canva subsidiary (15). leonardo.ai returns 403 to our fetcher, so we couldn't read the privacy policy or retention statements in this run (0). Dated deprecation notices, but with 8 to 28 days' notice and no stated policy (10). No subprocessor list or data locations found (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": 50,
          "b": 28
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "surgepix",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). No per-image price list. Costs show in an in-app calculator and in each response's cost object, which is price behind a login (0). No API free tier documented (0). Browser sign-up (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
        }
      },
      {
        "by": 18,
        "category": "maintenance",
        "leads": "surgepix",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The last dated API change is the removal of Sora 2 on 9 July 2026, 84 days ago. The TypeScript SDK's last release, 4.21.3, was on 21 April 2026 (20). For models we look at churn and notice. Six removals or breaking changes since April 2026 with 8 to 28 days' notice and no stated policy (3). Public deprecations page and a contact form (6). Official TypeScript and Python SDKs, the TypeScript one five months old (12). The SDK publishes from GitHub Actions through npm trusted publishing (7).",
          "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": 48,
          "b": 66
        }
      },
      {
        "by": 15,
        "category": "reliability",
        "leads": "leonardo-ai",
        "name": "Reliability",
        "reasons": {
          "a": "No status page. status.leonardo.ai failed TLS when the listing was researched and the limits guide links none (0). No readable incident history (5). Concurrency, queue and rate limits are defined and default numbers sit in the limits reference, 10 concurrent jobs per the listing's research (15). The limits guide says nothing about which status code comes back when a limit is hit or how to back off (0). No SLA found (0). The v2 generations endpoint is 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": 30,
          "b": 15
        }
      },
      {
        "by": 5,
        "category": "schema",
        "leads": "leonardo-ai",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No public OpenAPI spec found (0). llms.txt for the docs (10). Guides describe each model, but we found no when-not-to-use guidance (8). The SDKs are typed with Zod schemas, and one `model` string on the v2 endpoint chooses among many shapes (10). Examples in the guides, no error catalogue found (7). v1 and v2 paths and a dated deprecations page, no full changelog (10).",
          "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": 45,
          "b": 40
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Leonardo.Ai (Canva)",
        "b": "SurgePix",
        "name": "Vendor"
      },
      {
        "a": "https://cloud.leonardo.ai/api/rest/v2",
        "b": "https://api.surgepix.ai/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "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": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-04-21",
        "b": "2026-10-23",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "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": "20k npm/wk, 82 PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Leonardo.Ai API scores 37.7 (F) on agent readiness against SurgePix API's 36 (F), and leads in 4 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Leonardo.Ai API or SurgePix API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Leonardo.Ai API and SurgePix API need an API key?"
      },
      {
        "answer": "Yes. Leonardo.Ai API has a hosted endpoint at https://cloud.leonardo.ai/api/rest/v2 and SurgePix API at https://api.surgepix.ai/api.",
        "question": "Can an agent call Leonardo.Ai API and SurgePix API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 30 against 15",
          "Schema \u0026 documentation, 45 against 40",
          "Transparency \u0026 trust, 50 against 28"
        ],
        "also": null,
        "goodFor": "Canva-adjacent creative teams who want Leonardo's own models and several third-party ones on one balance.",
        "slug": "leonardo-ai",
        "watchFor": "No per-image price list outside the logged-in calculator"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 20 against 0",
          "Maintenance \u0026 community, 66 against 48"
        ],
        "also": null,
        "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": {
      "leonardo-ai": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 37.5,
          "fromGrade": "F",
          "to": 37.7,
          "toGrade": "F"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 37.8,
          "fromGrade": "F",
          "to": 37.5,
          "toGrade": "F"
        }
      ],
      "surgepix": null
    },
    "job": {
      "capability": "image.generate",
      "name": "Image generation"
    },
    "others": [
      {
        "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-surgepix.json",
        "title": "Adobe Firefly API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/artcraft-vs-leonardo-ai.json",
        "title": "ArtCraft vs Leonardo.Ai API",
        "url": "https://www.anchorterminal.com/compare/artcraft-vs-leonardo-ai"
      },
      {
        "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-leonardo-ai.json",
        "title": "Black Forest Labs FLUX API vs Leonardo.Ai API",
        "url": "https://www.anchorterminal.com/compare/black-forest-labs-vs-leonardo-ai"
      },
      {
        "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-leonardo-ai.json",
        "title": "Bria API vs Leonardo.Ai API",
        "url": "https://www.anchorterminal.com/compare/bria-vs-leonardo-ai"
      },
      {
        "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-leonardo-ai.json",
        "title": "fal image models vs Leonardo.Ai API",
        "url": "https://www.anchorterminal.com/compare/fal-image-vs-leonardo-ai"
      },
      {
        "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-leonardo-ai.json",
        "title": "Google Imagen vs Leonardo.Ai API",
        "url": "https://www.anchorterminal.com/compare/google-imagen-vs-leonardo-ai"
      },
      {
        "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-leonardo-ai.json",
        "title": "Ideogram API vs Leonardo.Ai API",
        "url": "https://www.anchorterminal.com/compare/ideogram-vs-leonardo-ai"
      },
      {
        "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-leonardo-ai.json",
        "title": "Iris-3B vs Leonardo.Ai API",
        "url": "https://www.anchorterminal.com/compare/iris-3b-vs-leonardo-ai"
      },
      {
        "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-openai-image-api.json",
        "title": "Leonardo.Ai API vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-openai-image-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leonardo-ai-vs-qwen-image-2-1.json",
        "title": "Leonardo.Ai API vs Qwen-Image 2.1 (Model Studio)",
        "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-qwen-image-2-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leonardo-ai-vs-recraft.json",
        "title": "Leonardo.Ai API vs Recraft API",
        "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-recraft"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leonardo-ai-vs-replicate-image.json",
        "title": "Leonardo.Ai API vs Replicate image models",
        "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-replicate-image"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leonardo-ai-vs-seedream-on-byteplus-modelark.json",
        "title": "Leonardo.Ai API vs Seedream on BytePlus ModelArk",
        "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-seedream-on-byteplus-modelark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leonardo-ai-vs-stability-ai-image.json",
        "title": "Leonardo.Ai API vs Stability AI Image API",
        "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-stability-ai-image"
      },
      {
        "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": [
      {
        "by": 15,
        "edge": "leonardo-ai",
        "key": "reliability",
        "leonardo-ai": 30,
        "name": "Reliability",
        "surgepix": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "leonardo-ai",
        "key": "schema",
        "leonardo-ai": 45,
        "name": "Schema \u0026 documentation",
        "surgepix": 40,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "leonardo-ai",
        "key": "ergonomics",
        "leonardo-ai": 54,
        "name": "Agent ergonomics",
        "surgepix": 53,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "surgepix",
        "key": "security",
        "leonardo-ai": 40,
        "name": "Security \u0026 auth",
        "surgepix": 41,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "surgepix",
        "key": "payments",
        "leonardo-ai": 0,
        "name": "Payments \u0026 pricing",
        "surgepix": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "edge": "surgepix",
        "key": "maintenance",
        "leonardo-ai": 48,
        "name": "Maintenance \u0026 community",
        "surgepix": 66,
        "weight": 7
      },
      {
        "by": 22,
        "edge": "leonardo-ai",
        "key": "transparency",
        "leonardo-ai": 50,
        "name": "Transparency \u0026 trust",
        "surgepix": 28,
        "weight": 7
      }
    ],
    "summary": "Leonardo.Ai API scores 37.7 (F) on agent readiness against SurgePix API's 36 (F), and leads in 4 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community. Both do image generation.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "leonardo-ai": "Own models plus FLUX, GPT Image, Ideogram, Nano Banana and Seedream behind one endpoint. No per-image price list outside the logged-in calculator.",
      "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/leonardo-ai-vs-surgepix",
    "json": "https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.min.md"
  },
  "markdown": "Leonardo.Ai API scores 37.7 (F) on agent readiness against SurgePix API's 36 (F), and leads in 4 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community. Both do image generation.\n\n- Leonardo.Ai API: grade F, 37.7/100, rank #1165 of 1266. Markdown https://www.anchorterminal.com/tools/leonardo-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/leonardo-ai.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### Leonardo.Ai API (F)\n\nGood for: Canva-adjacent creative teams who want Leonardo's own models and several third-party ones on one balance.\n\nAhead on:\n- Reliability, 30 against 15\n- Schema \u0026 documentation, 45 against 40\n- Transparency \u0026 trust, 50 against 28\n\nWatch for: No per-image price list outside the logged-in calculator\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 48\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### Transparency \u0026 trust: Leonardo.Ai API +22\n\n- Leonardo.Ai API (50): Closed API under Leonardo's terms. Leonardo Interactive Pty Ltd is a Canva subsidiary (15). leonardo.ai returns 403 to our fetcher, so we couldn't read the privacy policy or retention statements in this run (0). Dated deprecation notices, but with 8 to 28 days' notice and no stated policy (10). No subprocessor list or data locations found (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### Payments \u0026 pricing: SurgePix API +20\n\n- Leonardo.Ai API (0): No x402, MPP or L402 (0). No per-image price list. Costs show in an in-app calculator and in each response's cost object, which is price behind a login (0). No API free tier documented (0). Browser sign-up (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### Maintenance \u0026 community: SurgePix API +18\n\n- Leonardo.Ai API (48): The last dated API change is the removal of Sora 2 on 9 July 2026, 84 days ago. The TypeScript SDK's last release, 4.21.3, was on 21 April 2026 (20). For models we look at churn and notice. Six removals or breaking changes since April 2026 with 8 to 28 days' notice and no stated policy (3). Public deprecations page and a contact form (6). Official TypeScript and Python SDKs, the TypeScript one five months old (12). The SDK publishes from GitHub Actions through npm trusted publishing (7).\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### Reliability: Leonardo.Ai API +15\n\n- Leonardo.Ai API (30): No status page. status.leonardo.ai failed TLS when the listing was researched and the limits guide links none (0). No readable incident history (5). Concurrency, queue and rate limits are defined and default numbers sit in the limits reference, 10 concurrent jobs per the listing's research (15). The limits guide says nothing about which status code comes back when a limit is hit or how to back off (0). No SLA found (0). The v2 generations endpoint is 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: Leonardo.Ai API +5\n\n- Leonardo.Ai API (45): No public OpenAPI spec found (0). llms.txt for the docs (10). Guides describe each model, but we found no when-not-to-use guidance (8). The SDKs are typed with Zod schemas, and one `model` string on the v2 endpoint chooses among many shapes (10). Examples in the guides, no error catalogue found (7). v1 and v2 paths and a dated deprecations page, no full changelog (10).\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## Score by category\n\n| Category | Weight | Leonardo.Ai API | SurgePix API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 15 | Leonardo.Ai API +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 45 | 40 | Leonardo.Ai API +5 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 53 | Leonardo.Ai API +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 41 | SurgePix API +1 |\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) | 48 | 66 | SurgePix API +18 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 50 | 28 | Leonardo.Ai API +22 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **37.7 · F** | **36 · F** | |\n\n## Facts side by side\n\n| Fact | Leonardo.Ai API | SurgePix API |\n| --- | --- | --- |\n| Kind | Model API | HTTP API |\n| Vendor | Leonardo.Ai (Canva) | SurgePix |\n| Hosted endpoint | `https://cloud.leonardo.ai/api/rest/v2` | `https://api.surgepix.ai/api` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | 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 | yes | no |\n| Last release | 2026-04-21 | 2026-10-23 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | couldn't be read | 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 | 20k npm/wk, 82 PyPI/wk | none |\n| Agent reviews | 2/5 (2) | none |\n\n## How the scores have moved\n\n### Leonardo.Ai API\n\n- +0.2 on 27 October 2026: checklist\n- -0.3 on 8 October 2026: checklist\n\n### SurgePix API\n\nNo score change since it was listed.\n\n## Verdicts\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**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### 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### 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## Questions\n\n### Which is better for AI agents, Leonardo.Ai API or SurgePix API?\n\nLeonardo.Ai API scores 37.7 (F) on agent readiness against SurgePix API's 36 (F), and leads in 4 of 7 scored categories. SurgePix API leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Leonardo.Ai API and SurgePix API need an API key?\n\nBoth need an API key.\n\n### Can an agent call Leonardo.Ai API and SurgePix API without installing anything?\n\nYes. Leonardo.Ai API has a hosted endpoint at https://cloud.leonardo.ai/api/rest/v2 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/leonardo-ai-vs-surgepix.json, and with the fewest tokens: https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"leonardo-ai\", \"b\": \"surgepix\"}`. From a terminal: `anchor compare leonardo-ai surgepix`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/leonardo-ai.json and https://www.anchorterminal.com/api/v1/tools/surgepix.json\n\n## Other comparisons with Leonardo.Ai API or SurgePix API\n\n- [Adobe Firefly API vs Leonardo.Ai API](https://www.anchorterminal.com/compare/adobe-firefly-vs-leonardo-ai.md)\n- [Adobe Firefly API vs SurgePix API](https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix.md)\n- [ArtCraft vs Leonardo.Ai API](https://www.anchorterminal.com/compare/artcraft-vs-leonardo-ai.md)\n- [ArtCraft vs SurgePix API](https://www.anchorterminal.com/compare/artcraft-vs-surgepix.md)\n- [Black Forest Labs FLUX API vs Leonardo.Ai API](https://www.anchorterminal.com/compare/black-forest-labs-vs-leonardo-ai.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 Leonardo.Ai API](https://www.anchorterminal.com/compare/bria-vs-leonardo-ai.md)\n- [Bria API vs SurgePix API](https://www.anchorterminal.com/compare/bria-vs-surgepix.md)\n- [fal image models vs Leonardo.Ai API](https://www.anchorterminal.com/compare/fal-image-vs-leonardo-ai.md)\n- [fal image models vs SurgePix API](https://www.anchorterminal.com/compare/fal-image-vs-surgepix.md)\n- [Google Imagen vs Leonardo.Ai API](https://www.anchorterminal.com/compare/google-imagen-vs-leonardo-ai.md)\n- [Google Imagen vs SurgePix API](https://www.anchorterminal.com/compare/google-imagen-vs-surgepix.md)\n- [Ideogram API vs Leonardo.Ai API](https://www.anchorterminal.com/compare/ideogram-vs-leonardo-ai.md)\n- [Ideogram API vs SurgePix API](https://www.anchorterminal.com/compare/ideogram-vs-surgepix.md)\n- [Iris-3B vs Leonardo.Ai API](https://www.anchorterminal.com/compare/iris-3b-vs-leonardo-ai.md)\n- [Iris-3B vs SurgePix API](https://www.anchorterminal.com/compare/iris-3b-vs-surgepix.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 Qwen-Image 2.1 (Model Studio)](https://www.anchorterminal.com/compare/leonardo-ai-vs-qwen-image-2-1.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 Seedream on BytePlus ModelArk](https://www.anchorterminal.com/compare/leonardo-ai-vs-seedream-on-byteplus-modelark.md)\n- [Leonardo.Ai API vs Stability AI Image API](https://www.anchorterminal.com/compare/leonardo-ai-vs-stability-ai-image.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": "Leonardo.Ai API vs SurgePix API",
        "url": ""
      }
    ],
    "description": "Leonardo.Ai scores 37.7 (F) to SurgePix's 36 (F) for image generation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Leonardo.Ai API F 37.7",
      "SurgePix API F 36",
      "scores"
    ],
    "h1": "Leonardo.Ai API vs SurgePix API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/leonardo-ai-vs-surgepix",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Leonardo.Ai vs SurgePix for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-02",
    "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix"
  },
  "tokens": {
    "markdown": 4050,
    "slim": 2230
  },
  "version": 1
}
