{
  "data": {
    "a": {
      "slug": "openai-image-api",
      "name": "OpenAI Image API",
      "vendor": "OpenAI",
      "vendorUrl": "https://developers.openai.com",
      "kind": "model",
      "category": "image-generation",
      "summary": "OpenAI's image generation and editing endpoints (/v1/images/generations and /v1/images/edits), also callable as a tool inside the Responses API.",
      "url": "https://www.anchorterminal.com/tools/openai-image-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-image-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-image-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-image-api.json",
      "dns": "openai-image-api.grade.anchorterminal.com",
      "repo": "https://github.com/openai/openai-python",
      "license": "Apache-2.0 (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.openai.com/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "openai"
        },
        {
          "registry": "npm",
          "name": "openai"
        }
      ],
      "auth": "api-key",
      "authNotes": "`Authorization: Bearer` with a project key. GPT Image models may need API organisation verification before the first call.",
      "pricing": "usage",
      "pricingNotes": "Prepaid, $5 minimum. GPT Image 2 and 2.5 bill per token, $5 per million text input, $8 per million image input and $30 per million image output, with image output at $15 per million through Batch. OpenAI publishes per-image figures only for earlier models, e.g. GPT Image 2 at 1024x1024 costs $0.006 low, $0.053 medium, $0.211 high. The GPT Image 2 cost calculator doesn't estimate GPT Image 2.5. Streaming partial images add 100 output tokens each (https://developers.openai.com/api/docs/pricing).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No machine payment. Access needs an account with prepaid credit.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 31300,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.openai.com/api/docs/guides/image-generation",
      "llmsTxt": "https://developers.openai.com/llms.txt",
      "openapi": "https://github.com/openai/openai-openapi",
      "capabilities": [
        "image.generate",
        "image.edit",
        "image.reference"
      ],
      "tags": [
        "hosted",
        "card-required",
        "closed-source",
        "python",
        "typescript",
        "openapi",
        "llms-txt",
        "c2pa",
        "watermark",
        "commercial-licence"
      ],
      "lastRelease": "2026-09-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.5,
        "grade": "B",
        "agentReady": false,
        "rank": 215,
        "ranked": true,
        "rankOf": 1266,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 20,
          "reliability": 65,
          "schema": 90,
          "security": 85,
          "transparency": 90
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-11-01"
        },
        "negative": -2,
        "negativeNotes": [
          "On 2025-11-26 OpenAI disclosed that its analytics vendor Mixpanel was breached, exposing names, emails, rough location and IDs of API platform users. No API keys, prompts or outputs. Mixpanel was removed and the incident documented (https://openai.com/index/mixpanel-incident/). -2 because it touched every API account, decayed because it's fixed and disclosed."
        ],
        "verdict": "Generation, mask edits and multi-reference edits on the same models, via the Image API or the Responses tool, with typed parameters and dated snapshots. No per-image price for GPT Image 2.5, and two API-wide error incidents in September included the Images component.",
        "bestFor": "General-purpose generation and editing for agents already on OpenAI, especially multi-turn edits through the Responses tool.",
        "strengths": [
          "Generation, mask edits and multi-reference edits on the same models, via the Image API or the Responses tool",
          "Restricted keys can be limited to the image endpoints, with per-project spend limits",
          "No training on API data by default, 30-day abuse logs and Zero Data Retention eligibility for GPT Image models",
          "Typed parameters, an OpenAPI spec, llms.txt and a dated changelog",
          "Batch halves the image output price, including on GPT Image 2.5 Flare"
        ],
        "weaknesses": [
          "No per-image price for GPT Image 2.5, and the cost calculator doesn't cover it",
          "Build-tier accounts get 20 images a minute on GPT Image 2.5 Flare",
          "Base64-only responses put the whole image in the payload",
          "Six image models removed or scheduled for removal between 2026-05-12 and 2026-12-01",
          "API-wide error incidents on 17 and 29 September 2026, about 90 minutes and 5 hours 20 minutes, included the Images component"
        ],
        "agentNotes": [
          "Pin `quality` and `size`. `auto` makes cost and latency vary per call",
          "Read `usage` in the response to track image tokens, it's the only cost signal for GPT Image 2.5",
          "Don't retry `moderation_blocked` or `image_generation_user_error`. Change the prompt first",
          "Honour `Retry-After` on 429 and add jitter, image limits are per minute and 20 a minute on Build",
          "Call gpt-image-2.5-sunburst or gpt-image-2.5-flare. gpt-image-1 was removed on 2026-10-23, and 1-mini, 1.5 and chatgpt-image-latest go on 2026-12-01"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.5
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 20,
          "reliability": 65,
          "schema": 90,
          "security": 85,
          "transparency": 85
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install openai   # or: npm i openai",
        "http": "curl https://api.openai.com/v1/images/generations \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"model\":\"gpt-image-2.5-flare\",\"prompt\":\"A beige coffee mug on a wooden table\",\"size\":\"1024x1024\",\"quality\":\"medium\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/image.generate",
        "tool": "https://letme.dev/openai-image-api"
      },
      "sameCompany": [
        "openai-api",
        "openai-embeddings",
        "openai-guardrails",
        "openai-moderation",
        "openai-sora",
        "openai-speech-to-text",
        "gpt-live",
        "openai-realtime",
        "openai-agents-sdk",
        "openai-decisions-api",
        "openai-codex",
        "gpt-oss-120b",
        "gpt-oss-20b"
      ],
      "area": "content",
      "unitPrices": [
        {
          "item": "gpt-image-2",
          "unit": "image",
          "usd": 0.053,
          "note": "medium quality, 1024x1024, output tokens only"
        },
        {
          "item": "gpt-image-2 low",
          "unit": "image",
          "usd": 0.006,
          "note": "low quality, 1024x1024"
        },
        {
          "item": "gpt-image-2 high",
          "unit": "image",
          "usd": 0.211,
          "note": "high quality, 1024x1024"
        },
        {
          "item": "gpt-image-1.5",
          "unit": "image",
          "usd": 0.034,
          "note": "medium quality, 1024x1024. Removal on 2026-12-01"
        },
        {
          "item": "gpt-image-1-mini",
          "unit": "image",
          "usd": 0.011,
          "note": "medium quality, 1024x1024. Removal on 2026-12-01"
        }
      ],
      "provenance": {
        "legalEntity": "OpenAI OpCo, LLC",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "domainNote": "openai.com was registered in 2007, before OpenAI existed.",
        "endpointOnVendorDomain": true,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://developers.openai.com/api/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-image-api.json",
      "live": {
        "slug": "openai-image-api",
        "probe": {
          "target": "https://api.openai.com/v1",
          "method": "get",
          "lastAt": "2026-11-02T15:06:51.306358627Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 185,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 154,
          "p95ms24h": 212,
          "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": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "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
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openai.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-02T15:06:45.40902409Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openai/openai-python",
            "version": "v3.42.0",
            "released": "2026-10-31",
            "seenAt": "2026-11-01T17:20:56.081209701Z"
          },
          {
            "registry": "npm",
            "name": "openai",
            "version": "7.47.0",
            "seenAt": "2026-11-01T17:20:55.994741302Z"
          },
          {
            "registry": "pypi",
            "name": "openai",
            "version": "3.42.0",
            "released": "2026-10-31",
            "seenAt": "2026-11-01T17:20:55.872861467Z"
          }
        ],
        "githubStars": 32000,
        "npmWeekly": 55491198,
        "pypiWeekly": 85437895,
        "securityTxt": {
          "url": "https://openai.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-01T15:43:04.210354007Z"
        },
        "llmsTxt": {
          "url": "https://developers.openai.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:14:36.599099661Z"
        },
        "domain": {
          "domain": "openai.com",
          "registered": "2007-01-19",
          "source": "https://rdap.verisign.com/com/v1/domain/openai.com",
          "checkedAt": "2026-11-01T14:19:18.345389832Z"
        },
        "github": {
          "repo": "openai/openai-python",
          "checkedAt": "2026-11-02T09:13:10.459648475Z",
          "stars": 32015,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T03:47:02Z",
          "openIssues": 40,
          "openPRs": 54,
          "issuesOpened90d": 42,
          "issuesClosed90d": 220,
          "prsMerged90d": 437,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T03:19:31Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 9,
            "medianDays": 3.6
          }
        },
        "updatedAt": "2026-11-02T15:06:51.306358627Z"
      }
    },
    "answer": "OpenAI Image API scores 69.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in 6 of 7 scored categories.",
    "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": 62,
        "category": "transparency",
        "leads": "openai-image-api",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed models, clear Services Agreement that assigns output to the customer (15). The data controls page, re-read on 1 November, gives both image endpoints no training, 30-day abuse logs and no application state, and Zero Data Retention for the GPT Image models it names (gpt-image-2.5-sunburst, gpt-image-2.5-flare, gpt-image-2, gpt-image-1.5 and gpt-image-1-mini). Image inputs flagged by the CSAM scan are kept for review even under Zero Data Retention, and the guide says so. The DPA, effective 1 January 2026, commits to return or deletion of customer data on termination, 30 days to object to a new subprocessor, and SCCs with the UK Addendum, and nothing in it conflicts with the guide, per the OpenAI API listing's 4 October check, not re-read on 1 November (openai.com answered 403). The same reading as the OpenAI API listing (30 of 30, was 28 with no reason given). Deprecation policy with notice periods by model class and a dated table (20). The subprocessor list, updated 9 July 2026, names third-party subprocessors and OpenAI affiliates with processing countries for each and a form for notice of new ones, per the OpenAI API listing's 4 October check, not re-read on 1 November (openai.com answered 403), and the data-controls guide lists the image endpoints in every residency region for storage and the United States and Europe for processing (20). 15 + 30 + 20 + 20 = 85.",
          "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": 90,
          "b": 28
        }
      },
      {
        "by": 50,
        "category": "reliability",
        "leads": "openai-image-api",
        "name": "Reliability",
        "reasons": {
          "a": "Public status page at status.openai.com with incidents filed per component (20). The feed and incident pages, read on 1 November, list the Images component in two API-wide error incidents in the 90 days from 3 August, elevated error rates across API models on 17 September (impact window 20:20 to 21:20 UTC on the incident page, updates to 21:50, 11 API components) and elevated errors across ChatGPT, Codex and the API on 29 September (17:52 to 23:14 UTC on the incident page, about 5 hours 20 minutes, 30 components). Each is an hour or more of wide errors, so two majors. The 1 October check counted only image-specific incidents and scored minor only. Two majors sit between the checklist's one major (10) and several (0), so 5, as the OpenAI Moderation listing reads the same two incidents and as deepseek-api, black-forest-labs, telnyx-voice and fireworks-inference are read (5). Image-specific incidents in the window are all partial or short, so minor. Image generation errors on 8 September (Images degraded 14:32 to 21:59 UTC, the page says some requests may fail), gpt-image-2.5-flare errors for 40 minutes on 16 September, limited availability of the two GPT Image 2.5 models for 40 minutes on 14 October, file download errors that listed Images for 42 minutes on 19 October, and errors on some GPT Image 2 edit requests on 30 October (14:35 to 18:36 UTC), with the 21 October API-wide degradation (22 minutes) also listing Images. Image limits published per tier on the model page, 20 images a minute on Build, 150 on Launch and 250 on Grow for GPT Image 2.5 Flare (15). 429 handling documented with `Retry-After`, x-ratelimit headers, backoff and a gradual ramp, re-read on 1 November (15). The 99.9 per cent Scale Tier SLA doesn't cover image models, per the 1 October check, not re-read on 1 November (0). GA (10). 20+5+15+15+0+10 = 65.",
          "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": 65,
          "b": 15
        }
      },
      {
        "by": 50,
        "category": "schema",
        "leads": "openai-image-api",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI spec published in openai/openai-openapi (25). llms.txt at developers.openai.com (10). The guide says when to use Sunburst (precise edits) and when Flare (fast everyday generation), and when to use the Image API versus the Responses tool (15). Typed parameters with enums for size, quality, output_format, background and moderation, though several default to `auto` (13). Examples in every language and named error types such as `moderation_blocked` and `image_generation_user_error`, but no full error catalogue for images (12). Dated snapshots and a public changelog (15).",
          "b": "No OpenAPI or other machine-readable contract was found (0). surgepix.ai/llms.txt returns 404. The docs are HTML pages, but the 15 SKILL.md files in the MIT repository are Markdown written for agents, so half (5). The API reference states the purpose of each of its five operations and the async and session model. The SKILL.md files add trigger phrases and explicit do-not-use routing between skills, but 11 of the task endpoints the skills call appear only in their scripts, with no reference (10). Parameter tables give type and required for the documented operations, with no enums or limits, and the undocumented endpoints have no schema at all (7). JSON examples for every documented operation and an error table with 401, 404 and `error.file.sensitive_content` (10). A dated public changelog from 11 March 2026, but no version in the API path and no API-specific change notes (8). 0+5+10+7+10+8 = 40."
        },
        "scores": {
          "a": 90,
          "b": 40
        }
      },
      {
        "by": 44,
        "category": "security",
        "leads": "openai-image-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Project API keys with restricted per-endpoint permissions, service-account keys and revocation (30). Read-only key permissions, per-project model allow-lists and spend limits. No destructive actions on the image endpoints (15). Returns generated images only, no third-party content (10). Audit Logs API records key and project events, and usage is broken down per project and key, but there's no per-request log (10). A signed security.txt with no Expires field per the OpenAI API listing's 27 October read, a public bug bounty, SOC 2 Type 2 and a trust portal, per the 1 October check, not re-read on 1 November (20).",
          "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": 85,
          "b": 41
        }
      },
      {
        "by": 19,
        "category": "ergonomics",
        "leads": "openai-image-api",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Output size is controlled with `size`, `quality`, `output_format`, `output_compression` and `n`, but images come back as base64 only, so a raw response is large (18). Output-size controls, nothing to paginate (15). Error types an agent can branch on, with moderation separated from server faults (16). No idempotency key on image endpoints, so a retried generation that had succeeded is billed again. Backoff guidance is in the rate-limit guide (8). Only `model` and `prompt` required, official Python and TypeScript SDKs among others (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": 72,
          "b": 53
        }
      },
      {
        "by": 13,
        "category": "maintenance",
        "leads": "openai-image-api",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The last image release in the changelog is GPT Image 2.5 Sunburst and Flare on 8 September 2026 (snapshots dated 2026-09-08 on the model pages), and the deprecations page records gpt-image-1 shut down on 23 October 2026, a dated change to the image models 9 days before 1 November, read as stepfun-api and leonardo-ai read a model removal, re-read on 1 November (30). Model churn in place of release counts. Notice for GA image models meets OpenAI's six-month policy (gpt-image-1 announced 22 April and removed on 23 October, three more announced 2 June for 1 December), but six image models leave the API within seven months (12). Public changelog, developer forum and support (12). Current official SDKs, `openai` 3.42.0 on PyPI and 7.47.0 on npm per the OpenAI API listing's check of 1 November (15). SDK packages current with CI (10). 30+12+12+15+10 = 79.",
          "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": 79,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OpenAI",
        "b": "SurgePix",
        "name": "Vendor"
      },
      {
        "a": "https://api.openai.com/v1",
        "b": "https://api.surgepix.ai/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "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": "Apache-2.0 (SDKs)",
        "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-09-08",
        "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": "31k stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Image API scores 69.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, OpenAI Image API or SurgePix API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do OpenAI Image API and SurgePix API need an API key?"
      },
      {
        "answer": "Yes. OpenAI Image API has a hosted endpoint at https://api.openai.com/v1 and SurgePix API at https://api.surgepix.ai/api.",
        "question": "Can an agent call OpenAI Image API and SurgePix API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 65 against 15",
          "Schema \u0026 documentation, 90 against 40",
          "Agent ergonomics, 72 against 53",
          "Security \u0026 auth, 85 against 41",
          "Maintenance \u0026 community, 79 against 66",
          "Transparency \u0026 trust, 90 against 28"
        ],
        "also": null,
        "goodFor": "General-purpose generation and editing for agents already on OpenAI, especially multi-turn edits through the Responses tool.",
        "slug": "openai-image-api",
        "watchFor": "No per-image price for GPT Image 2.5, and the cost calculator doesn't cover it"
      },
      {
        "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": {
      "openai-image-api": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-01",
          "delta": -2.9,
          "from": 72.4,
          "fromGrade": "BB",
          "to": 69.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.3,
          "from": 72.7,
          "fromGrade": "BB",
          "to": 72.4,
          "toGrade": "BB"
        }
      ],
      "surgepix": null
    },
    "job": {
      "capability": "image.generate",
      "name": "Image generation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-openai-image-api.json",
        "title": "Adobe Firefly API vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/adobe-firefly-vs-openai-image-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-firefly-vs-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-openai-image-api.json",
        "title": "ArtCraft vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/artcraft-vs-openai-image-api"
      },
      {
        "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-openai-image-api.json",
        "title": "Black Forest Labs FLUX API vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/black-forest-labs-vs-openai-image-api"
      },
      {
        "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-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-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-openai-image-api.json",
        "title": "fal image models vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/fal-image-vs-openai-image-api"
      },
      {
        "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-openai-image-api.json",
        "title": "Google Imagen vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/google-imagen-vs-openai-image-api"
      },
      {
        "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-openai-image-api.json",
        "title": "Ideogram API vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/ideogram-vs-openai-image-api"
      },
      {
        "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-openai-image-api.json",
        "title": "Iris-3B vs OpenAI Image API",
        "url": "https://www.anchorterminal.com/compare/iris-3b-vs-openai-image-api"
      },
      {
        "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-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-qwen-image-2-1.json",
        "title": "OpenAI Image API vs Qwen-Image 2.1 (Model Studio)",
        "url": "https://www.anchorterminal.com/compare/openai-image-api-vs-qwen-image-2-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-image-api-vs-recraft.json",
        "title": "OpenAI Image API vs Recraft API",
        "url": "https://www.anchorterminal.com/compare/openai-image-api-vs-recraft"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-image-api-vs-replicate-image.json",
        "title": "OpenAI Image API vs Replicate image models",
        "url": "https://www.anchorterminal.com/compare/openai-image-api-vs-replicate-image"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-image-api-vs-seedream-on-byteplus-modelark.json",
        "title": "OpenAI Image API vs Seedream on BytePlus ModelArk",
        "url": "https://www.anchorterminal.com/compare/openai-image-api-vs-seedream-on-byteplus-modelark"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-image-api-vs-stability-ai-image.json",
        "title": "OpenAI Image API vs Stability AI Image API",
        "url": "https://www.anchorterminal.com/compare/openai-image-api-vs-stability-ai-image"
      },
      {
        "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": 50,
        "edge": "openai-image-api",
        "key": "reliability",
        "name": "Reliability",
        "openai-image-api": 65,
        "surgepix": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 50,
        "edge": "openai-image-api",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-image-api": 90,
        "surgepix": 40,
        "weight": 13
      },
      {
        "by": 19,
        "edge": "openai-image-api",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-image-api": 72,
        "surgepix": 53,
        "weight": 13
      },
      {
        "by": 44,
        "edge": "openai-image-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-image-api": 85,
        "surgepix": 41,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-image-api": 20,
        "surgepix": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 13,
        "edge": "openai-image-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-image-api": 79,
        "surgepix": 66,
        "weight": 7
      },
      {
        "by": 62,
        "edge": "openai-image-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-image-api": 90,
        "surgepix": 28,
        "weight": 7
      }
    ],
    "summary": "OpenAI Image API scores 69.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in 6 of 7 scored categories. Both do image generation.",
    "tasks": null,
    "tutorials": [
      {
        "title": "Generate a launch illustration with OpenAI",
        "tool": "openai-image-api",
        "url": "https://www.anchorterminal.com/tutorials/openai-image-api/"
      }
    ],
    "verdicts": {
      "openai-image-api": "Generation, mask edits and multi-reference edits on the same models, via the Image API or the Responses tool, with typed parameters and dated snapshots. No per-image price for GPT Image 2.5, and two API-wide error incidents in September included the Images component.",
      "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/openai-image-api-vs-surgepix",
    "json": "https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix.min.md"
  },
  "markdown": "OpenAI Image API scores 69.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in 6 of 7 scored categories. Both do image generation.\n\n- OpenAI Image API: grade B, 69.5/100, rank #215 of 1266. Markdown https://www.anchorterminal.com/tools/openai-image-api.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-image-api.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### OpenAI Image API (B)\n\nGood for: General-purpose generation and editing for agents already on OpenAI, especially multi-turn edits through the Responses tool.\n\nAhead on:\n- Reliability, 65 against 15\n- Schema \u0026 documentation, 90 against 40\n- Agent ergonomics, 72 against 53\n- Security \u0026 auth, 85 against 41\n- Maintenance \u0026 community, 79 against 66\n- Transparency \u0026 trust, 90 against 28\n\nWatch for: No per-image price for GPT Image 2.5, and the cost calculator doesn't cover it\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### Transparency \u0026 trust: OpenAI Image API +62\n\n- OpenAI Image API (90): Closed models, clear Services Agreement that assigns output to the customer (15). The data controls page, re-read on 1 November, gives both image endpoints no training, 30-day abuse logs and no application state, and Zero Data Retention for the GPT Image models it names (gpt-image-2.5-sunburst, gpt-image-2.5-flare, gpt-image-2, gpt-image-1.5 and gpt-image-1-mini). Image inputs flagged by the CSAM scan are kept for review even under Zero Data Retention, and the guide says so. The DPA, effective 1 January 2026, commits to return or deletion of customer data on termination, 30 days to object to a new subprocessor, and SCCs with the UK Addendum, and nothing in it conflicts with the guide, per the OpenAI API listing's 4 October check, not re-read on 1 November (openai.com answered 403). The same reading as the OpenAI API listing (30 of 30, was 28 with no reason given). Deprecation policy with notice periods by model class and a dated table (20). The subprocessor list, updated 9 July 2026, names third-party subprocessors and OpenAI affiliates with processing countries for each and a form for notice of new ones, per the OpenAI API listing's 4 October check, not re-read on 1 November (openai.com answered 403), and the data-controls guide lists the image endpoints in every residency region for storage and the United States and Europe for processing (20). 15 + 30 + 20 + 20 = 85.\n- SurgePix API (28): The editorial half. A closed service whose terms name no company or address. They restrict any commercial use of what the service produces without SurgePix's permission, and contain clauses from an unrelated product (a \"big data\" query platform and \"non-resume content\"). The skills are MIT. Unclear terms, with a little credit for the open skills (5). The privacy policy is dated both 10 June 2026 and 1 July 2022, describes WeChat and phone registration and \"domestic servers\", and gives no retention periods. The API reference says uploads go to Tencent Cloud storage in Seoul as public URLs. No DPA. The statements don't agree (5). No deprecation policy or notices, and the terms let changes take effect on publication without notice (0). Tencent Cloud Object Storage in ap-seoul is named in the API reference, and Alipay and WeChat Pay in the privacy policy. No subprocessor list or stated data location (4). 5+5+0+4 = 14.\n\n### Reliability: OpenAI Image API +50\n\n- OpenAI Image API (65): Public status page at status.openai.com with incidents filed per component (20). The feed and incident pages, read on 1 November, list the Images component in two API-wide error incidents in the 90 days from 3 August, elevated error rates across API models on 17 September (impact window 20:20 to 21:20 UTC on the incident page, updates to 21:50, 11 API components) and elevated errors across ChatGPT, Codex and the API on 29 September (17:52 to 23:14 UTC on the incident page, about 5 hours 20 minutes, 30 components). Each is an hour or more of wide errors, so two majors. The 1 October check counted only image-specific incidents and scored minor only. Two majors sit between the checklist's one major (10) and several (0), so 5, as the OpenAI Moderation listing reads the same two incidents and as deepseek-api, black-forest-labs, telnyx-voice and fireworks-inference are read (5). Image-specific incidents in the window are all partial or short, so minor. Image generation errors on 8 September (Images degraded 14:32 to 21:59 UTC, the page says some requests may fail), gpt-image-2.5-flare errors for 40 minutes on 16 September, limited availability of the two GPT Image 2.5 models for 40 minutes on 14 October, file download errors that listed Images for 42 minutes on 19 October, and errors on some GPT Image 2 edit requests on 30 October (14:35 to 18:36 UTC), with the 21 October API-wide degradation (22 minutes) also listing Images. Image limits published per tier on the model page, 20 images a minute on Build, 150 on Launch and 250 on Grow for GPT Image 2.5 Flare (15). 429 handling documented with `Retry-After`, x-ratelimit headers, backoff and a gradual ramp, re-read on 1 November (15). The 99.9 per cent Scale Tier SLA doesn't cover image models, per the 1 October check, not re-read on 1 November (0). GA (10). 20+5+15+15+0+10 = 65.\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: OpenAI Image API +50\n\n- OpenAI Image API (90): OpenAPI spec published in openai/openai-openapi (25). llms.txt at developers.openai.com (10). The guide says when to use Sunburst (precise edits) and when Flare (fast everyday generation), and when to use the Image API versus the Responses tool (15). Typed parameters with enums for size, quality, output_format, background and moderation, though several default to `auto` (13). Examples in every language and named error types such as `moderation_blocked` and `image_generation_user_error`, but no full error catalogue for images (12). Dated snapshots and a public changelog (15).\n- SurgePix API (40): No OpenAPI or other machine-readable contract was found (0). surgepix.ai/llms.txt returns 404. The docs are HTML pages, but the 15 SKILL.md files in the MIT repository are Markdown written for agents, so half (5). The API reference states the purpose of each of its five operations and the async and session model. The SKILL.md files add trigger phrases and explicit do-not-use routing between skills, but 11 of the task endpoints the skills call appear only in their scripts, with no reference (10). Parameter tables give type and required for the documented operations, with no enums or limits, and the undocumented endpoints have no schema at all (7). JSON examples for every documented operation and an error table with 401, 404 and `error.file.sensitive_content` (10). A dated public changelog from 11 March 2026, but no version in the API path and no API-specific change notes (8). 0+5+10+7+10+8 = 40.\n\n### Security \u0026 auth: OpenAI Image API +44\n\n- OpenAI Image API (85): Project API keys with restricted per-endpoint permissions, service-account keys and revocation (30). Read-only key permissions, per-project model allow-lists and spend limits. No destructive actions on the image endpoints (15). Returns generated images only, no third-party content (10). Audit Logs API records key and project events, and usage is broken down per project and key, but there's no per-request log (10). A signed security.txt with no Expires field per the OpenAI API listing's 27 October read, a public bug bounty, SOC 2 Type 2 and a trust portal, per the 1 October check, not re-read on 1 November (20).\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### Agent ergonomics: OpenAI Image API +19\n\n- OpenAI Image API (72): Output size is controlled with `size`, `quality`, `output_format`, `output_compression` and `n`, but images come back as base64 only, so a raw response is large (18). Output-size controls, nothing to paginate (15). Error types an agent can branch on, with moderation separated from server faults (16). No idempotency key on image endpoints, so a retried generation that had succeeded is billed again. Backoff guidance is in the rate-limit guide (8). Only `model` and `prompt` required, official Python and TypeScript SDKs among others (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### Maintenance \u0026 community: OpenAI Image API +13\n\n- OpenAI Image API (79): The last image release in the changelog is GPT Image 2.5 Sunburst and Flare on 8 September 2026 (snapshots dated 2026-09-08 on the model pages), and the deprecations page records gpt-image-1 shut down on 23 October 2026, a dated change to the image models 9 days before 1 November, read as stepfun-api and leonardo-ai read a model removal, re-read on 1 November (30). Model churn in place of release counts. Notice for GA image models meets OpenAI's six-month policy (gpt-image-1 announced 22 April and removed on 23 October, three more announced 2 June for 1 December), but six image models leave the API within seven months (12). Public changelog, developer forum and support (12). Current official SDKs, `openai` 3.42.0 on PyPI and 7.47.0 on npm per the OpenAI API listing's check of 1 November (15). SDK packages current with CI (10). 30+12+12+15+10 = 79.\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## Score by category\n\n| Category | Weight | OpenAI Image API | SurgePix API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 15 | OpenAI Image API +50 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 90 | 40 | OpenAI Image API +50 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 53 | OpenAI Image API +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 85 | 41 | OpenAI Image API +44 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 20 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 79 | 66 | OpenAI Image API +13 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 90 | 28 | OpenAI Image API +62 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **69.5 · B** | **36 · F** | |\n\n## Facts side by side\n\n| Fact | OpenAI Image API | SurgePix API |\n| --- | --- | --- |\n| Kind | Model API | HTTP API |\n| Vendor | OpenAI | SurgePix |\n| Hosted endpoint | `https://api.openai.com/v1` | `https://api.surgepix.ai/api` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 (SDKs) | 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-09-08 | 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 | 31k stars | none |\n| Agent reviews | 3.5/5 (2) | none |\n\n## How the scores have moved\n\n### OpenAI Image API\n\n- -2.9 on 1 November 2026 (BB to B): correction\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**OpenAI Image API.** Generation, mask edits and multi-reference edits on the same models, via the Image API or the Responses tool, with typed parameters and dated snapshots. No per-image price for GPT Image 2.5, and two API-wide error incidents in September included the Images component.\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### OpenAI Image API\n\n1. Pin `quality` and `size`. `auto` makes cost and latency vary per call\n2. Read `usage` in the response to track image tokens, it's the only cost signal for GPT Image 2.5\n3. Don't retry `moderation_blocked` or `image_generation_user_error`. Change the prompt first\n4. Honour `Retry-After` on 429 and add jitter, image limits are per minute and 20 a minute on Build\n5. Call gpt-image-2.5-sunburst or gpt-image-2.5-flare. gpt-image-1 was removed on 2026-10-23, and 1-mini, 1.5 and chatgpt-image-latest go on 2026-12-01\n\n### SurgePix API\n\n1. Send the key as the raw `authorization` header value, with no `Bearer` prefix\n2. Don't upload confidential files. The upload flow returns a public URL for every file\n3. Check `code` in the JSON body as well as the HTTP status, since failures come back as a non-zero `code` with a `msg`\n4. Poll `GET /tasks/{taskId}` within 24 hours, after which the task returns 404\n5. Get written permission before using outputs commercially, since the terms restrict commercial use\n\n## Tutorials\n\n- [Generate a launch illustration with OpenAI](https://www.anchorterminal.com/tutorials/openai-image-api/), for OpenAI Image API\n\n## Questions\n\n### Which is better for AI agents, OpenAI Image API or SurgePix API?\n\nOpenAI Image API scores 69.5 (B) on agent readiness against SurgePix API's 36 (F), and leads in 6 of 7 scored categories.\n\n### Do OpenAI Image API and SurgePix API need an API key?\n\nBoth need an API key.\n\n### Can an agent call OpenAI Image API and SurgePix API without installing anything?\n\nYes. OpenAI Image API has a hosted endpoint at https://api.openai.com/v1 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/openai-image-api-vs-surgepix.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openai-image-api\", \"b\": \"surgepix\"}`. From a terminal: `anchor compare openai-image-api surgepix`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openai-image-api.json and https://www.anchorterminal.com/api/v1/tools/surgepix.json\n\n## Other comparisons with OpenAI Image API or SurgePix API\n\n- [Adobe Firefly API vs OpenAI Image API](https://www.anchorterminal.com/compare/adobe-firefly-vs-openai-image-api.md)\n- [Adobe Firefly API vs SurgePix API](https://www.anchorterminal.com/compare/adobe-firefly-vs-surgepix.md)\n- [ArtCraft vs OpenAI Image API](https://www.anchorterminal.com/compare/artcraft-vs-openai-image-api.md)\n- [ArtCraft vs SurgePix API](https://www.anchorterminal.com/compare/artcraft-vs-surgepix.md)\n- [Black Forest Labs FLUX API vs OpenAI Image API](https://www.anchorterminal.com/compare/black-forest-labs-vs-openai-image-api.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 OpenAI Image API](https://www.anchorterminal.com/compare/bria-vs-openai-image-api.md)\n- [Bria API vs SurgePix API](https://www.anchorterminal.com/compare/bria-vs-surgepix.md)\n- [fal image models vs OpenAI Image API](https://www.anchorterminal.com/compare/fal-image-vs-openai-image-api.md)\n- [fal image models vs SurgePix API](https://www.anchorterminal.com/compare/fal-image-vs-surgepix.md)\n- [Google Imagen vs OpenAI Image API](https://www.anchorterminal.com/compare/google-imagen-vs-openai-image-api.md)\n- [Google Imagen vs SurgePix API](https://www.anchorterminal.com/compare/google-imagen-vs-surgepix.md)\n- [Ideogram API vs OpenAI Image API](https://www.anchorterminal.com/compare/ideogram-vs-openai-image-api.md)\n- [Ideogram API vs SurgePix API](https://www.anchorterminal.com/compare/ideogram-vs-surgepix.md)\n- [Iris-3B vs OpenAI Image API](https://www.anchorterminal.com/compare/iris-3b-vs-openai-image-api.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 SurgePix API](https://www.anchorterminal.com/compare/leonardo-ai-vs-surgepix.md)\n- [OpenAI Image API vs Qwen-Image 2.1 (Model Studio)](https://www.anchorterminal.com/compare/openai-image-api-vs-qwen-image-2-1.md)\n- [OpenAI Image API vs Recraft API](https://www.anchorterminal.com/compare/openai-image-api-vs-recraft.md)\n- [OpenAI Image API vs Replicate image models](https://www.anchorterminal.com/compare/openai-image-api-vs-replicate-image.md)\n- [OpenAI Image API vs Seedream on BytePlus ModelArk](https://www.anchorterminal.com/compare/openai-image-api-vs-seedream-on-byteplus-modelark.md)\n- [OpenAI Image API vs Stability AI Image API](https://www.anchorterminal.com/compare/openai-image-api-vs-stability-ai-image.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": "OpenAI Image API vs SurgePix API",
        "url": ""
      }
    ],
    "description": "OpenAI Image scores 69.5 (B) to SurgePix's 36 (F) for image generation. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenAI Image API B 69.5",
      "SurgePix API F 36",
      "scores"
    ],
    "h1": "OpenAI Image API vs SurgePix API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/openai-image-api-vs-surgepix",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenAI Image vs SurgePix for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-02",
    "url": "https://www.anchorterminal.com/compare/openai-image-api-vs-surgepix"
  },
  "tokens": {
    "markdown": 5400,
    "slim": 3480
  },
  "version": 1
}
