{
  "data": {
    "a": {
      "slug": "bria",
      "name": "Bria API",
      "vendor": "Bria AI",
      "vendorUrl": "https://bria.ai",
      "kind": "model",
      "category": "image-generation",
      "summary": "Bria's API generates and edits images with its FIBO models, trained on licensed data. It runs as an asynchronous REST API with Python and TypeScript SDKs and an MCP server.",
      "url": "https://www.anchorterminal.com/tools/bria",
      "markdownUrl": "https://www.anchorterminal.com/tools/bria.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bria.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bria.json",
      "dns": "bria.grade.anchorterminal.com",
      "repo": "https://github.com/Bria-AI/bria-client",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://engine.prod.bria-api.com/v2",
      "packages": [
        {
          "registry": "pypi",
          "name": "bria-client"
        },
        {
          "registry": "npm",
          "name": "@bria-ai/client"
        },
        {
          "registry": "pypi",
          "name": "bria-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve organisation API key from the Bria Console, sent in the `api_token` header. An organisation can hold several named keys and revoke each one. No scopes. The hosted MCP server also accepts an OAuth 2.1 bearer token (PKCE, dynamic client registration, device flow) tied to a Bria account. The streaming WebSocket takes `api_token` or `oauth` as a query parameter (https://docs.bria.ai/getting-started/authentication.md).",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 100 generations, no card, at 10 requests a minute. Pay-as-you-go is billed per image, call or second of video, from $0.018 (background removal, product cut-out and shadow) to $0.05 (Erase Foreground) an image, with FIBO generation, FIBO Edit and most edits at $0.032, FIBO Lite at $0.0288 and Ad Delayer at $0.30 a call, at 60 requests a minute. Video runs from $0.01 to $0.112 a second. Enterprise is priced by sales and adds unlimited IP indemnification, SSO, audit logs and self-hosting (https://bria.ai/pricing).",
      "priceSummary": "$0.02 / call",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI files or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 18,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 341,
        "pypiWeekly": 3909,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.bria.ai/",
      "llmsTxt": "https://docs.bria.ai/llms.txt",
      "openapi": "https://docs.bria.ai/_bundle/image-generation.yaml",
      "registryName": "com.bria-api/bria-mcp",
      "capabilities": [
        "image.generate",
        "image.edit",
        "image.upscale",
        "image.reference"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "python",
        "typescript",
        "async-jobs",
        "webhooks",
        "open-weights",
        "c2pa",
        "watermark",
        "commercial-licence",
        "status-page"
      ],
      "lastRelease": "2026-10-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.5,
        "grade": "B",
        "agentReady": false,
        "rank": 275,
        "ranked": true,
        "rankOf": 1266,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 69,
          "payments": 40,
          "reliability": 83,
          "schema": 84,
          "security": 53,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": 0,
        "verdict": "Per-image prices, 100 free generations without a card, OpenAPI files and Markdown docs make a first call quick, and the terms warrant that customer content is not used for training. Keys are organisation-wide with no scopes, the streaming endpoint takes the key in its URL, and the API has no changelog or deprecation policy.",
        "bestFor": "Teams that need image generation and editing with a stated training-data licence, C2PA marking and an indemnity (capped on Pay-as-you-go, unlimited on Enterprise), and product-shot or background work at volume.",
        "strengths": [
          "Per-image prices are public, from $0.018 for background removal to $0.032 for FIBO generation and FIBO Edit",
          "The free plan gives 100 generations on every endpoint with no card, at 10 requests a minute",
          "Each API has a downloadable OpenAPI 3.0 file, and every docs page is served as Markdown with an `llms.txt` index",
          "The Online Terms and Conditions warrant that customer content is not used to train generative models without written consent",
          "A returned `seed` and `structured_prompt` reproduce an image when sent back, per the docs"
        ],
        "weaknesses": [
          "API keys are organisation-wide with no scopes, and no spend cap was found in the reviewed documentation",
          "No API changelog or deprecation policy was found, and the OpenAPI files carry an empty version",
          "The streaming background removal WebSocket takes `api_token` as a URL query parameter",
          "No `security.txt`, disclosure policy or bug bounty was found. ISO 27001 and SOC 2 are stated on the site with no report or trust centre linked",
          "All 18 tools in `bria-mcp` are marked read-only and idempotent although each call is billed"
        ],
        "agentNotes": [
          "Send the key in the `api_token` header, not as `Authorization: Bearer`. Only `/v2/image/verify` and `/v2/video/verify` work without it",
          "Expect `202` with `request_id` and `status_url` from v2 endpoints. Poll `GET /v2/status/{request_id}` every 1 to 2 seconds, or pass `sync: true`",
          "Status polls count towards the per-endpoint limit (10 a minute on Free, 60 on Pay-as-you-go), so prefer `webhook_url` for batches",
          "Download results promptly. Image URLs expire after 3 days by default, and legacy `/v1/product/*` results after 1 hour",
          "Do not resend a failed `POST` blindly. There is no idempotency key, and the SDKs retry status polls only"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.5
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 69,
          "payments": 40,
          "reliability": 83,
          "schema": 84,
          "security": 53,
          "transparency": 42
        },
        "provenanceScore": 62,
        "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",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install bria-client",
        "http": "curl -X POST https://engine.prod.bria-api.com/v2/image/generate \\\n  -H \"api_token: $BRIA_API_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"prompt\": \"a serene mountain landscape at dawn\", \"aspect_ratio\": \"1:1\"}'",
        "claudeCode": "claude mcp add --transport http bria https://mcp.prod.bria-api.com/mcp \\\n  --header \"api_token: $BRIA_API_TOKEN\"",
        "config": {
          "mcpServers": {
            "bria": {
              "headers": {
                "api_token": "\u003cyour-bria-api-token\u003e"
              },
              "url": "https://mcp.prod.bria-api.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/image.generate",
        "tool": "https://letme.dev/bria"
      },
      "area": "content",
      "unitPrices": [
        {
          "item": "FIBO generation",
          "unit": "image",
          "usd": 0.032,
          "note": "`/v2/image/generate`"
        },
        {
          "item": "FIBO Lite generation",
          "unit": "image",
          "usd": 0.0288
        },
        {
          "item": "FIBO Edit",
          "unit": "image",
          "usd": 0.032,
          "note": "instruction editing"
        },
        {
          "item": "Background removal",
          "unit": "image",
          "usd": 0.018,
          "note": "$0.025 with a prompt"
        },
        {
          "item": "Increase resolution",
          "unit": "image",
          "usd": 0.032
        },
        {
          "item": "Structured prompt",
          "unit": "call",
          "usd": 0.02
        },
        {
          "item": "Video background removal",
          "unit": "video-second",
          "usd": 0.04,
          "note": "streaming background removal $0.0225 a second"
        }
      ],
      "provenance": {
        "legalEntity": "Bria Artificial Intelligence Ltd.",
        "domain": "bria.ai",
        "domainRegistered": "2020-04-03",
        "endpointOnVendorDomain": false,
        "terms": "https://drive.google.com/file/d/1MZaT6xUb5aj9irslyFHSWKMV9epMMXSl/view",
        "privacy": "https://bria.ai/privacy-policy",
        "statusPage": "https://status.bria.ai",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The API answers at engine.prod.bria-api.com and the hosted MCP server at mcp.prod.bria-api.com, a different domain from bria.ai. Bria's own docs name both hosts.",
          "The terms link is the Bria Online AI General Terms and Conditions (March 2025, V1.1), a PDF on Google Drive linked from https://bria.ai/terms-of-use. It defines Online Services to include the APIs and an Order to include confirming a subscription plan on Bria's website. We could not see which terms the console shows at sign-up.",
          "https://bria.ai/terms-of-use is a website terms page that grants personal, non-commercial access and is not used as the terms link.",
          "The privacy policy names Bria Artificial Intelligence Ltd. and covers the 'Bria API' service. It carries no effective date.",
          "The terms give 126 Yigal Alon Street, Tel Aviv, for notices and 1412 Broadway, New York, in the page header.",
          "bria.ai/.well-known/security.txt, docs.bria.ai/.well-known/security.txt and engine.prod.bria-api.com/.well-known/security.txt return 404. platform.bria.ai returns the console's HTML page at that path.",
          "RDAP for bria.ai gives a registration date of 2020-04-03.",
          "status.bria.ai is an Atlassian Statuspage. No API changelog was found in the docs sitemap. The SDK repository has a `CHANGELOG.md` for each language."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bria.json",
      "live": {
        "slug": "bria",
        "probe": {
          "target": "https://engine.prod.bria-api.com/v2",
          "method": "get",
          "lastAt": "2026-11-02T15:06:34.718560199Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 105,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 261,
          "p95ms24h": 326,
          "samples24h": 249,
          "samples30d": 6221,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "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": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 158,
              "ok": 158
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bria.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-02T15:05:56.069203493Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Bria-AI/bria-client",
            "version": "v0.3.1",
            "released": "2026-10-25",
            "seenAt": "2026-11-01T16:47:17.150986722Z"
          },
          {
            "registry": "npm",
            "name": "@bria-ai/client",
            "version": "0.2.0",
            "seenAt": "2026-11-01T16:47:15.2878914Z"
          },
          {
            "registry": "pypi",
            "name": "bria-client",
            "version": "0.3.1",
            "released": "2026-10-25",
            "seenAt": "2026-11-01T16:47:15.047270984Z"
          },
          {
            "registry": "pypi",
            "name": "bria-mcp",
            "version": "2.6.0",
            "released": "2026-10-22",
            "seenAt": "2026-11-01T16:47:16.194862711Z"
          }
        ],
        "githubStars": 2,
        "npmWeekly": 20,
        "pypiWeekly": 2293,
        "securityTxt": {
          "url": "https://bria.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-01T15:41:58.517970483Z"
        },
        "llmsTxt": {
          "url": "https://docs.bria.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:13:04.1972913Z"
        },
        "domain": {
          "domain": "bria.ai",
          "registered": "2020-04-03",
          "source": "https://rdap.identitydigital.services/rdap/domain/bria.ai",
          "checkedAt": "2026-11-01T14:16:24.686596148Z"
        },
        "pages": [
          {
            "url": "https://bria.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-02T07:09:20.047400701Z",
            "changedAt": "2026-10-19T23:52:09.450022947Z",
            "fingerprint": "2f7b9b9cec36"
          },
          {
            "url": "https://bria.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-02T07:09:22.435366026Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ccd218c49596"
          },
          {
            "url": "https://drive.google.com/file/d/1MZaT6xUb5aj9irslyFHSWKMV9epMMXSl/view",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-02T07:16:28.261179429Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9cb42166d5ef"
          }
        ],
        "github": {
          "repo": "bria-ai/bria-client",
          "checkedAt": "2026-11-02T08:36:34.695284081Z",
          "stars": 2,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-25T08:57:07Z",
          "openIssues": 2,
          "openPRs": 1,
          "issuesOpened90d": 5,
          "issuesClosed90d": 6,
          "prsMerged90d": 21,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 48,
            "failure": 2,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-25T08:58:20Z"
          },
          "replies": {
            "sampled": 15,
            "unanswered": 2,
            "medianDays": 0.1
          }
        },
        "updatedAt": "2026-11-02T15:06:34.718560199Z"
      }
    },
    "answer": "Bria API scores 67.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in every scored category.",
    "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": 68,
        "category": "reliability",
        "leads": "bria",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. Atlassian Statuspage at status.bria.ai with API components and history (20). history.atom, read on 2 November, has one incident from 4 August to 2 November 2026, \"API Outage for Image Editing, Increase Resolution and Image generation\" on 22 September, resolved in 18 minutes with no cause given. The incident page lists two affected components, Image Generation (API) and Image Editing (API), and not the Tailored Generation, Product Shot, Ad Generation, Video Editing or AI Search APIs, so it reads as partial and minor (20). The 8 October reading came from the page's /api/v2/incidents.json, which the host's robots.txt disallows, so that source is struck; the feed gives the same record. Limits published per plan, 10, 60 and 1,000 requests a minute per endpoint (15). The docs tell callers to back off with jitter and honour `Retry-After` on 429, and the SDKs retry status polls only so a job is not started twice. No idempotency key (13). The site states a 99.9 per cent uptime SLA for managed cloud, but no SLA document was found and the online terms supply the products as is, so half credit (5), per the 8 October check, not re-read on 2 November. The REST API is generally available (10). 20+20+15+13+5+10 = 83.",
          "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": 83,
          "b": 15
        }
      },
      {
        "by": 44,
        "category": "schema",
        "leads": "bria",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "A downloadable OpenAPI 3.0 file for each API, such as `/_bundle/image-generation.yaml` (25). `llms.txt`, a Markdown twin of every page and a docs MCP server at docs.bria.ai/mcp (10). Endpoint pages state the purpose and the valid input combinations, and the MCP tool descriptions say when to use `edit_image` in place of `text_to_image` (17). Enums for resolution, aspect ratio and output type, but `structured_prompt` is a JSON document passed as a string (12). Request and response examples, an error table and typed error bodies per endpoint, with `error.code` shown only as a placeholder (13). Paths are versioned v1 and v2, but the OpenAPI files have an empty version and no API changelog was found (7).",
          "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": 84,
          "b": 40
        }
      },
      {
        "by": 24,
        "category": "transparency",
        "leads": "bria",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed hosted API under the Online AI General Terms and Conditions, a PDF linked from the website terms (read on 8 October as the March 2025 version, V1.1; the linked file is titled August 2025, v1.2 on 2 November). SDKs and the MCP server are MIT. Model weights are source-available for non-commercial use (15). The terms warrant no training on customer content without written consent and deletion within 30 days of termination. The docs give 3 days for image results and say inputs are not kept beyond processing. The privacy policy has no date and no retention periods, and does not name Google, whose Gemini 2.5 Flash handles prompts on the standard generate endpoint (20). No deprecation policy. One endpoint is marked deprecated without a date (3). The privacy policy lists recipient categories only, with vendor names on request by email. Data locations not stated (4).",
          "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": 52,
          "b": 28
        }
      },
      {
        "by": 23,
        "category": "ergonomics",
        "leads": "bria",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Results come back as URLs, with a `seed` and the full structured prompt. The MCP server has 18 tools and returns a JPEG preview of up to 0.7 MB inline (18). Resolution, aspect ratio, output type and a sync or async choice, with nothing to paginate (15). One error shape with `request_id`, a status table and messages the MCP server passes through as `Bria API error \u003cstatus code\u003e: \u003creason\u003e` (18). No idempotency key. Webhooks carry `Bria-Webhook-Id` for deduplication. The MCP tools carry annotations, but all 18 are marked read-only and idempotent although each call is billed (10). Only a prompt is required, and there are official Python and TypeScript SDKs (15).",
          "b": "Every task returns one download URL, or one ZIP for an image set, and status responses are a few fields, so little enters context (18). Nothing to paginate. `noWait` chooses sync or async, and the skills pass size, aspect ratio, count and language, but none of these are in the public reference (10). Errors come back as a JSON `code` and `msg`, with 401 and 404 documented and an NSFW error on upload, but a failure can arrive as HTTP 200 with a non-zero `code` and failed task states carry no documented reason (12). Upload deduplicates by MD5 and returns the existing URL. Tasks have no idempotency key, and a retried task is a new task that spends credits again (5). Few required parameters (`fileUrl` for background removal). No official SDK, only the Node scripts inside the skills (8). 18+10+12+5+8 = 53."
        },
        "scores": {
          "a": 76,
          "b": 53
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "bria",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-image, per-call and per-second prices published without a login, from $0.018 to $0.05 an image on 2 November (20). 100 free generations with no card (20). A person has to sign up in the console to get a key. The MCP OAuth flow has dynamic client registration but still needs a Bria account sign-in (0). 0+20+20+0 = 40.",
          "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": 40,
          "b": 20
        }
      },
      {
        "by": 12,
        "category": "security",
        "leads": "bria",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading of the checklist (credential, training, retention, operator visibility, programme). Several named, revocable organisation keys with no scopes, plus OAuth 2.1 with PKCE on the hosted MCP server, where the scopes are identity only (20). Less 10 because the streaming background removal WebSocket takes `api_token` (or an OAuth token) as a URL query parameter, re-read on 2 November (10 of 30). The Online AI General Terms and Conditions warrant no training on customer content without written consent, per the 8 October check, not re-read on 2 November. The website terms of use, re-read on 2 November, limit the licence Bria takes in customer data to providing the Services (20 of 20). The asset retention page (re-read 2 November) says inputs are not retained beyond processing, image results expire after 3 days by default and can be changed per organisation, video results don't expire by default and legacy `/v1/product/*` results last 1 hour. The privacy policy states no periods (10 of 15). Each response has a `request_id`. Audit logs are listed for Enterprise only (5 of 15). The site states ISO 27001 certification and SOC 2 attestation with no report, auditor or trust centre linked. No `security.txt` (404 on 2 November), disclosure policy or bug bounty found (8 of 20). The 8 October score (33) used the tool lines (read-only modes 0, injection posture 10); this run reads `model` listings on the model lines. 10+20+10+5+8 = 53.",
          "b": "Plain API keys created in the account settings, which the docs say can be revoked and reset. The key goes in the `authorization` header, never in a URL. No scopes found (20). No read-only key or spend cap. The plan's credit allowance bounds spend. Every uploaded file becomes a publicly accessible URL on Tencent Cloud storage, which counts against least privilege (3). The API returns image and file URLs, not untrusted text (10). The billing page's credit statement lists each request with its model and token counts, and sessions group calls in the web app, per the docs (8). No security.txt, disclosure policy, bug bounty or certification was found (0). 20+3+10+8+0 = 41."
        },
        "scores": {
          "a": 53,
          "b": 41
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bria AI",
        "b": "SurgePix",
        "name": "Vendor"
      },
      {
        "a": "https://engine.prod.bria-api.com/v2",
        "b": "https://api.surgepix.ai/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "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": "18",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "com.bria-api/bria-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-25",
        "b": "2026-10-23",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "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": "341 npm/wk, 3.9k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Bria API scores 67.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, Bria API or SurgePix API?"
      },
      {
        "answer": "Bria API takes an API key or an OAuth sign-in. SurgePix API needs an API key.",
        "question": "Do Bria API and SurgePix API need an API key?"
      },
      {
        "answer": "Yes. Bria API has a hosted endpoint at https://engine.prod.bria-api.com/v2 and SurgePix API at https://api.surgepix.ai/api.",
        "question": "Can an agent call Bria API and SurgePix API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 15",
          "Schema \u0026 documentation, 84 against 40",
          "Agent ergonomics, 76 against 53",
          "Security \u0026 auth, 53 against 41",
          "Payments \u0026 pricing, 40 against 20",
          "Transparency \u0026 trust, 52 against 28"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Teams that need image generation and editing with a stated training-data licence, C2PA marking and an indemnity (capped on Pay-as-you-go, unlimited on Enterprise), and product-shot or background work at volume.",
        "slug": "bria",
        "watchFor": "API keys are organisation-wide with no scopes, and no spend cap was found in the reviewed documentation"
      },
      {
        "aheadOn": null,
        "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": {
      "bria": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-02",
          "delta": 3.5,
          "from": 64,
          "fromGrade": "B",
          "to": 67.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 63.7,
          "fromGrade": "B",
          "to": 64,
          "toGrade": "B"
        }
      ],
      "surgepix": null
    },
    "job": {
      "capability": "image.generate",
      "name": "Image generation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-bria.json",
        "title": "Adobe Firefly API vs Bria API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-bria"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-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-bria.json",
        "title": "ArtCraft vs Bria API",
        "url": "https://www.anchorterminal.com/compare/artcraft-vs-bria"
      },
      {
        "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-bria.json",
        "title": "Black Forest Labs FLUX API vs Bria API",
        "url": "https://www.anchorterminal.com/compare/black-forest-labs-vs-bria"
      },
      {
        "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-fal-image.json",
        "title": "Bria API vs fal image models",
        "url": "https://www.anchorterminal.com/compare/bria-vs-fal-image"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-google-imagen.json",
        "title": "Bria API vs Google Imagen",
        "url": "https://www.anchorterminal.com/compare/bria-vs-google-imagen"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-ideogram.json",
        "title": "Bria API vs Ideogram API",
        "url": "https://www.anchorterminal.com/compare/bria-vs-ideogram"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-iris-3b.json",
        "title": "Bria API vs Iris-3B",
        "url": "https://www.anchorterminal.com/compare/bria-vs-iris-3b"
      },
      {
        "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-openai-image-api.json",
        "title": "Bria API vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/bria-vs-openai-image-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-qwen-image-2-1.json",
        "title": "Bria API vs Qwen-Image 2.1 (Model Studio)",
        "url": "https://www.anchorterminal.com/compare/bria-vs-qwen-image-2-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-recraft.json",
        "title": "Bria API vs Recraft API",
        "url": "https://www.anchorterminal.com/compare/bria-vs-recraft"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-replicate-image.json",
        "title": "Bria API vs Replicate image models",
        "url": "https://www.anchorterminal.com/compare/bria-vs-replicate-image"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-seedream-on-byteplus-modelark.json",
        "title": "Bria API vs Seedream on BytePlus ModelArk",
        "url": "https://www.anchorterminal.com/compare/bria-vs-seedream-on-byteplus-modelark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bria-vs-stability-ai-image.json",
        "title": "Bria API vs Stability AI Image API",
        "url": "https://www.anchorterminal.com/compare/bria-vs-stability-ai-image"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fal-image-vs-surgepix.json",
        "title": "fal image models vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/fal-image-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-imagen-vs-surgepix.json",
        "title": "Google Imagen vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/google-imagen-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ideogram-vs-surgepix.json",
        "title": "Ideogram API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/ideogram-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iris-3b-vs-surgepix.json",
        "title": "Iris-3B vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/iris-3b-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.json",
        "title": "Leonardo.Ai API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix.json",
        "title": "OpenAI Image API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-image-2-1-vs-surgepix.json",
        "title": "Qwen-Image 2.1 (Model Studio) vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/qwen-image-2-1-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/recraft-vs-surgepix.json",
        "title": "Recraft API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/recraft-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/replicate-image-vs-surgepix.json",
        "title": "Replicate image models vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/replicate-image-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/seedream-on-byteplus-modelark-vs-surgepix.json",
        "title": "Seedream on BytePlus ModelArk vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/seedream-on-byteplus-modelark-vs-surgepix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stability-ai-image-vs-surgepix.json",
        "title": "Stability AI Image API vs SurgePix API",
        "url": "https://www.anchorterminal.com/compare/stability-ai-image-vs-surgepix"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bria": 83,
        "by": 68,
        "edge": "bria",
        "key": "reliability",
        "name": "Reliability",
        "surgepix": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bria": 84,
        "by": 44,
        "edge": "bria",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "surgepix": 40,
        "weight": 13
      },
      {
        "bria": 76,
        "by": 23,
        "edge": "bria",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "surgepix": 53,
        "weight": 13
      },
      {
        "bria": 53,
        "by": 12,
        "edge": "bria",
        "key": "security",
        "name": "Security \u0026 auth",
        "surgepix": 41,
        "weight": 14
      },
      {
        "bria": 40,
        "by": 20,
        "edge": "bria",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "surgepix": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bria": 69,
        "by": 3,
        "edge": "bria",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "surgepix": 66,
        "weight": 7
      },
      {
        "bria": 52,
        "by": 24,
        "edge": "bria",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "surgepix": 28,
        "weight": 7
      }
    ],
    "summary": "Bria API scores 67.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in every scored category. Both do image generation.",
    "tasks": null,
    "tutorials": [
      {
        "title": "Generate a product concept with Bria",
        "tool": "bria",
        "url": "https://www.anchorterminal.com/tutorials/bria/"
      }
    ],
    "verdicts": {
      "bria": "Per-image prices, 100 free generations without a card, OpenAPI files and Markdown docs make a first call quick, and the terms warrant that customer content is not used for training. Keys are organisation-wide with no scopes, the streaming endpoint takes the key in its URL, and the API has no changelog or deprecation policy.",
      "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/bria-vs-surgepix",
    "json": "https://www.anchorterminal.com/compare/bria-vs-surgepix.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bria-vs-surgepix.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bria-vs-surgepix.min.md"
  },
  "markdown": "Bria API scores 67.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in every scored category. Both do image generation.\n\n- Bria API: grade B, 67.5/100, rank #275 of 1266. Markdown https://www.anchorterminal.com/tools/bria.md · JSON https://www.anchorterminal.com/api/v1/tools/bria.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### Bria API (B)\n\nGood for: Teams that need image generation and editing with a stated training-data licence, C2PA marking and an indemnity (capped on Pay-as-you-go, unlimited on Enterprise), and product-shot or background work at volume.\n\nAhead on:\n- Reliability, 83 against 15\n- Schema \u0026 documentation, 84 against 40\n- Agent ergonomics, 76 against 53\n- Security \u0026 auth, 53 against 41\n- Payments \u0026 pricing, 40 against 20\n- Transparency \u0026 trust, 52 against 28\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: API keys are organisation-wide with no scopes, and no spend cap was found in the reviewed documentation\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\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### Reliability: Bria API +68\n\n- Bria API (83): Read with the hosted lines. Atlassian Statuspage at status.bria.ai with API components and history (20). history.atom, read on 2 November, has one incident from 4 August to 2 November 2026, \"API Outage for Image Editing, Increase Resolution and Image generation\" on 22 September, resolved in 18 minutes with no cause given. The incident page lists two affected components, Image Generation (API) and Image Editing (API), and not the Tailored Generation, Product Shot, Ad Generation, Video Editing or AI Search APIs, so it reads as partial and minor (20). The 8 October reading came from the page's /api/v2/incidents.json, which the host's robots.txt disallows, so that source is struck; the feed gives the same record. Limits published per plan, 10, 60 and 1,000 requests a minute per endpoint (15). The docs tell callers to back off with jitter and honour `Retry-After` on 429, and the SDKs retry status polls only so a job is not started twice. No idempotency key (13). The site states a 99.9 per cent uptime SLA for managed cloud, but no SLA document was found and the online terms supply the products as is, so half credit (5), per the 8 October check, not re-read on 2 November. The REST API is generally available (10). 20+20+15+13+5+10 = 83.\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: Bria API +44\n\n- Bria API (84): A downloadable OpenAPI 3.0 file for each API, such as `/_bundle/image-generation.yaml` (25). `llms.txt`, a Markdown twin of every page and a docs MCP server at docs.bria.ai/mcp (10). Endpoint pages state the purpose and the valid input combinations, and the MCP tool descriptions say when to use `edit_image` in place of `text_to_image` (17). Enums for resolution, aspect ratio and output type, but `structured_prompt` is a JSON document passed as a string (12). Request and response examples, an error table and typed error bodies per endpoint, with `error.code` shown only as a placeholder (13). Paths are versioned v1 and v2, but the OpenAPI files have an empty version and no API changelog was found (7).\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### Transparency \u0026 trust: Bria API +24\n\n- Bria API (52): Closed hosted API under the Online AI General Terms and Conditions, a PDF linked from the website terms (read on 8 October as the March 2025 version, V1.1; the linked file is titled August 2025, v1.2 on 2 November). SDKs and the MCP server are MIT. Model weights are source-available for non-commercial use (15). The terms warrant no training on customer content without written consent and deletion within 30 days of termination. The docs give 3 days for image results and say inputs are not kept beyond processing. The privacy policy has no date and no retention periods, and does not name Google, whose Gemini 2.5 Flash handles prompts on the standard generate endpoint (20). No deprecation policy. One endpoint is marked deprecated without a date (3). The privacy policy lists recipient categories only, with vendor names on request by email. Data locations not stated (4).\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### Agent ergonomics: Bria API +23\n\n- Bria API (76): Results come back as URLs, with a `seed` and the full structured prompt. The MCP server has 18 tools and returns a JPEG preview of up to 0.7 MB inline (18). Resolution, aspect ratio, output type and a sync or async choice, with nothing to paginate (15). One error shape with `request_id`, a status table and messages the MCP server passes through as `Bria API error \u003cstatus code\u003e: \u003creason\u003e` (18). No idempotency key. Webhooks carry `Bria-Webhook-Id` for deduplication. The MCP tools carry annotations, but all 18 are marked read-only and idempotent although each call is billed (10). Only a prompt is required, and there are official Python and TypeScript SDKs (15).\n- SurgePix API (53): Every task returns one download URL, or one ZIP for an image set, and status responses are a few fields, so little enters context (18). Nothing to paginate. `noWait` chooses sync or async, and the skills pass size, aspect ratio, count and language, but none of these are in the public reference (10). Errors come back as a JSON `code` and `msg`, with 401 and 404 documented and an NSFW error on upload, but a failure can arrive as HTTP 200 with a non-zero `code` and failed task states carry no documented reason (12). Upload deduplicates by MD5 and returns the existing URL. Tasks have no idempotency key, and a retried task is a new task that spends credits again (5). Few required parameters (`fileUrl` for background removal). No official SDK, only the Node scripts inside the skills (8). 18+10+12+5+8 = 53.\n\n### Payments \u0026 pricing: Bria API +20\n\n- Bria API (40): No x402, MPP or L402 (0). Per-image, per-call and per-second prices published without a login, from $0.018 to $0.05 an image on 2 November (20). 100 free generations with no card (20). A person has to sign up in the console to get a key. The MCP OAuth flow has dynamic client registration but still needs a Bria account sign-in (0). 0+20+20+0 = 40.\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### Security \u0026 auth: Bria API +12\n\n- Bria API (53): Model reading of the checklist (credential, training, retention, operator visibility, programme). Several named, revocable organisation keys with no scopes, plus OAuth 2.1 with PKCE on the hosted MCP server, where the scopes are identity only (20). Less 10 because the streaming background removal WebSocket takes `api_token` (or an OAuth token) as a URL query parameter, re-read on 2 November (10 of 30). The Online AI General Terms and Conditions warrant no training on customer content without written consent, per the 8 October check, not re-read on 2 November. The website terms of use, re-read on 2 November, limit the licence Bria takes in customer data to providing the Services (20 of 20). The asset retention page (re-read 2 November) says inputs are not retained beyond processing, image results expire after 3 days by default and can be changed per organisation, video results don't expire by default and legacy `/v1/product/*` results last 1 hour. The privacy policy states no periods (10 of 15). Each response has a `request_id`. Audit logs are listed for Enterprise only (5 of 15). The site states ISO 27001 certification and SOC 2 attestation with no report, auditor or trust centre linked. No `security.txt` (404 on 2 November), disclosure policy or bug bounty found (8 of 20). The 8 October score (33) used the tool lines (read-only modes 0, injection posture 10); this run reads `model` listings on the model lines. 10+20+10+5+8 = 53.\n- SurgePix API (41): Plain API keys created in the account settings, which the docs say can be revoked and reset. The key goes in the `authorization` header, never in a URL. No scopes found (20). No read-only key or spend cap. The plan's credit allowance bounds spend. Every uploaded file becomes a publicly accessible URL on Tencent Cloud storage, which counts against least privilege (3). The API returns image and file URLs, not untrusted text (10). The billing page's credit statement lists each request with its model and token counts, and sessions group calls in the web app, per the docs (8). No security.txt, disclosure policy, bug bounty or certification was found (0). 20+3+10+8+0 = 41.\n\n## Score by category\n\n| Category | Weight | Bria API | SurgePix API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 15 | Bria API +68 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 84 | 40 | Bria API +44 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 53 | Bria API +23 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 41 | Bria API +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 20 | Bria API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 69 | 66 | Bria API +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 28 | Bria API +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **67.5 · B** | **36 · F** | |\n\n## Facts side by side\n\n| Fact | Bria API | SurgePix API |\n| --- | --- | --- |\n| Kind | Model API | HTTP API |\n| Vendor | Bria AI | SurgePix |\n| Hosted endpoint | `https://engine.prod.bria-api.com/v2` | `https://api.surgepix.ai/api` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | 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| Tools exposed | 18 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `com.bria-api/bria-mcp` | not listed |\n| Last release | 2026-10-25 | 2026-10-23 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | no date given | 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 | 341 npm/wk, 3.9k PyPI/wk | none |\n| Agent reviews | 3.5/5 (4) | none |\n\n## How the scores have moved\n\n### Bria API\n\n- +3.5 on 2 November 2026: correction\n- +0.3 on 27 October 2026: checklist\n\n### SurgePix API\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Bria API.** Per-image prices, 100 free generations without a card, OpenAPI files and Markdown docs make a first call quick, and the terms warrant that customer content is not used for training. Keys are organisation-wide with no scopes, the streaming endpoint takes the key in its URL, and the API has no changelog or deprecation policy.\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### Bria API\n\n1. Send the key in the `api_token` header, not as `Authorization: Bearer`. Only `/v2/image/verify` and `/v2/video/verify` work without it\n2. Expect `202` with `request_id` and `status_url` from v2 endpoints. Poll `GET /v2/status/{request_id}` every 1 to 2 seconds, or pass `sync: true`\n3. Status polls count towards the per-endpoint limit (10 a minute on Free, 60 on Pay-as-you-go), so prefer `webhook_url` for batches\n4. Download results promptly. Image URLs expire after 3 days by default, and legacy `/v1/product/*` results after 1 hour\n5. Do not resend a failed `POST` blindly. There is no idempotency key, and the SDKs retry status polls only\n\n### SurgePix API\n\n1. Send the key as the raw `authorization` header value, with no `Bearer` prefix\n2. Don't upload confidential files. The upload flow returns a public URL for every file\n3. Check `code` in the JSON body as well as the HTTP status, since failures come back as a non-zero `code` with a `msg`\n4. Poll `GET /tasks/{taskId}` within 24 hours, after which the task returns 404\n5. Get written permission before using outputs commercially, since the terms restrict commercial use\n\n## Tutorials\n\n- [Generate a product concept with Bria](https://www.anchorterminal.com/tutorials/bria/), for Bria API\n\n## Questions\n\n### Which is better for AI agents, Bria API or SurgePix API?\n\nBria API scores 67.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in every scored category.\n\n### Do Bria API and SurgePix API need an API key?\n\nBria API takes an API key or an OAuth sign-in. SurgePix API needs an API key.\n\n### Can an agent call Bria API and SurgePix API without installing anything?\n\nYes. Bria API has a hosted endpoint at https://engine.prod.bria-api.com/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/bria-vs-surgepix.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bria-vs-surgepix.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bria\", \"b\": \"surgepix\"}`. From a terminal: `anchor compare bria surgepix`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bria.json and https://www.anchorterminal.com/api/v1/tools/surgepix.json\n\n## Other comparisons with Bria API or SurgePix API\n\n- [Adobe Firefly API vs Bria API](https://www.anchorterminal.com/compare/adobe-firefly-vs-bria.md)\n- [Adobe Firefly API vs SurgePix API](https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix.md)\n- [ArtCraft vs Bria API](https://www.anchorterminal.com/compare/artcraft-vs-bria.md)\n- [ArtCraft vs SurgePix API](https://www.anchorterminal.com/compare/artcraft-vs-surgepix.md)\n- [Black Forest Labs FLUX API vs Bria API](https://www.anchorterminal.com/compare/black-forest-labs-vs-bria.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 fal image models](https://www.anchorterminal.com/compare/bria-vs-fal-image.md)\n- [Bria API vs Google Imagen](https://www.anchorterminal.com/compare/bria-vs-google-imagen.md)\n- [Bria API vs Ideogram API](https://www.anchorterminal.com/compare/bria-vs-ideogram.md)\n- [Bria API vs Iris-3B](https://www.anchorterminal.com/compare/bria-vs-iris-3b.md)\n- [Bria API vs Leonardo.Ai API](https://www.anchorterminal.com/compare/bria-vs-leonardo-ai.md)\n- [Bria API vs OpenAI Image API](https://www.anchorterminal.com/compare/bria-vs-openai-image-api.md)\n- [Bria API vs Qwen-Image 2.1 (Model Studio)](https://www.anchorterminal.com/compare/bria-vs-qwen-image-2-1.md)\n- [Bria API vs Recraft API](https://www.anchorterminal.com/compare/bria-vs-recraft.md)\n- [Bria API vs Replicate image models](https://www.anchorterminal.com/compare/bria-vs-replicate-image.md)\n- [Bria API vs Seedream on BytePlus ModelArk](https://www.anchorterminal.com/compare/bria-vs-seedream-on-byteplus-modelark.md)\n- [Bria API vs Stability AI Image API](https://www.anchorterminal.com/compare/bria-vs-stability-ai-image.md)\n- [fal image models vs SurgePix API](https://www.anchorterminal.com/compare/fal-image-vs-surgepix.md)\n- [Google Imagen vs SurgePix API](https://www.anchorterminal.com/compare/google-imagen-vs-surgepix.md)\n- [Ideogram API vs SurgePix API](https://www.anchorterminal.com/compare/ideogram-vs-surgepix.md)\n- [Iris-3B vs SurgePix API](https://www.anchorterminal.com/compare/iris-3b-vs-surgepix.md)\n- [Leonardo.Ai API vs SurgePix API](https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.md)\n- [OpenAI Image API vs SurgePix API](https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix.md)\n- [Qwen-Image 2.1 (Model Studio) vs SurgePix API](https://www.anchorterminal.com/compare/qwen-image-2-1-vs-surgepix.md)\n- [Recraft API vs SurgePix API](https://www.anchorterminal.com/compare/recraft-vs-surgepix.md)\n- [Replicate image models vs SurgePix API](https://www.anchorterminal.com/compare/replicate-image-vs-surgepix.md)\n- [Seedream on BytePlus ModelArk vs SurgePix API](https://www.anchorterminal.com/compare/seedream-on-byteplus-modelark-vs-surgepix.md)\n- [Stability AI Image API vs SurgePix API](https://www.anchorterminal.com/compare/stability-ai-image-vs-surgepix.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-02",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bria API vs SurgePix API",
        "url": ""
      }
    ],
    "description": "Bria scores 67.5 (B) to SurgePix's 36 (F) for image generation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bria API B 67.5",
      "SurgePix API F 36",
      "scores"
    ],
    "h1": "Bria API vs SurgePix API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bria-vs-surgepix",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bria vs SurgePix for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-02",
    "url": "https://www.anchorterminal.com/compare/bria-vs-surgepix"
  },
  "tokens": {
    "markdown": 5200,
    "slim": 3330
  },
  "version": 1
}
