{
  "data": {
    "a": {
      "slug": "cloudflare-workers-ai",
      "name": "Cloudflare Workers AI",
      "vendor": "Cloudflare, Inc.",
      "vendorUrl": "https://www.cloudflare.com",
      "kind": "model",
      "category": "inference",
      "summary": "Workers AI is Cloudflare's serverless inference service for open-weight models, covering text generation, embeddings, images and speech. Agents call it through the Cloudflare REST API, OpenAI-compatible endpoints or a Workers binding.",
      "url": "https://www.anchorterminal.com/tools/cloudflare-workers-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-ai.json",
      "repo": "https://github.com/cloudflare/api-schemas",
      "license": "Proprietary service under Cloudflare's Self-Serve Subscription Agreement. Each hosted model carries its own open-weight licence, linked from its model page. The `cloudflare` SDKs are Apache-2.0, `workers-ai-provider` is MIT and the OpenAPI repository is BSD-3-Clause",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
      "packages": [
        {
          "registry": "npm",
          "name": "workers-ai-provider"
        },
        {
          "registry": "npm",
          "name": "cloudflare"
        },
        {
          "registry": "pypi",
          "name": "cloudflare"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Cloudflare API token as a Bearer header, created by a person in the dashboard, with the Workers AI Read or Workers AI Edit permission on an account. Tokens can carry an expiry and an IP address filter. Inside a Worker the `AI` binding needs no token. The API reference also accepts the older global API key with an account email. Later tokens can be created through the API with an existing token.",
      "pricing": "freemium",
      "pricingNotes": "$0.011 per 1,000 neurons, shown per model as token, image or audio prices, for example Gemma 4 26B at $0.10 in and $0.30 out per 1M tokens. 10,000 neurons a day are free on the Workers Free and Paid plans, and going past that needs Workers Paid, from $5 a month. Seven frontier models need Workers Paid or prepaid AI Gateway credits. A Free plan account starts without a contract (https://developers.cloudflare.com/workers-ai/platform/pricing/, checked 2026-10-09).",
      "priceSummary": "from $0.0605 / 1M in",
      "where": "hosted",
      "x402": {
        "level": "partial",
        "evidence": "AI Gateway Machine Payments, in beta since 30 September 2026, takes x402 payment on `POST /ai/run` for four open models when the request carries `Payment-Method: x402`. It needs a Cloudflare API token, a United States account and a card on file. The per-model route `/ai/run/{model_name}` and the OpenAI-style routes are not covered. We did not call it (https://developers.cloudflare.com/ai-gateway/features/machine-payments/, checked 2026-10-09).",
        "endpoints": [
          {
            "url": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run",
            "priceUsd": null,
            "network": ""
          }
        ]
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 379824,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://developers.cloudflare.com/workers-ai/",
      "rateLimitsUrl": "https://developers.cloudflare.com/workers-ai/platform/limits/",
      "llmsTxt": "https://developers.cloudflare.com/workers-ai/llms.txt",
      "openapi": "https://raw.githubusercontent.com/cloudflare/api-schemas/main/openapi.json",
      "capabilities": [
        "inference.llm",
        "inference.open-weights",
        "embed.text",
        "rerank",
        "image.generate",
        "speech.stt",
        "speech.tts",
        "compute.batch"
      ],
      "tags": [
        "hosted",
        "model",
        "open-weights",
        "usage-based",
        "free-tier",
        "x402",
        "openapi",
        "llms-txt",
        "openai-compatible",
        "batch",
        "prompt-caching",
        "typescript",
        "python",
        "go",
        "status-page",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.3,
        "grade": "B",
        "agentReady": false,
        "rank": 224,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 72,
          "payments": 52,
          "reliability": 66,
          "schema": 80,
          "security": 77,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -3,
        "negativeNotes": [
          "28 July 2026. Kimi K2.6, Kimi K2.7 Code and GLM-5.2 began returning 403 (code 5035) on the Workers Free plan on the day of the notice, with no advance warning found. Three points (https://developers.cloudflare.com/changelog/post/2026-07-28-models-require-workers-paid/)."
        ],
        "verdict": "Per-model prices, rate limits and JSON Schemas are public, 10,000 neurons a day are free, and x402 payment is in beta on `/ai/run` for four models. No SLA was found, three models moved to paid-only access on 28 July 2026 with no notice, and several docs pages still use a model retired in May.",
        "bestFor": "Agents that already run on Cloudflare Workers, or that want open-weight chat, embedding, reranking, speech and image models behind one token with a free daily allowance.",
        "strengths": [
          "Per-model token prices, cached-input prices and neuron rates are published without a login, with 10,000 neurons a day free on the Workers Free plan",
          "x402 payment (Machine Payments, beta since 30 September 2026) works on `POST /ai/run` for four open models",
          "Rate limits are published per task type, and a 429 separates a spent free allocation (3036) from capacity (3040)",
          "API tokens are limited to Workers AI permissions on an account, with optional expiry and IP address filtering",
          "DeepSeek V4 and GLM-5.3 run with a 1,048,576-token context, with prefix caching and discounted cached input"
        ],
        "weaknesses": [
          "No SLA for Workers AI was found in the docs or the agreements read",
          "Three models moved to paid-only access on 28 July 2026, the day of the notice, and Free plan calls to them return 403",
          "Eighteen models were retired on 30 May 2026 with 22 days' notice, and no minimum notice period is published",
          "The REST quick start, the OpenAI-compatibility page and the JSON Mode model list still name models on the 30 May 2026 retirement list",
          "The x402 route still needs a Cloudflare API token, a United States account and a card on file"
        ],
        "agentNotes": [
          "Check the model page before calling. Seven models need Workers Paid or AI Gateway credits and return 403 with code 5035 on the Free plan",
          "Read the internal code on a 429. 3036 means the day's 10,000 free neurons are spent until 00:00 UTC, 3040 means capacity, so retry later",
          "Set `options.rejectIfBusy` to fail fast, or add `?queueRequest=true` for the batch route when the answer can wait",
          "Send the same `x-session-affinity` value on every turn of a session to reach the prefix cache and the cached-input price",
          "Keep paid frontier models under 20 requests a minute per model, or 50 with prepaid AI Gateway credits"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.3
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 72,
          "payments": 52,
          "reliability": 66,
          "schema": 80,
          "security": 77,
          "transparency": 56
        },
        "provenanceScore": 95
      },
      "connect": {
        "http": "curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/google/gemma-4-26b-a4b-it \\\n  -X POST \\\n  -H \"Authorization: Bearer $CLOUDFLARE_AUTH_TOKEN\" \\\n  -d '{ \"messages\": [{ \"role\": \"system\", \"content\": \"You are a friendly assistant\" }, { \"role\": \"user\", \"content\": \"Why is pizza so good\" }]}'",
        "x402": "curl -iX POST \"https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run\" \\\n  --header \"Authorization: Bearer $CLOUDFLARE_API_TOKEN\" \\\n  --header \"Payment-Method: x402\" \\\n  --header \"Content-Type: application/json\" \\\n  --data '{\"model\":\"z-ai/glm-4.7-flash\",\"input\":{\"messages\":[{\"role\":\"user\",\"content\":\"What is Cloudflare?\"}]}}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/cloudflare-workers-ai"
      },
      "sameCompany": [
        "cloudflare-ai-gateway",
        "cloudflare-sandbox-sdk",
        "cloudflare-web-search",
        "cloudflare-mcp",
        "cloudflare-email-service",
        "cloudflare-r2",
        "cloudflare-clef"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "Whisper large v3 turbo, speech to text",
          "unit": "audio-minute",
          "usd": 0.0005,
          "note": "46.63 neurons"
        },
        {
          "item": "Deepgram Nova-3, speech to text",
          "unit": "audio-minute",
          "usd": 0.0052,
          "note": "472.73 neurons. $0.0092 over WebSocket"
        },
        {
          "item": "Deepgram Aura-1, text to speech",
          "unit": "1m-chars",
          "usd": 15,
          "note": "listed as $0.015 per 1,000 characters"
        },
        {
          "item": "Deepgram Aura-2, text to speech",
          "unit": "1m-chars",
          "usd": 30,
          "note": "listed as $0.030 per 1,000 characters, English and Spanish"
        }
      ],
      "provenance": {
        "legalEntity": "Cloudflare, Inc.",
        "domain": "cloudflare.com",
        "domainRegistered": "2009-02-17",
        "endpointOnVendorDomain": true,
        "terms": "https://www.cloudflare.com/terms/",
        "privacy": "https://www.cloudflare.com/privacypolicy/",
        "statusPage": "https://www.cloudflarestatus.com",
        "changelog": "https://developers.cloudflare.com/changelog/product/workers-ai/",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "Terms are the Self-Serve Subscription Agreement, last updated 12 September 2025, which names Cloudflare, Inc. at 101 Townsend St, San Francisco. The Workers AI data usage page cites it and the Enterprise Subscription Agreement as the governing documents.",
          "The service-specific terms (https://www.cloudflare.com/service-specific-terms-developer-platform/), last updated 28 September 2026, have a section for Workers AI and AI Gateway that supplements the agreement.",
          "The privacy policy is effective from 4 November 2025.",
          "www.cloudflare.com/.well-known/security.txt, read on 9 October 2026, names HackerOne and a disclosure policy and has no Expires field. It is recorded as valid to match the other Cloudflare listings.",
          "The endpoint is on api.cloudflare.com.",
          "The status page lists Workers AI as its own component, operational on 9 October 2026.",
          "RDAP for cloudflare.com gives a registration date of 2009-02-17.",
          "The Workers AI changelog page (https://developers.cloudflare.com/workers-ai/changelog/) stops at 16 June 2026, so the product changelog is recorded."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudflare-workers-ai.json",
      "live": {
        "slug": "cloudflare-workers-ai",
        "probe": {
          "target": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
          "method": "get",
          "lastAt": "2026-10-10T04:40:45.924321341Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 19,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 19,
          "p95ms24h": 48,
          "samples24h": 133,
          "samples30d": 133,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "major",
          "summary": "Partial System Outage",
          "checkedAt": "2026-10-10T04:40:49.355630552Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "cloudflare",
            "version": "7.3.0",
            "seenAt": "2026-10-09T16:46:16.222261099Z"
          },
          {
            "registry": "npm",
            "name": "workers-ai-provider",
            "version": "4.0.0",
            "seenAt": "2026-10-09T16:46:15.310826363Z"
          },
          {
            "registry": "pypi",
            "name": "cloudflare",
            "version": "5.9.0",
            "released": "2026-10-03",
            "seenAt": "2026-10-09T16:46:17.361988865Z"
          }
        ],
        "githubStars": 194,
        "npmWeekly": 379824,
        "pypiWeekly": 365643,
        "pages": [
          {
            "url": "https://developers.cloudflare.com/changelog/product/workers-ai/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:50.279057567Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "486cf84220c1"
          },
          {
            "url": "https://developers.cloudflare.com/changelog/post/2026-05-08-planned-model-deprecations/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:42.235428702Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "456d5c31e53a"
          },
          {
            "url": "https://developers.cloudflare.com/changelog/post/2026-07-28-models-require-workers-paid/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:35:44.226321807Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "23663c817503"
          }
        ],
        "updatedAt": "2026-10-10T04:40:45.924321341Z"
      }
    },
    "answer": "Cloudflare Workers AI scores 68.3 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category.",
    "b": {
      "slug": "novita-ai",
      "name": "Novita AI",
      "vendor": "Novita AI",
      "vendorUrl": "https://novita.ai",
      "kind": "model",
      "category": "inference",
      "summary": "Novita AI is a hosted inference API for open-weight language models, with embeddings, reranking, image, video and speech models on the same key. It answers OpenAI-style calls at api.novita.ai with a Bearer key.",
      "url": "https://www.anchorterminal.com/tools/novita-ai",
      "markdownUrl": "https://www.anchorterminal.com/tools/novita-ai.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/novita-ai.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/novita-ai.json",
      "repo": "https://github.com/novitalabs/novita-skills",
      "license": "Proprietary service under the Novita AI Terms of Service. The agent skill and the MCP server are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.novita.ai/openai",
      "packages": [
        {
          "registry": "npm",
          "name": "novita-sdk"
        },
        {
          "registry": "pypi",
          "name": "novita-client"
        },
        {
          "registry": "npm",
          "name": "@novitalabs/novita-mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve Bearer key from Key Management in the console after a browser sign-up. Keys start with `sk_`, are shown once, number up to 10 an account and take an expiry of 24 hours, 30 days, 90 days or none. A per-key model access policy and source IP allowlist can be set by API. `auth.md` also describes OAuth with PKCE after the user signs in and approves (https://docs.novita.ai/guides/llm-api-keys, https://novita.ai/auth.md).",
      "pricing": "usage",
      "pricingNotes": "Pay per token from prepaid credit. `deepseek/deepseek-v4.1-flash` costs $0.30 in and $1.20 out per 1M tokens, batch is 50 per cent off as an introductory price, and two models are listed as free. A voucher for new users is described without an amount, and whether a card is needed was not found (https://novita.ai/pricing, checked 2026-10-09).",
      "priceSummary": "from $0.05 / 1M in",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the docs site map, the pricing page or the skill repository (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": 1363,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.novita.ai/guides/introduction",
      "rateLimitsUrl": "https://docs.novita.ai/guides/llm-rate-limits",
      "llmsTxt": "https://docs.novita.ai/llms.txt",
      "openapi": "https://novita.ai/.well-known/openapi.json",
      "capabilities": [
        "inference.llm",
        "inference.open-weights",
        "embed.text",
        "rerank",
        "image.generate",
        "video.generate",
        "speech.tts",
        "compute.batch"
      ],
      "tags": [
        "hosted",
        "model",
        "open-weights",
        "usage-based",
        "llms-txt",
        "openai-compatible",
        "batch",
        "prompt-caching",
        "changelog"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.5,
        "grade": "D",
        "agentReady": false,
        "rank": 706,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 62,
          "payments": 35,
          "reliability": 28,
          "schema": 62,
          "security": 65,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Per-token prices for about 140 language models are public, and each key can carry an expiry, a model allowlist and a source IP allowlist. No status page, SLA or security.txt was found, the per-model rate limit figures are drawn by script, and both vendor SDK repositories are archived while the docs still point to them.",
        "bestFor": "Agents that want many open-weight models at per-token prices behind one OpenAI-style key, with keys that can be limited by model, IP and expiry.",
        "strengths": [
          "API keys take an expiry of 24 hours, 30 days or 90 days, a per-key model access policy and a per-key source IP allowlist, the last two settable by API",
          "The pricing page lists input, output and cache-read prices per 1M tokens with context size for each language model, readable without a login",
          "The terms commit to zero data retention and say content is not used to train Novita's models by default, with stated exceptions",
          "A billing page states which HTTP statuses are charged. 400, 401, 403, 429, 500, 503 and 504 are not, and 200 and 499 are",
          "A dated changelog holds 84 entries since February 2024, 11 of them in the 90 days to 9 October 2026, and `llms.txt` links a Markdown copy of every docs page"
        ],
        "weaknesses": [
          "No status page or SLA was found on the home page, the docs index or the docs site map. The home page states 99.5% uptime with no supporting document",
          "The rate limit page explains five tiers by monthly top-up, and the RPM and TPM figures per model are drawn by script and were not readable",
          "`deepseek/deepseek-v4-flash` was retired on 9 October 2026 on a notice dated 28 September 2026, and the named replacement is priced higher",
          "The Python and JavaScript SDK repositories are archived, last changed in November 2024 and March 2025, and the SDK docs page still tells users to install them",
          "The terms name the contracting party only as Novita AI, with no corporate form or address, and no DPA or sub-processor list was found",
          "The Acceptable Use Policy forbids scripts, bots or crawlers that extract data from the Site. Recorded as a fact, and it matters before any probe is run"
        ],
        "agentNotes": [
          "Set the OpenAI client base URL to `https://api.novita.ai/openai` and send the key as `Authorization: Bearer`. Keys start with `sk_`",
          "Do not close a connection to stop generation. A request that reached the model is billed in full under status 499, so cap output with `max_tokens`",
          "On 429, check whether the code is `RATE_LIMIT_EXCEEDED` or `TOKEN_LIMIT_EXCEEDED` and back off exponentially. No `Retry-After` header is documented",
          "Read the changelog for retirement notices before pinning a model id. One retirement in October 2026 came with 11 days' notice",
          "Ask the account owner for a key with an expiry, a model access policy and an IP allowlist. Keys are created and deleted only in the console"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.5
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 62,
          "payments": 35,
          "reliability": 28,
          "schema": 62,
          "security": 65,
          "transparency": 42
        },
        "provenanceScore": 69
      },
      "connect": {
        "install": "pip install openai   # or: npm install openai",
        "http": "curl \"https://api.novita.ai/openai/v1/chat/completions\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $NOVITA_API_KEY\" \\\n  -d '{\"model\":\"deepseek/deepseek-v4.1-flash\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/novita-ai"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Novita AI",
        "domain": "novita.ai",
        "domainRegistered": "2023-09-18",
        "endpointOnVendorDomain": true,
        "terms": "https://novita.ai/legal/terms-of-service",
        "privacy": "https://novita.ai/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://docs.novita.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Service, updated 5 August 2026, name the party only as Novita AI, with no corporate form or address. They cover the site and the services sold through it, the inference APIs included, under Delaware law with arbitration.",
          "The Privacy Policy, effective 13 May 2026, covers the website and services and says it does not apply to content processed on behalf of customers, which it leaves to customer agreements.",
          "The Acceptable Use Policy, effective 5 August 2026, is part of the terms.",
          "No status page was found on the home page, the pricing page, the docs index or the docs site map.",
          "https://novita.ai/.well-known/security.txt returns 404.",
          "RDAP for novita.ai gives a registration date of 2023-09-18.",
          "The API answers at api.novita.ai and the docs at docs.novita.ai. `auth.md` names a token endpoint at api-server.novita.ai.",
          "No SLA, DPA or sub-processor list was found. The trust centre at trust.novita.ai is drawn by script and was not read."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/novita-ai.json",
      "live": {
        "slug": "novita-ai",
        "probe": {
          "target": "https://api.novita.ai/openai",
          "method": "get",
          "lastAt": "2026-10-10T04:40:57.441378264Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 174,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 194,
          "p95ms24h": 295,
          "samples24h": 133,
          "samples30d": 133,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@novitalabs/novita-mcp-server",
            "version": "1.0.2",
            "seenAt": "2026-10-09T17:08:41.708799275Z"
          },
          {
            "registry": "npm",
            "name": "novita-sdk",
            "version": "3.1.3",
            "seenAt": "2026-10-09T17:08:40.700432938Z"
          },
          {
            "registry": "pypi",
            "name": "novita-client",
            "version": "0.7.1",
            "released": "2024-11-08",
            "seenAt": "2026-10-09T17:08:41.522030178Z"
          }
        ],
        "githubStars": 6,
        "npmWeekly": 1363,
        "pypiWeekly": 540,
        "pages": [
          {
            "url": "https://docs.novita.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:37:52.275657851Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1f496fd964c8"
          },
          {
            "url": "https://docs.novita.ai/changelog/28-09-26",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:37:54.59372706Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1f496fd964c8"
          },
          {
            "url": "https://novita.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:34.466314386Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fd70ed7ca34a"
          },
          {
            "url": "https://novita.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:29.861270188Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a91f11239499"
          },
          {
            "url": "https://novita.ai/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:32.628448205Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "94067cded599"
          }
        ],
        "models": {
          "deepseek/deepseek-v4.1-flash": {
            "openrouterId": "deepseek/deepseek-v4.1-flash",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "image",
              "text"
            ],
            "promptCaching": true,
            "contextTokens": 1048576,
            "maxOutput": 943718,
            "checkedAt": "2026-10-09T22:59:28.49657734Z"
          },
          "openai/gpt-oss-120b": {
            "openrouterId": "openai/gpt-oss-120b",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "text"
            ],
            "promptCaching": false,
            "contextTokens": 131072,
            "maxOutput": 117964,
            "checkedAt": "2026-10-09T22:59:28.49657734Z"
          },
          "qwen/qwen3.8-flash": {
            "openrouterId": "qwen/qwen3.8-flash",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "image",
              "text",
              "video"
            ],
            "promptCaching": true,
            "contextTokens": 1000000,
            "maxOutput": 131072,
            "checkedAt": "2026-10-09T22:59:28.49657734Z"
          }
        },
        "updatedAt": "2026-10-10T04:40:57.441378264Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Cloudflare, Inc.",
        "b": "Novita AI",
        "name": "Vendor"
      },
      {
        "a": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai",
        "b": "https://api.novita.ai/openai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "payer tooling only",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Cloudflare's Self-Serve Subscription Agreement. Each hosted model carries its own open-weight licence, linked from its model page. The `cloudflare` SDKs are Apache-2.0, `workers-ai-provider` is MIT and the OpenAPI repository is BSD-3-Clause",
        "b": "Proprietary service under the Novita AI Terms of Service. The agent skill and the MCP server are MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-09-28",
        "name": "Last release"
      },
      {
        "a": "2025-09-12",
        "b": "2026-08-05",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-05-13",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "380k npm/wk",
        "b": "6 stars, 1.4k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Cloudflare Workers AI scores 68.3 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Cloudflare Workers AI or Novita AI?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Cloudflare Workers AI and Novita AI need an API key?"
      },
      {
        "answer": "Yes. Cloudflare Workers AI has a hosted endpoint at https://api.cloudflare.com/client/v4/accounts/{account_id}/ai and Novita AI at https://api.novita.ai/openai.",
        "question": "Can an agent call Cloudflare Workers AI and Novita AI without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 66 against 28",
          "Schema \u0026 documentation, 80 against 62",
          "Security \u0026 auth, 77 against 65",
          "Payments \u0026 pricing, 52 against 35",
          "Maintenance \u0026 community, 72 against 62",
          "Transparency \u0026 trust, 76 against 56"
        ],
        "also": null,
        "goodFor": "Agents that already run on Cloudflare Workers, or that want open-weight chat, embedding, reranking, speech and image models behind one token with a free daily allowance.",
        "slug": "cloudflare-workers-ai",
        "watchFor": "No SLA for Workers AI was found in the docs or the agreements read"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where Cloudflare Workers AI loses 3 points for them"
        ],
        "goodFor": "Agents that want many open-weight models at per-token prices behind one OpenAI-style key, with keys that can be limited by model, IP and expiry.",
        "slug": "novita-ai",
        "watchFor": "No status page or SLA was found on the home page, the docs index or the docs site map. The home page states 99.5% uptime with no supporting document"
      }
    ],
    "job": {
      "capability": "inference.llm",
      "name": "LLM inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-workers-ai.json",
        "title": "Claude API vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-workers-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-novita-ai.json",
        "title": "Claude API vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-cloudflare-workers-ai.json",
        "title": "Antseed vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-cloudflare-workers-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-novita-ai.json",
        "title": "Antseed vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-workers-ai.json",
        "title": "BlockRun.AI vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-workers-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-novita-ai.json",
        "title": "BlockRun.AI vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cloudflare-workers-ai.json",
        "title": "Cloudflare AI Gateway vs Cloudflare Workers AI",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cloudflare-workers-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.json",
        "title": "Cloudflare AI Gateway vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-cohere-chat.json",
        "title": "Cloudflare Workers AI vs Cohere Chat API (Command models)",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-cohere-chat"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepinfra.json",
        "title": "Cloudflare Workers AI vs DeepInfra",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepinfra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepseek-api.json",
        "title": "Cloudflare Workers AI vs DeepSeek API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepseek-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-gemini-api.json",
        "title": "Cloudflare Workers AI vs Gemini Developer API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-gemini-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-groq.json",
        "title": "Cloudflare Workers AI vs GroqCloud",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-groq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-mistral-api.json",
        "title": "Cloudflare Workers AI vs Mistral AI API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-mistral-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openai-api.json",
        "title": "Cloudflare Workers AI vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter.json",
        "title": "Cloudflare Workers AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-prism-inference.json",
        "title": "Cloudflare Workers AI vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-sambanova.json",
        "title": "Cloudflare Workers AI vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-siliconflow.json",
        "title": "Cloudflare Workers AI vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-siliconflow"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cohere-chat-vs-novita-ai.json",
        "title": "Cohere Chat API (Command models) vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/cohere-chat-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-novita-ai.json",
        "title": "DeepInfra vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-novita-ai.json",
        "title": "DeepSeek API vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-api-vs-novita-ai.json",
        "title": "Gemini Developer API vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/gemini-api-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-vs-novita-ai.json",
        "title": "GroqCloud vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/groq-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-api-vs-novita-ai.json",
        "title": "Mistral AI API vs Novita AI",
        "url": "https://www.anchorterminal.com/compare/mistral-api-vs-novita-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-openai-api.json",
        "title": "Novita AI vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-openrouter.json",
        "title": "Novita AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-prism-inference.json",
        "title": "Novita AI vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-sambanova.json",
        "title": "Novita AI vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/novita-ai-vs-siliconflow.json",
        "title": "Novita AI vs SiliconFlow",
        "url": "https://www.anchorterminal.com/compare/novita-ai-vs-siliconflow"
      }
    ],
    "scores": [
      {
        "by": 38,
        "cloudflare-workers-ai": 66,
        "edge": "cloudflare-workers-ai",
        "key": "reliability",
        "name": "Reliability",
        "novita-ai": 28,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "cloudflare-workers-ai": 80,
        "edge": "cloudflare-workers-ai",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "novita-ai": 62,
        "weight": 13
      },
      {
        "by": 3,
        "cloudflare-workers-ai": 75,
        "edge": "cloudflare-workers-ai",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "novita-ai": 72,
        "weight": 13
      },
      {
        "by": 12,
        "cloudflare-workers-ai": 77,
        "edge": "cloudflare-workers-ai",
        "key": "security",
        "name": "Security \u0026 auth",
        "novita-ai": 65,
        "weight": 14
      },
      {
        "by": 17,
        "cloudflare-workers-ai": 52,
        "edge": "cloudflare-workers-ai",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "novita-ai": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "cloudflare-workers-ai": 72,
        "edge": "cloudflare-workers-ai",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "novita-ai": 62,
        "weight": 7
      },
      {
        "by": 20,
        "cloudflare-workers-ai": 76,
        "edge": "cloudflare-workers-ai",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "novita-ai": 56,
        "weight": 7
      }
    ],
    "summary": "Cloudflare Workers AI scores 68.3 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category. Both do llm inference.",
    "verdicts": {
      "cloudflare-workers-ai": "Per-model prices, rate limits and JSON Schemas are public, 10,000 neurons a day are free, and x402 payment is in beta on `/ai/run` for four models. No SLA was found, three models moved to paid-only access on 28 July 2026 with no notice, and several docs pages still use a model retired in May.",
      "novita-ai": "Per-token prices for about 140 language models are public, and each key can carry an expiry, a model allowlist and a source IP allowlist. No status page, SLA or security.txt was found, the per-model rate limit figures are drawn by script, and both vendor SDK repositories are archived while the docs still point to them."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai",
    "json": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai.md",
    "slim": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai.min.md"
  },
  "markdown": "Cloudflare Workers AI scores 68.3 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category. Both do llm inference.\n\n- Cloudflare Workers AI: grade B, 68.3/100, rank #224 of 950. Markdown https://www.anchorterminal.com/tools/cloudflare-workers-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-ai.json\n- Novita AI: grade D, 53.5/100, rank #706 of 950. Markdown https://www.anchorterminal.com/tools/novita-ai.md · JSON https://www.anchorterminal.com/api/v1/tools/novita-ai.json\n- Best model APIs and inference for AI agents: https://www.anchorterminal.com/best/inference/index.md\n- All 136 models comparisons: https://www.anchorterminal.com/compare/inference/index.md\n\n## Which one, for what\n\n### Cloudflare Workers AI (B)\n\nGood for: Agents that already run on Cloudflare Workers, or that want open-weight chat, embedding, reranking, speech and image models behind one token with a free daily allowance.\n\nAhead on:\n- Reliability, 66 against 28\n- Schema \u0026 documentation, 80 against 62\n- Security \u0026 auth, 77 against 65\n- Payments \u0026 pricing, 52 against 35\n- Maintenance \u0026 community, 72 against 62\n- Transparency \u0026 trust, 76 against 56\n\nWatch for: No SLA for Workers AI was found in the docs or the agreements read\n\n### Novita AI (D)\n\nGood for: Agents that want many open-weight models at per-token prices behind one OpenAI-style key, with keys that can be limited by model, IP and expiry.\n\nAlso in its favour:\n- No incidents deducted, where Cloudflare Workers AI loses 3 points for them\n\nWatch for: No status page or SLA was found on the home page, the docs index or the docs site map. The home page states 99.5% uptime with no supporting document\n\n\n## Score by category\n\n| Category | Weight | Cloudflare Workers AI | Novita AI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 66 | 28 | Cloudflare Workers AI +38 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 62 | Cloudflare Workers AI +18 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 72 | Cloudflare Workers AI +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 77 | 65 | Cloudflare Workers AI +12 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 52 | 35 | Cloudflare Workers AI +17 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 72 | 62 | Cloudflare Workers AI +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 76 | 56 | Cloudflare Workers AI +20 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **68.3 · B** | **53.5 · D** | |\n\n## Facts side by side\n\n| Fact | Cloudflare Workers AI | Novita AI |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Cloudflare, Inc. | Novita AI |\n| Hosted endpoint | `https://api.cloudflare.com/client/v4/accounts/{account_id}/ai` | `https://api.novita.ai/openai` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | payer tooling only | no |\n| Licence | Proprietary service under Cloudflare's Self-Serve Subscription Agreement. Each hosted model carries its own open-weight licence, linked from its model page. The `cloudflare` SDKs are Apache-2.0, `workers-ai-provider` is MIT and the OpenAPI repository is BSD-3-Clause | Proprietary service under the Novita AI Terms of Service. The agent skill and the MCP server are MIT |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-01 | 2026-09-28 |\n| Terms last updated | 2025-09-12 | 2026-08-05 |\n| Privacy policy last updated | no date given | 2026-05-13 |\n| Customer content may train models | not found in the text | not found in the text |\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 | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 380k npm/wk | 6 stars, 1.4k npm/wk |\n\n## Verdicts\n\n**Cloudflare Workers AI.** Per-model prices, rate limits and JSON Schemas are public, 10,000 neurons a day are free, and x402 payment is in beta on `/ai/run` for four models. No SLA was found, three models moved to paid-only access on 28 July 2026 with no notice, and several docs pages still use a model retired in May.\n\n**Novita AI.** Per-token prices for about 140 language models are public, and each key can carry an expiry, a model allowlist and a source IP allowlist. No status page, SLA or security.txt was found, the per-model rate limit figures are drawn by script, and both vendor SDK repositories are archived while the docs still point to them.\n\n## Before you call either\n\n### Cloudflare Workers AI\n\n1. Check the model page before calling. Seven models need Workers Paid or AI Gateway credits and return 403 with code 5035 on the Free plan\n2. Read the internal code on a 429. 3036 means the day's 10,000 free neurons are spent until 00:00 UTC, 3040 means capacity, so retry later\n3. Set `options.rejectIfBusy` to fail fast, or add `?queueRequest=true` for the batch route when the answer can wait\n4. Send the same `x-session-affinity` value on every turn of a session to reach the prefix cache and the cached-input price\n5. Keep paid frontier models under 20 requests a minute per model, or 50 with prepaid AI Gateway credits\n\n### Novita AI\n\n1. Set the OpenAI client base URL to `https://api.novita.ai/openai` and send the key as `Authorization: Bearer`. Keys start with `sk_`\n2. Do not close a connection to stop generation. A request that reached the model is billed in full under status 499, so cap output with `max_tokens`\n3. On 429, check whether the code is `RATE_LIMIT_EXCEEDED` or `TOKEN_LIMIT_EXCEEDED` and back off exponentially. No `Retry-After` header is documented\n4. Read the changelog for retirement notices before pinning a model id. One retirement in October 2026 came with 11 days' notice\n5. Ask the account owner for a key with an expiry, a model access policy and an IP allowlist. Keys are created and deleted only in the console\n\n## Questions\n\n### Which is better for AI agents, Cloudflare Workers AI or Novita AI?\n\nCloudflare Workers AI scores 68.3 (B) on agent readiness against Novita AI's 53.5 (D), and leads in every scored category.\n\n### Do Cloudflare Workers AI and Novita AI need an API key?\n\nBoth need an API key.\n\n### Can an agent call Cloudflare Workers AI and Novita AI without installing anything?\n\nYes. Cloudflare Workers AI has a hosted endpoint at https://api.cloudflare.com/client/v4/accounts/{account_id}/ai and Novita AI at https://api.novita.ai/openai.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cloudflare-workers-ai\", \"b\": \"novita-ai\"}`. From a terminal: `anchor compare cloudflare-workers-ai novita-ai`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cloudflare-workers-ai.json and https://www.anchorterminal.com/api/v1/tools/novita-ai.json\n\n## Other comparisons with Cloudflare Workers AI or Novita AI\n\n- [Claude API vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/anthropic-api-vs-cloudflare-workers-ai.md)\n- [Claude API vs Novita AI](https://www.anchorterminal.com/compare/anthropic-api-vs-novita-ai.md)\n- [Antseed vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/antseed-vs-cloudflare-workers-ai.md)\n- [Antseed vs Novita AI](https://www.anchorterminal.com/compare/antseed-vs-novita-ai.md)\n- [BlockRun.AI vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/blockrun-ai-vs-cloudflare-workers-ai.md)\n- [BlockRun.AI vs Novita AI](https://www.anchorterminal.com/compare/blockrun-ai-vs-novita-ai.md)\n- [Cloudflare AI Gateway vs Cloudflare Workers AI](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-cloudflare-workers-ai.md)\n- [Cloudflare AI Gateway vs Novita AI](https://www.anchorterminal.com/compare/cloudflare-ai-gateway-vs-novita-ai.md)\n- [Cloudflare Workers AI vs Cohere Chat API (Command models)](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-cohere-chat.md)\n- [Cloudflare Workers AI vs DeepInfra](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepinfra.md)\n- [Cloudflare Workers AI vs DeepSeek API](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-deepseek-api.md)\n- [Cloudflare Workers AI vs Gemini Developer API](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-gemini-api.md)\n- [Cloudflare Workers AI vs GroqCloud](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-groq.md)\n- [Cloudflare Workers AI vs Mistral AI API](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-mistral-api.md)\n- [Cloudflare Workers AI vs OpenAI API](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openai-api.md)\n- [Cloudflare Workers AI vs OpenRouter](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-openrouter.md)\n- [Cloudflare Workers AI vs Prism Inference](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-prism-inference.md)\n- [Cloudflare Workers AI vs SambaCloud](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-sambanova.md)\n- [Cloudflare Workers AI vs SiliconFlow](https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-siliconflow.md)\n- [Cohere Chat API (Command models) vs Novita AI](https://www.anchorterminal.com/compare/cohere-chat-vs-novita-ai.md)\n- [DeepInfra vs Novita AI](https://www.anchorterminal.com/compare/deepinfra-vs-novita-ai.md)\n- [DeepSeek API vs Novita AI](https://www.anchorterminal.com/compare/deepseek-api-vs-novita-ai.md)\n- [Gemini Developer API vs Novita AI](https://www.anchorterminal.com/compare/gemini-api-vs-novita-ai.md)\n- [GroqCloud vs Novita AI](https://www.anchorterminal.com/compare/groq-vs-novita-ai.md)\n- [Mistral AI API vs Novita AI](https://www.anchorterminal.com/compare/mistral-api-vs-novita-ai.md)\n- [Novita AI vs OpenAI API](https://www.anchorterminal.com/compare/novita-ai-vs-openai-api.md)\n- [Novita AI vs OpenRouter](https://www.anchorterminal.com/compare/novita-ai-vs-openrouter.md)\n- [Novita AI vs Prism Inference](https://www.anchorterminal.com/compare/novita-ai-vs-prism-inference.md)\n- [Novita AI vs SambaCloud](https://www.anchorterminal.com/compare/novita-ai-vs-sambanova.md)\n- [Novita AI vs SiliconFlow](https://www.anchorterminal.com/compare/novita-ai-vs-siliconflow.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Cloudflare Workers AI vs Novita AI",
        "url": ""
      }
    ],
    "description": "Cloudflare Workers AI scores 68.3 (B) to Novita AI's 53.5 (D) for llm inference. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Cloudflare Workers AI B 68.3",
      "Novita AI D 53.5",
      "scores"
    ],
    "h1": "Cloudflare Workers AI vs Novita AI",
    "image": "https://www.anchorterminal.com/assets/og/compare-cloudflare-workers-ai-vs-novita-ai.png",
    "path": "/compare/cloudflare-workers-ai-vs-novita-ai",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cloudflare Workers AI vs Novita AI for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/cloudflare-workers-ai-vs-novita-ai"
  },
  "tokens": {
    "markdown": 2850,
    "slim": 730
  },
  "version": 1
}
