{
  "data": {
    "a": {
      "slug": "photoroom",
      "name": "Photoroom API",
      "vendor": "Photoroom",
      "vendorUrl": "https://www.photoroom.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Photoroom's API edits product photos over HTTP. One call removes a background, adds a shadow or generated background, relights, expands, resizes or fills a template, and returns the image. A hosted MCP server wraps the same API.",
      "url": "https://www.anchorterminal.com/tools/photoroom",
      "markdownUrl": "https://www.anchorterminal.com/tools/photoroom.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/photoroom.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/photoroom.json",
      "repo": "https://github.com/PhotoRoom/api-code-samples",
      "license": "Proprietary service under the Photoroom Terms and Conditions. The sample code repository is MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://image-api.photoroom.com/v2",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Self-serve API key, sent in the `x-api-key` header. A person creates a Photoroom account and activates the API in the dashboard at app.photoroom.com/api-dashboard. A team can create several keys and revoke each one. No scopes were found. Prefixing the key with `sandbox_` makes free, watermarked calls. The hosted MCP server uses an OAuth authorisation code grant with PKCE and dynamic client registration, and creates its own API key for the connection (https://docs.photoroom.com/getting-started/introduction.md, https://www.photoroom.com/api/claude).",
      "pricing": "freemium",
      "pricingNotes": "$0.02 an image on the Remove Background API (Basic plan) and $0.10 a call on the Image Editing API (Plus plan), bought as a monthly subscription of images that do not roll over. Sandbox mode is free for 1,000 watermarked calls a month, and a new account gets 10 free production background removals, with no card. Failed calls are not billed. Enterprise pricing from 200,000 images a year is by sales (https://www.photoroom.com/api/pricing, https://docs.photoroom.com/getting-started/pricing.md).",
      "priceSummary": "$20 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI description or the pricing pages (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 1,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.photoroom.com",
      "llmsTxt": "https://docs.photoroom.com/llms.txt",
      "openapi": "https://image-api.photoroom.com/openapi",
      "capabilities": [
        "image.edit",
        "design.templates",
        "image.generate",
        "image.upscale"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "sandbox",
        "background-removal",
        "soc2"
      ],
      "lastRelease": "2026-04-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 56,
        "grade": "C",
        "agentReady": false,
        "rank": 685,
        "ranked": true,
        "rankOf": 1084,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 23,
          "payments": 40,
          "reliability": 46,
          "schema": 86,
          "security": 54,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "A call costs $0.02 for background removal or $0.10 for any combination of edits, and a sandbox key gives 1,000 free watermarked calls a month without a card. No status page or official SDK was found, and Photoroom's privacy policy and security page disagree on whether API images train its models.",
        "bestFor": "Product-photo work at volume, such as cutouts, white backgrounds, shadows, generated scenes and clothing shots, one image a call.",
        "strengths": [
          "Prices are per image and public, $0.02 for the Remove Background API and $0.10 for an Image Editing call with any number of edits combined",
          "A `sandbox_` key prefix gives 1,000 free watermarked Image Editing calls a month (100 a day) with no card, per the docs and pricing page",
          "Calls that end in an error do not consume an image, per the pricing page of the docs",
          "A public OpenAPI 3.1 file, an `llms.txt` index and a Markdown twin of every docs page, plus a ready-made prompt for coding agents",
          "The security page says images sent to the API are discarded when the response returns and names five sub-processors and US hosting"
        ],
        "weaknesses": [
          "No status page was found on the site or in the docs, so there is no public incident history to read",
          "The privacy policy says model improvement does not apply to API images. The security page says self-serve API plans train by default with an opt-out",
          "No official SDK. The vendor publishes MIT sample code for web, Node.js, Python and iOS and tells callers to use a plain HTTP client",
          "The changelog's last dated entry is 21 April 2026, while the docs list Virtual Try-On, which has no changelog entry",
          "The terms forbid any automated system that sends more requests than a person could from a browser. This matters before any probe is run"
        ],
        "agentNotes": [
          "Send the key in the `x-api-key` header. Prefix it with `sandbox_` while testing, because calls with the plain key consume paid images",
          "Save the response body as a file. A 200 returns image bytes, PNG by default, and any other status returns JSON with `error.message` or `detail`",
          "Send model selectors such as `pr-ai-shadows-model-version: 2026-04-15` as HTTP headers, not form fields. They are not in the OpenAPI file",
          "Stay under 60 images a minute. On 429 back off with an exponential delay, and set a client timeout of at least 60 seconds for AI edits",
          "Use `POST /v2/edit` with `imageFile` for local files and `GET /v2/edit` with `imageUrl` for hosted ones. Each call takes one image"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 56
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 23,
          "payments": 40,
          "reliability": 46,
          "schema": 86,
          "security": 54,
          "transparency": 57
        },
        "provenanceScore": 78
      },
      "connect": {
        "http": "curl --request POST \\\n  --url https://image-api.photoroom.com/v2/edit \\\n  --header 'x-api-key: YOUR_API_KEY' \\\n  --form imageFile=@/absolute/path/to/image.jpg \\\n  --form removeBackground=true \\\n  --form background.color=FFFFFF \\\n  --form padding=0.15 \\\n  --form shadow.mode=ai.soft \\\n  --output result.png",
        "claudeCode": "claude mcp add --transport http Photoroom https://mcp.photoroom.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/image.edit",
        "tool": "https://letme.dev/photoroom"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Remove Background API",
          "unit": "image",
          "usd": 0.02,
          "note": "Basic plan, `/v1/segment`"
        },
        {
          "item": "Image Editing API",
          "unit": "image",
          "usd": 0.1,
          "note": "Plus plan, `/v2/edit`, any number of edits in the call"
        },
        {
          "item": "Basic plan, 1,000 images",
          "unit": "month",
          "usd": 20,
          "note": "example from the pricing page FAQ"
        }
      ],
      "provenance": {
        "legalEntity": "Photoroom SAS",
        "domain": "photoroom.com",
        "domainRegistered": "1998-11-21",
        "endpointOnVendorDomain": true,
        "terms": "https://www.photoroom.com/legal/terms-and-conditions",
        "privacy": "https://www.photoroom.com/legal/privacy",
        "statusPage": "",
        "changelog": "https://docs.photoroom.com/getting-started/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms and Conditions, effective 29 July 2026, cover the platform, the application programming interface and related services of Photoroom SAS. No separate API terms were found.",
          "The legal notice gives PHOTOROOM, SAS, RCS Paris 853 059 384, 229 rue Saint-Honoré, 75001 Paris. The site footer reads Photoroom, Inc.",
          "The privacy policy, updated March 2026, names Photoroom as controller for photoroom.com, app.photoroom.com and the apps, and has one sentence on API images.",
          "The API answers at image-api.photoroom.com and sdk.photoroom.com and the MCP server at mcp.photoroom.com.",
          "https://www.photoroom.com/.well-known/security.txt returns 404.",
          "RDAP for photoroom.com gives a registration date of 1998-11-21, which predates the company.",
          "No status page was found. status.photoroom.com did not answer one request."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/photoroom.json",
      "live": {
        "slug": "photoroom",
        "probe": {
          "target": "https://image-api.photoroom.com/v2",
          "method": "get",
          "lastAt": "2026-10-15T00:24:21.407036368Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 128,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 142,
          "p95ms24h": 226,
          "samples24h": 250,
          "samples30d": 1328,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "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": 5,
              "ok": 5
            }
          ]
        },
        "githubStars": 25,
        "securityTxt": {
          "url": "https://photoroom.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-14T15:46:58.027249393Z"
        },
        "llmsTxt": {
          "url": "https://docs.photoroom.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-14T14:14:51.098254607Z"
        },
        "domain": {
          "domain": "photoroom.com",
          "registered": "1998-11-21",
          "source": "https://rdap.verisign.com/com/v1/domain/photoroom.com",
          "checkedAt": "2026-10-11T13:17:18.808169083Z"
        },
        "pages": [
          {
            "url": "https://docs.photoroom.com/getting-started/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-14T20:59:11.119768659Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1f86895e2d75"
          },
          {
            "url": "https://docs.photoroom.com/getting-started/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-14T20:59:13.239353418Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eb0f8c798163"
          },
          {
            "url": "https://www.photoroom.com/api/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-14T21:15:50.797618855Z",
            "changedAt": "2026-10-14T21:15:50.797618855Z",
            "fingerprint": "fccdbe0a3905"
          },
          {
            "url": "https://www.photoroom.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-14T21:15:53.070989221Z",
            "changedAt": "2026-10-14T21:15:53.070989221Z",
            "fingerprint": "6e1ebe46b27b"
          },
          {
            "url": "https://www.photoroom.com/legal/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-14T21:15:54.905817037Z",
            "changedAt": "2026-10-14T21:15:54.905817037Z",
            "fingerprint": "d46a9344a77a"
          }
        ],
        "updatedAt": "2026-10-15T00:24:21.407036368Z"
      }
    },
    "answer": "Photoroom API scores 56 (C) on agent readiness against PostNitro's 44.5 (E), and leads in 6 of 7 scored categories. PostNitro leads on maintenance \u0026 community.",
    "b": {
      "slug": "postnitro",
      "name": "PostNitro",
      "vendor": "PostNitro Inc.",
      "vendorUrl": "https://postnitro.ai",
      "kind": "mcp",
      "category": "design-assets",
      "summary": "PostNitro designs carousels, single-image posts and slide videos from templates and brand kits, then schedules them to six social networks. Agents use a hosted MCP server with 35 tools, a REST API, a CLI or an agent plugin.",
      "url": "https://www.anchorterminal.com/tools/postnitro",
      "markdownUrl": "https://www.anchorterminal.com/tools/postnitro.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/postnitro.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/postnitro.json",
      "repo": "https://github.com/postnitro/postnitro-agent",
      "license": "Proprietary hosted service under PostNitro's Terms of Service. The CLI, agent skill and agent plugin repositories are MIT",
      "transports": [
        "streamable-http",
        "http"
      ],
      "remoteUrl": "https://mcp.postnitro.ai/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@postnitro/cli"
        },
        {
          "registry": "npm",
          "name": "@postnitro/embed"
        }
      ],
      "auth": "mixed",
      "authNotes": "The MCP server takes OAuth 2.1 with PKCE and dynamic client registration (scopes `postnitro` and `offline_access`), used by the Claude and ChatGPT directory listings, or a `pn-` API key as `Authorization: Bearer`. The REST API takes the same key in the `embed-api-key` header. A person generates the key under Profile \u003e Embed in the web app. No read-only key or finer scope is documented.",
      "pricing": "paid",
      "pricingNotes": "API, MCP and CLI calls spend Embed API credits, 1 per imported slide and 2 per AI-written slide. Credits come with Creator+ ($30 a month, 200) or Team+ ($60, 500), or as a $10 add-on for 250 on a paid plan, $0.04 each. Scheduling needs Creator+ or above (https://postnitro.ai/plans).",
      "priceSummary": "$15 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Embed API OpenAPI document, llms.txt, llms-full.txt, the MCP docs or the plans page (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": 35,
      "popularity": {
        "githubStars": 2,
        "npmWeekly": 200,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://postnitro.ai/docs/embed/mcp",
      "llmsTxt": "https://postnitro.ai/llms.txt",
      "openapi": "https://postnitro.ai/.well-known/openapi/embed.json",
      "capabilities": [
        "design.templates",
        "design.render",
        "design.brand",
        "social.schedule",
        "social.post"
      ],
      "tags": [
        "hosted",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "closed-source",
        "async-jobs",
        "cli",
        "n8n",
        "no-status-page"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.5,
        "grade": "E",
        "agentReady": false,
        "rank": 945,
        "ranked": true,
        "rankOf": 1084,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 65,
          "payments": 20,
          "reliability": 42,
          "schema": 77,
          "security": 30,
          "transparency": 48
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": -2,
        "negativeNotes": [
          "Conflicting training statements on PostNitro's own pages, read 14 October 2026. The privacy policy body (5 October 2023) says the data saved from carousel creation is used to train PostNitro's AI model, while the same page's description and the Claude connector page say content is never used to train AI models. At least one is wrong, and no dated update settles it (-2) (https://postnitro.ai/privacy, https://postnitro.ai/claude)"
        ],
        "verdict": "A hosted MCP server and REST API let an agent turn a topic, article or own slides into a branded carousel, image or slide video and schedule it, with OAuth, numbered rate limits and Markdown docs. No status page, security contact or idempotency key was found, and the privacy policy contradicts the vendor's no-training statement.",
        "bestFor": "An agent that must produce a designed, on-brand carousel or slide video and book it on LinkedIn, Instagram, TikTok, Threads, Facebook Pages or Pinterest in one chain.",
        "strengths": [
          "OAuth 2.1 with dynamic client registration on the MCP server, so Claude and ChatGPT connect without a stored API key",
          "Rate limits are published per key and endpoint, and 429 responses carry `Retry-After` and `X-RateLimit` headers",
          "OpenAPI 3.1 document, `llms.txt`, `llms-full.txt` and a Markdown version of every page by content negotiation",
          "Per-slide credit prices are public at $0.04 a credit, 1 per imported slide and 2 per AI-written slide",
          "The one-call generate-and-schedule tool returns the `designId` when scheduling fails, so a retry does not spend credits again"
        ],
        "weaknesses": [
          "No status page, incident history, SLA, security.txt or certification was found",
          "35 MCP tools load at once, with no toolsets or read-only subset, and the OAuth flow has one broad `postnitro` scope",
          "The privacy policy says carousel data trains PostNitro's AI model, while the Claude connector page says content is never used for training",
          "No idempotency key on create or schedule calls, and the Embed API has no changelog or deprecation policy",
          "Pages disagree on the API free tier and tool count. One docs index still says 12 MCP tools and four scheduling networks"
        ],
        "agentNotes": [
          "Call `postnitro_set_defaults` once with a template, brand and AI preset, or every generate call must carry those IDs",
          "Pass the `designId` from `postnitro_get_output` to scheduling, never the `embedPostId`, or the call fails with `Design not found`",
          "For a LinkedIn PDF post, set `linkedinPostSettings.postType` to `document` with a 5 to 90 character `postTitle`",
          "Ask for the `DESIGN` output or save as `DRAFT` when a person must approve before anything publishes",
          "Keep to 5 create calls a minute per key and wait for `Retry-After` on a 429"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.5
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 65,
          "payments": 20,
          "reliability": 42,
          "schema": 77,
          "security": 30,
          "transparency": 33
        },
        "provenanceScore": 63
      },
      "connect": {
        "install": "npm install -g @postnitro/cli",
        "http": "curl https://embed-api.postnitro.ai/template -H \"embed-api-key: pn-your-api-key\"",
        "claudeCode": "claude mcp add --transport http postnitro https://mcp.postnitro.ai/mcp --header \"Authorization: Bearer pn-your-api-key-here\"",
        "config": {
          "mcpServers": {
            "postnitro": {
              "headers": {
                "Authorization": "Bearer pn-your-api-key-here"
              },
              "type": "http",
              "url": "https://mcp.postnitro.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/postnitro"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 15,
          "note": "No scheduling or API access unless the Embed API add-on is bought"
        },
        {
          "item": "Creator+",
          "unit": "month",
          "usd": 30,
          "note": "200 API credits a month, scheduling to 10 social accounts"
        },
        {
          "item": "Team+",
          "unit": "month",
          "usd": 60,
          "note": "500 API credits a month, scheduling to 30 social accounts"
        },
        {
          "item": "Embed API add-on",
          "unit": "month",
          "usd": 10,
          "note": "250 credits on top of a paid plan, scalable to 25,000"
        },
        {
          "item": "Embed API credit",
          "unit": "credit",
          "usd": 0.04,
          "note": "1 credit per imported slide, 2 per AI-written slide"
        }
      ],
      "provenance": {
        "legalEntity": "PostNitro Inc.",
        "domain": "postnitro.ai",
        "domainRegistered": "2023-03-23",
        "endpointOnVendorDomain": true,
        "terms": "https://postnitro.ai/terms",
        "privacy": "https://postnitro.ai/privacy",
        "statusPage": "",
        "changelog": "https://github.com/postnitro/postnitro-agent/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The Terms of Service, last updated 20 May 2024, cover the website, applications and APIs. They name no legal entity or governing law. The privacy policy names PostNitro Inc. as controller.",
          "The privacy policy is dated 5 October 2023 and names UserMaven, CrispChat and an unnamed payment processor. No DPA or sub-processor list was found.",
          "No status page was found. status.postnitro.ai did not connect and /status returns 404. The MCP server answers a health check at https://mcp.postnitro.ai/health, reporting version 1.3.0.",
          "The changelog covers the CLI only. No changelog for the Embed API or MCP server was found.",
          "postnitro.ai/.well-known/security.txt and /security.txt return 404.",
          "RDAP gives a registration date of 2023-03-23 for postnitro.ai. The fact sheet says the company was founded in 2023."
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/postnitro.json",
      "live": {
        "slug": "postnitro",
        "probe": {
          "target": "https://mcp.postnitro.ai/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-15T00:24:22.389748682Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 101,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 103,
          "p95ms24h": 146,
          "samples24h": 31,
          "samples30d": 31,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 26,
              "ok": 26
            },
            {
              "date": "2026-10-15",
              "probes": 5,
              "ok": 5
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "postnitro/postnitro-agent",
            "version": "v1.5.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-15T00:15:12.63443761Z"
          },
          {
            "registry": "npm",
            "name": "@postnitro/cli",
            "version": "1.5.0",
            "seenAt": "2026-10-15T00:15:10.434524788Z"
          },
          {
            "registry": "npm",
            "name": "@postnitro/embed",
            "version": "2.0.3",
            "seenAt": "2026-10-15T00:15:11.257477478Z"
          }
        ],
        "githubStars": 2,
        "npmWeekly": 200,
        "mcpTools": {
          "url": "https://mcp.postnitro.ai/mcp",
          "checkedAt": "2026-10-14T22:17:48.649874285Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-10-14T22:17:48.649874285Z"
        },
        "updatedAt": "2026-10-15T00:24:22.389748682Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Photoroom",
        "b": "PostNitro Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://image-api.photoroom.com/v2",
        "b": "https://mcp.postnitro.ai/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "Streamable HTTP, HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Photoroom Terms and Conditions. The sample code repository is MIT",
        "b": "Proprietary hosted service under PostNitro's Terms of Service. The CLI, agent skill and agent plugin repositories are MIT",
        "name": "Licence"
      },
      {
        "a": "1",
        "b": "35",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-04-21",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "2026-07-29",
        "b": "2024-05-20",
        "name": "Terms last updated"
      },
      {
        "a": "2026-03-01",
        "b": "2023-10-05",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "2 stars, 200 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Photoroom API scores 56 (C) on agent readiness against PostNitro's 44.5 (E), and leads in 6 of 7 scored categories. PostNitro leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Photoroom API or PostNitro?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Photoroom API and PostNitro need an API key?"
      },
      {
        "answer": "Yes. Photoroom API has a hosted endpoint at https://image-api.photoroom.com/v2 and PostNitro at https://mcp.postnitro.ai/mcp.",
        "question": "Can an agent call Photoroom API and PostNitro without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 77",
          "Agent ergonomics, 64 against 49",
          "Security \u0026 auth, 54 against 30",
          "Payments \u0026 pricing, 40 against 20",
          "Transparency \u0026 trust, 68 against 48"
        ],
        "also": null,
        "goodFor": "Product-photo work at volume, such as cutouts, white backgrounds, shadows, generated scenes and clothing shots, one image a call.",
        "slug": "photoroom",
        "watchFor": "No status page was found on the site or in the docs, so there is no public incident history to read"
      },
      {
        "aheadOn": [
          "Maintenance \u0026 community, 65 against 23"
        ],
        "also": null,
        "goodFor": "An agent that must produce a designed, on-brand carousel or slide video and book it on LinkedIn, Instagram, TikTok, Threads, Facebook Pages or Pinterest in one chain.",
        "slug": "postnitro",
        "watchFor": "No status page, incident history, SLA, security.txt or certification was found"
      }
    ],
    "job": {
      "capability": "design.templates",
      "name": "Design templates"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-postnitro.json",
        "title": "Adobe Photoshop API vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-photoroom.json",
        "title": "APITemplate.io vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-postnitro.json",
        "title": "APITemplate.io vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-photoroom.json",
        "title": "Bannerbear API + MCP vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-postnitro.json",
        "title": "Bannerbear API + MCP vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/canva-vs-photoroom.json",
        "title": "Canva REST APIs + MCP vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/canva-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/canva-vs-postnitro.json",
        "title": "Canva REST APIs + MCP vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/canva-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-photoroom.json",
        "title": "Creatomate vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-postnitro.json",
        "title": "Creatomate vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photoroom-vs-placid.json",
        "title": "Photoroom API vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/photoroom-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photoroom-vs-shotstack.json",
        "title": "Photoroom API vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/photoroom-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/photoroom-vs-templated.json",
        "title": "Photoroom API vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/photoroom-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/placid-vs-postnitro.json",
        "title": "Placid API + MCP vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/placid-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postnitro-vs-shotstack.json",
        "title": "PostNitro vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/postnitro-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postnitro-vs-templated.json",
        "title": "PostNitro vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/postnitro-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/osmo-cli-vs-postnitro.json",
        "title": "Osmo CLI vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/osmo-cli-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-photoroom.json",
        "title": "Adobe Photoshop API vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/osmo-cli-vs-photoroom.json",
        "title": "Osmo CLI vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/osmo-cli-vs-photoroom"
      }
    ],
    "scores": [
      {
        "by": 4,
        "edge": "photoroom",
        "key": "reliability",
        "name": "Reliability",
        "photoroom": 46,
        "postnitro": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "photoroom",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "photoroom": 86,
        "postnitro": 77,
        "weight": 13
      },
      {
        "by": 15,
        "edge": "photoroom",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "photoroom": 64,
        "postnitro": 49,
        "weight": 13
      },
      {
        "by": 24,
        "edge": "photoroom",
        "key": "security",
        "name": "Security \u0026 auth",
        "photoroom": 54,
        "postnitro": 30,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "photoroom",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "photoroom": 40,
        "postnitro": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 42,
        "edge": "postnitro",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "photoroom": 23,
        "postnitro": 65,
        "weight": 7
      },
      {
        "by": 20,
        "edge": "photoroom",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "photoroom": 68,
        "postnitro": 48,
        "weight": 7
      }
    ],
    "summary": "Photoroom API scores 56 (C) on agent readiness against PostNitro's 44.5 (E), and leads in 6 of 7 scored categories. PostNitro leads on maintenance \u0026 community. Both do design templates.",
    "verdicts": {
      "photoroom": "A call costs $0.02 for background removal or $0.10 for any combination of edits, and a sandbox key gives 1,000 free watermarked calls a month without a card. No status page or official SDK was found, and Photoroom's privacy policy and security page disagree on whether API images train its models.",
      "postnitro": "A hosted MCP server and REST API let an agent turn a topic, article or own slides into a branded carousel, image or slide video and schedule it, with OAuth, numbered rate limits and Markdown docs. No status page, security contact or idempotency key was found, and the privacy policy contradicts the vendor's no-training statement."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/photoroom-vs-postnitro",
    "json": "https://www.anchorterminal.com/compare/photoroom-vs-postnitro.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/photoroom-vs-postnitro.md",
    "slim": "https://www.anchorterminal.com/compare/photoroom-vs-postnitro.min.md"
  },
  "markdown": "Photoroom API scores 56 (C) on agent readiness against PostNitro's 44.5 (E), and leads in 6 of 7 scored categories. PostNitro leads on maintenance \u0026 community. Both do design templates.\n\n- Photoroom API: grade C, 56/100, rank #685 of 1084. Markdown https://www.anchorterminal.com/tools/photoroom.md · JSON https://www.anchorterminal.com/api/v1/tools/photoroom.json\n- PostNitro: grade E, 44.5/100, rank #945 of 1084. Markdown https://www.anchorterminal.com/tools/postnitro.md · JSON https://www.anchorterminal.com/api/v1/tools/postnitro.json\n- Best programmatic image and design asset APIs for AI agents: https://www.anchorterminal.com/best/design-assets/index.md\n- All 55 assets comparisons: https://www.anchorterminal.com/compare/design-assets/index.md\n\n## Which one, for what\n\n### Photoroom API (C)\n\nGood for: Product-photo work at volume, such as cutouts, white backgrounds, shadows, generated scenes and clothing shots, one image a call.\n\nAhead on:\n- Schema \u0026 documentation, 86 against 77\n- Agent ergonomics, 64 against 49\n- Security \u0026 auth, 54 against 30\n- Payments \u0026 pricing, 40 against 20\n- Transparency \u0026 trust, 68 against 48\n\nWatch for: No status page was found on the site or in the docs, so there is no public incident history to read\n\n### PostNitro (E)\n\nGood for: An agent that must produce a designed, on-brand carousel or slide video and book it on LinkedIn, Instagram, TikTok, Threads, Facebook Pages or Pinterest in one chain.\n\nAhead on:\n- Maintenance \u0026 community, 65 against 23\n\nWatch for: No status page, incident history, SLA, security.txt or certification was found\n\n\n## Score by category\n\n| Category | Weight | Photoroom API | PostNitro | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 46 | 42 | Photoroom API +4 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 77 | Photoroom API +9 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 49 | Photoroom API +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 54 | 30 | Photoroom API +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 20 | Photoroom API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 23 | 65 | PostNitro +42 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 48 | Photoroom API +20 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **56 · C** | **44.5 · E** | |\n\n## Facts side by side\n\n| Fact | Photoroom API | PostNitro |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Photoroom | PostNitro Inc. |\n| Hosted endpoint | `https://image-api.photoroom.com/v2` | `https://mcp.postnitro.ai/mcp` |\n| Transports | HTTP, Streamable HTTP | Streamable HTTP, HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the Photoroom Terms and Conditions. The sample code repository is MIT | Proprietary hosted service under PostNitro's Terms of Service. The CLI, agent skill and agent plugin repositories are MIT |\n| Tools exposed | 1 | 35 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-04-21 | 2026-10-07 |\n| Terms last updated | 2026-07-29 | 2024-05-20 |\n| Privacy policy last updated | 2026-03-01 | 2023-10-05 |\n| Customer content may train models | yes, with an opt-out | yes |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | none | 2 stars, 200 npm/wk |\n\n## Verdicts\n\n**Photoroom API.** A call costs $0.02 for background removal or $0.10 for any combination of edits, and a sandbox key gives 1,000 free watermarked calls a month without a card. No status page or official SDK was found, and Photoroom's privacy policy and security page disagree on whether API images train its models.\n\n**PostNitro.** A hosted MCP server and REST API let an agent turn a topic, article or own slides into a branded carousel, image or slide video and schedule it, with OAuth, numbered rate limits and Markdown docs. No status page, security contact or idempotency key was found, and the privacy policy contradicts the vendor's no-training statement.\n\n## Before you call either\n\n### Photoroom API\n\n1. Send the key in the `x-api-key` header. Prefix it with `sandbox_` while testing, because calls with the plain key consume paid images\n2. Save the response body as a file. A 200 returns image bytes, PNG by default, and any other status returns JSON with `error.message` or `detail`\n3. Send model selectors such as `pr-ai-shadows-model-version: 2026-04-15` as HTTP headers, not form fields. They are not in the OpenAPI file\n4. Stay under 60 images a minute. On 429 back off with an exponential delay, and set a client timeout of at least 60 seconds for AI edits\n5. Use `POST /v2/edit` with `imageFile` for local files and `GET /v2/edit` with `imageUrl` for hosted ones. Each call takes one image\n\n### PostNitro\n\n1. Call `postnitro_set_defaults` once with a template, brand and AI preset, or every generate call must carry those IDs\n2. Pass the `designId` from `postnitro_get_output` to scheduling, never the `embedPostId`, or the call fails with `Design not found`\n3. For a LinkedIn PDF post, set `linkedinPostSettings.postType` to `document` with a 5 to 90 character `postTitle`\n4. Ask for the `DESIGN` output or save as `DRAFT` when a person must approve before anything publishes\n5. Keep to 5 create calls a minute per key and wait for `Retry-After` on a 429\n\n## Questions\n\n### Which is better for AI agents, Photoroom API or PostNitro?\n\nPhotoroom API scores 56 (C) on agent readiness against PostNitro's 44.5 (E), and leads in 6 of 7 scored categories. PostNitro leads on maintenance \u0026 community.\n\n### Do Photoroom API and PostNitro need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Photoroom API and PostNitro without installing anything?\n\nYes. Photoroom API has a hosted endpoint at https://image-api.photoroom.com/v2 and PostNitro at https://mcp.postnitro.ai/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/photoroom-vs-postnitro.json, and with the fewest tokens: https://www.anchorterminal.com/compare/photoroom-vs-postnitro.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"photoroom\", \"b\": \"postnitro\"}`. From a terminal: `anchor compare photoroom postnitro`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/photoroom.json and https://www.anchorterminal.com/api/v1/tools/postnitro.json\n\n## Other comparisons with Photoroom API or PostNitro\n\n- [Adobe Photoshop API vs PostNitro](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-postnitro.md)\n- [APITemplate.io vs Photoroom API](https://www.anchorterminal.com/compare/apitemplate-io-vs-photoroom.md)\n- [APITemplate.io vs PostNitro](https://www.anchorterminal.com/compare/apitemplate-io-vs-postnitro.md)\n- [Bannerbear API + MCP vs Photoroom API](https://www.anchorterminal.com/compare/bannerbear-vs-photoroom.md)\n- [Bannerbear API + MCP vs PostNitro](https://www.anchorterminal.com/compare/bannerbear-vs-postnitro.md)\n- [Canva REST APIs + MCP vs Photoroom API](https://www.anchorterminal.com/compare/canva-vs-photoroom.md)\n- [Canva REST APIs + MCP vs PostNitro](https://www.anchorterminal.com/compare/canva-vs-postnitro.md)\n- [Creatomate vs Photoroom API](https://www.anchorterminal.com/compare/creatomate-vs-photoroom.md)\n- [Creatomate vs PostNitro](https://www.anchorterminal.com/compare/creatomate-vs-postnitro.md)\n- [Photoroom API vs Placid API + MCP](https://www.anchorterminal.com/compare/photoroom-vs-placid.md)\n- [Photoroom API vs Shotstack](https://www.anchorterminal.com/compare/photoroom-vs-shotstack.md)\n- [Photoroom API vs Templated API + MCP](https://www.anchorterminal.com/compare/photoroom-vs-templated.md)\n- [Placid API + MCP vs PostNitro](https://www.anchorterminal.com/compare/placid-vs-postnitro.md)\n- [PostNitro vs Shotstack](https://www.anchorterminal.com/compare/postnitro-vs-shotstack.md)\n- [PostNitro vs Templated API + MCP](https://www.anchorterminal.com/compare/postnitro-vs-templated.md)\n- [Osmo CLI vs PostNitro](https://www.anchorterminal.com/compare/osmo-cli-vs-postnitro.md)\n- [Adobe Photoshop API vs Photoroom API](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-photoroom.md)\n- [Osmo CLI vs Photoroom API](https://www.anchorterminal.com/compare/osmo-cli-vs-photoroom.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-15",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Photoroom API vs PostNitro",
        "url": ""
      }
    ],
    "description": "Photoroom scores 56 (C) to PostNitro's 44.5 (E) for design templates. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Photoroom API C 56",
      "PostNitro E 44.5",
      "scores"
    ],
    "h1": "Photoroom API vs PostNitro",
    "image": "https://www.anchorterminal.com/assets/og/compare-photoroom-vs-postnitro.png",
    "path": "/compare/photoroom-vs-postnitro",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Photoroom vs PostNitro for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/photoroom-vs-postnitro"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
