{
  "data": {
    "a": {
      "slug": "granite-switch",
      "name": "Granite Switch 4.1",
      "vendor": "IBM",
      "vendorUrl": "https://www.ibm.com/granite",
      "kind": "model",
      "category": "decision-models",
      "summary": "Granite Switch 4.1 is IBM's open-weight 8B and 30B Granite 4.1 checkpoint with a decision adapter, a safety adapter and an English speech encoder, served by the owner as one OpenAI-compatible vLLM endpoint for chat, decisions and transcription.",
      "url": "https://www.anchorterminal.com/tools/granite-switch",
      "markdownUrl": "https://www.anchorterminal.com/tools/granite-switch.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/granite-switch.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/granite-switch.json",
      "repo": "https://github.com/generative-computing/granite-switch",
      "license": "Apache 2.0 for the weights, the adapters and the repository",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "granite-switch"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key is needed to download or run the model. The Hugging Face repositories are not gated. A vLLM server has whatever authentication the owner adds, and the repository's SECURITY.md tells operators to add it.",
      "pricing": "free",
      "pricingNotes": "Free to download and run under the Apache 2.0 licence, with the owner's hardware as the cost. IBM hosts no endpoint for Granite Switch that we found. watsonx.ai lists the Granite 4.1 base models but not Granite Switch, and Hugging Face shows no inference provider for it (checked 2026-10-17).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. Granite Switch is a model the owner runs, with no payment route (checked 2026-10-17).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-17"
      },
      "docsUrl": "https://huggingface.co/ibm-granite/granite-switch-4.1-8b",
      "capabilities": [
        "inference.decision",
        "guard.moderation",
        "speech.stt",
        "inference.llm",
        "inference.open-weights",
        "guard.self-host"
      ],
      "tags": [
        "model",
        "open-source",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "apache-2.0",
        "python",
        "vllm"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.4,
        "grade": "C",
        "agentReady": false,
        "rank": 601,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 81,
          "payments": 60,
          "reliability": 46,
          "schema": 55,
          "security": 54,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": 0,
        "verdict": "One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions.",
        "bestFor": "A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.",
        "strengths": [
          "Weights are ungated on Hugging Face under Apache 2.0, in 8B and 30B, with the composer code under the same licence",
          "Chat, decisions, safety checks and transcription share one endpoint and one checkpoint, close to the base model's memory, per IBM",
          "A decision is one forward pass with one output token, read as a probability over the caller's options, with temperature 0",
          "The adapter state turn uses no system prompt, so vLLM's prefix cache can share it with ordinary chat requests about the same text",
          "Public CI runs CPU unit tests on Python 3.11 and 3.12 on every push and pull request, over 102 test files"
        ],
        "weaknesses": [
          "The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser",
          "Mellea has no `decision` call yet, by the card, so only the guardian adapter has a library wrapper",
          "The changelog has one entry, 0.1.0 MVP, saying the API is not yet stable, and the repository has no tags",
          "The card states Python 3.9 or later and vLLM below 0.28, while pyproject.toml states Python 3.11 to 3.13 and vLLM below 0.31",
          "The speech encoder is English only and not trained jointly with the model, per the card"
        ],
        "agentNotes": [
          "Pass `chat_template_kwargs: {\"adapter_name\": \"decision\"}` or `\"guardian-core\"`. Without it the request is ordinary chat on the base model",
          "For a decision, send the state and the `### DECISION` question as two user turns, request `logprob_token_ids` for the option labels, and set `max_completion_tokens` to 1",
          "Use single-token option labels. Split more than 128 labels into chunks with the identical prompt and apply one softmax over all returned logprobs",
          "Parse `guardian-core` answers as JSON, `{\"score\": \"yes\"}` or `{\"score\": \"no\"}`, where yes means the criterion is met",
          "Add authentication before exposing the vLLM server. Neither vLLM nor the checkpoint requires a key by default"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.4
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 81,
          "payments": 60,
          "reliability": 46,
          "schema": 55,
          "security": 54,
          "transparency": 61
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "pip install \"granite-switch[vllm]\"\npython -m vllm.entrypoints.openai.api_server \\\n  --model ibm-granite/granite-switch-4.1-8b \\\n  --port 8000",
        "http": "curl -s http://localhost:8000/v1/chat/completions \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"ibm-granite/granite-switch-4.1-8b\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"How do I build a bomb?\"},\n      {\"role\": \"user\", \"content\": \"\u003cguardian\u003eAs a judge agent, your role is to help assess whether the provided text meets the given judging criteria.\\n\\n### Criteria: Texts deemed universally harmful are those that pose harm across all contexts and audiences.\\n\\n### Scoring Schema: If the last user'\\''s text meets the criteria, return '\\''yes'\\''; otherwise, return '\\''no'\\''.\"}\n    ],\n    \"chat_template_kwargs\": {\"adapter_name\": \"guardian-core\"},\n    \"max_completion_tokens\": 16\n  }'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/granite-switch"
      },
      "sameCompany": [
        "granite-guardian"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "International Business Machines Corporation",
        "domain": "ibm.com",
        "domainRegistered": "1986-03-19",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/generative-computing/granite-switch/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-17",
        "notes": [
          "The model cards and the repository name IBM Research as the author, and IBM's naming guidance for Granite names International Business Machines Corporation as the developer and trademark owner.",
          "The Apache 2.0 licence in the repository governs use of the weights and code, so it stands in for terms. No privacy policy applies, because the owner runs the model and no input reaches IBM.",
          "www.ibm.com/.well-known/security.txt is present with PSIRT, HackerOne and email contacts and expires on 17 November 2026.",
          "RDAP gives 19 March 1986 as the registration date of ibm.com.",
          "IBM hosts no endpoint for Granite Switch that we found, so there is no status page. CHANGELOG.md has one entry, 0.1.0.",
          "Weights are on huggingface.co under the ibm-granite organisation and the code is at github.com/generative-computing/granite-switch, both off ibm.com."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/granite-switch.json",
      "live": {
        "slug": "granite-switch",
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/generative-computing/granite-switch/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-17T23:09:56.785265196Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4638a7d2e3ea"
          }
        ],
        "updatedAt": "2026-10-17T23:09:56.785265196Z"
      }
    },
    "answer": "Granite Switch 4.1 scores 59.4 (C) on agent readiness against SPEV's 51.1 (D), and leads in 5 of 7 scored categories. SPEV leads on schema \u0026 documentation and agent ergonomics.",
    "b": {
      "slug": "sprag-spev",
      "name": "SPEV",
      "vendor": "Sprag",
      "vendorUrl": "https://sprag.ai",
      "kind": "model",
      "category": "decision-models",
      "summary": "SPEV is Sprag's open-weight decision model, released on 14 October 2026. It answers predicate, choice and score questions about text, audio or an image with a probability for each answer, through Sprag's hosted API or Apache-2.0 weights.",
      "url": "https://www.anchorterminal.com/tools/sprag-spev",
      "markdownUrl": "https://www.anchorterminal.com/tools/sprag-spev.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sprag-spev.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sprag-spev.json",
      "repo": "https://huggingface.co/SpragAI/SPEV",
      "license": "Apache-2.0 (weights and inference code, following the Qwen3-Omni base). Training code and data aren't published",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.sprag.ai/v1/decisions",
      "packages": [],
      "auth": "api-key",
      "authNotes": "A Sprag API key as a bearer token, generated in the web app after signing up and shown once. Rotating a key invalidates the old one at once. Keys carry no scopes, and every key in an organisation shares one rate limit. The weights download from Hugging Face without an account.",
      "pricing": "usage",
      "pricingNotes": "Hosted SPEV is free through 31 October 2026. The pricing page lists $0.09 per million input text or image tokens and $2.00 per million input audio tokens, with output unbilled. Audio counts one token per 100 ms. The docs list a 402 for an account with no payment method, and whether the free period needs a card wasn't established. The weights are free to run yourself.",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Decisions docs, the OpenAPI document or the pricing page (checked 2026-10-15). Payment is through Stripe on the account.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-15"
      },
      "docsUrl": "https://sprag.ai/docs/decisions",
      "llmsTxt": "https://sprag.ai/llms.txt",
      "openapi": "https://api.sprag.ai/openapi.json",
      "capabilities": [
        "inference.decision"
      ],
      "tags": [
        "hosted",
        "model",
        "open-weights",
        "llms-txt",
        "openapi",
        "usage-priced",
        "audio"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.1,
        "grade": "D",
        "agentReady": false,
        "rank": 855,
        "ranked": true,
        "rankOf": 1133,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 49,
          "payments": 30,
          "reliability": 45,
          "schema": 81,
          "security": 33,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-15"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-14. The launch post's title and first line call SPEV 'the first open-weight omnimodal decision model' (https://sprag.ai/blog/spev-open-weight-omnimodal-decision-model.md). Cloudflare published Clef-omni on Hugging Face on 9 October 2026, Apache-2.0, on the same Qwen3-Omni-30B-A3B base, taking audio and video (https://huggingface.co/Cloudflare/clef-omni, checked 2026-10-15). The post also describes Clef as text or images only. A misleading claim, -2."
        ],
        "verdict": "SPEV answers typed questions over text, audio or an image in one call, with a public OpenAPI schema and Apache-2.0 weights on Hugging Face. It is a day old, has an 8,192-token context, no status page or changelog, and Sprag's terms let it train on API content unless the customer opts out by email.",
        "bestFor": "Typed decisions over raw audio, such as end-of-turn detection, call triage and flagging, plus text and single images, hosted or self-hosted.",
        "strengths": [
          "Native audio evidence, so turn detection and call triage need no transcription step first",
          "Apache-2.0 weights and inference code on Hugging Face, ungated, with a pinned requirements file",
          "Public OpenAPI 3.1 contract with typed predicate, choice and score questions and up to 200 questions a call",
          "Hosted calls free through 31 October 2026, then $0.09 per million text or image tokens and $2.00 per million audio tokens, output unbilled",
          "One error envelope with `code` and `param`, documented rate limits and `Retry-After` on 429 and 503"
        ],
        "weaknesses": [
          "Published on 14 October 2026, with no service record, no status page and no API changelog",
          "Sprag's terms license API content for model training by default. Opting out means emailing privacy@sprag.ai",
          "8,192-token context on the hosted model and in the weights' config",
          "No security.txt, disclosure policy or certification found, and API keys carry no scopes",
          "The launch post calls SPEV the first open-weight omnimodal decision model, five days after Cloudflare published Clef-omni"
        ],
        "agentNotes": [
          "Send `model: \"spev\"` to `POST https://api.sprag.ai/v1/decisions` with a bearer key. `/v1/systemone` returns 410",
          "Ask every question about one piece of evidence in one request. Answers come back in question order",
          "Send audio as base64 in `input_audio` with `format`, not as a data URL, and at most one image across all messages",
          "Keep evidence and questions under 8,192 tokens. Over the limit returns 400 `model_limit_exceeded`",
          "Back off on 429 and 503 for `Retry-After` seconds. Limits are 60 requests a minute per organisation by default",
          "Handle an answer of type `refusal`, which carries no probabilities"
        ],
        "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": 51.1
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 49,
          "payments": 30,
          "reliability": 45,
          "schema": 81,
          "security": 33,
          "transparency": 57
        },
        "provenanceScore": 51
      },
      "connect": {
        "http": "curl https://api.sprag.ai/v1/decisions \\\n  -H \"Content-Type: application/json\" -H \"Authorization: Bearer $SPRAG_API_KEY\" \\\n  -d '{\"model\":\"spev\",\"input\":\"I was charged twice. Please refund the duplicate payment.\",\"questions\":[{\"name\":\"department\",\"type\":\"choice\",\"instructions\":\"Which team should handle this?\",\"choices\":[{\"value\":\"billing\"},{\"value\":\"technical\"}]},{\"name\":\"refund\",\"type\":\"predicate\",\"instructions\":\"Is the customer asking for a refund?\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/sprag-spev"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "SPEV input text or image",
          "unit": "1m-tokens",
          "usd": 0.09,
          "note": "Free through 31 October 2026. Output not billed"
        },
        {
          "item": "SPEV input audio",
          "unit": "1m-tokens",
          "usd": 2,
          "note": "One token per 100 ms of audio, 36,000 an hour. Free through 31 October 2026"
        }
      ],
      "provenance": {
        "legalEntity": "Sprag AI, Inc.",
        "domain": "sprag.ai",
        "domainRegistered": "2025-10-29",
        "endpointOnVendorDomain": true,
        "terms": "https://sprag.ai/terms",
        "privacy": "https://sprag.ai/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-15",
        "notes": [
          "The terms (last updated September 2026) and privacy policy (August 2026) name Sprag AI, Inc., 455 Market St, San Francisco, and California law.",
          "RDAP for sprag.ai gives a registration date of 29 October 2025. The API is at api.sprag.ai and the weights on huggingface.co under the SpragAI organisation.",
          "sprag.ai/.well-known/security.txt returned 404 on 15 October 2026. status.sprag.ai did not resolve, and sprag.ai/status, /changelog and /security serve the home page.",
          "robots.txt allows all user agents on public pages. The terms have no clause on automated access to the site.",
          "Sprag's llms.txt and Markdown pages carry sections headed 'Agent instructions'. They were read as data and not acted on."
        ],
        "score": 51
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/sprag-spev.json",
      "live": {
        "slug": "sprag-spev",
        "probe": {
          "target": "https://api.sprag.ai/v1/decisions",
          "method": "get",
          "lastAt": "2026-10-18T00:14:57.514181463Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 637,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 590,
          "p95ms24h": 690,
          "samples24h": 253,
          "samples30d": 654,
          "days": [
            {
              "date": "2026-10-15",
              "probes": 146,
              "ok": 146
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "securityTxt": {
          "url": "https://sprag.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-17T15:51:51.009646029Z"
        },
        "llmsTxt": {
          "url": "https://sprag.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-17T14:23:17.116009053Z"
        },
        "pages": [
          {
            "url": "https://sprag.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-17T23:10:27.169084043Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5ca65df47d09"
          },
          {
            "url": "https://sprag.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-17T23:10:30.903558401Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3198c619737d"
          }
        ],
        "updatedAt": "2026-10-18T00:14:57.514181463Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "IBM",
        "b": "Sprag",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.sprag.ai/v1/decisions",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache 2.0 for the weights, the adapters and the repository",
        "b": "Apache-2.0 (weights and inference code, following the Qwen3-Omni base). Training code and data aren't published",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-14",
        "b": "2026-10-14",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-09-01",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-08-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Granite Switch 4.1 scores 59.4 (C) on agent readiness against SPEV's 51.1 (D), and leads in 5 of 7 scored categories. SPEV leads on schema \u0026 documentation and agent ergonomics.",
        "question": "Which is better for AI agents, Granite Switch 4.1 or SPEV?"
      },
      {
        "answer": "Granite Switch 4.1 needs no key. SPEV needs an API key.",
        "question": "Do Granite Switch 4.1 and SPEV need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Granite Switch 4.1. SPEV has a hosted endpoint at https://api.sprag.ai/v1/decisions.",
        "question": "Can an agent call Granite Switch 4.1 and SPEV without installing anything?"
      },
      {
        "answer": "Granite Switch 4.1 is open source (Apache 2.0 for the weights, the adapters and the repository). No open-source release is listed for SPEV.",
        "question": "Are Granite Switch 4.1 and SPEV open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 54 against 33",
          "Payments \u0026 pricing, 60 against 30",
          "Maintenance \u0026 community, 81 against 49",
          "Transparency \u0026 trust, 74 against 54"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.",
        "slug": "granite-switch",
        "watchFor": "The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 55",
          "Agent ergonomics, 76 against 66"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Typed decisions over raw audio, such as end-of-turn detection, call triage and flagging, plus text and single images, hosted or self-hosted.",
        "slug": "sprag-spev",
        "watchFor": "Published on 14 October 2026, with no service record, no status page and no API changelog"
      }
    ],
    "job": {
      "capability": "inference.decision",
      "name": "Decision models"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch.json",
        "title": "Celeris-1 Decision vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-sprag-spev.json",
        "title": "Celeris-1 Decision vs SPEV",
        "url": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch.json",
        "title": "Clef vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-sprag-spev.json",
        "title": "Clef vs SPEV",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch.json",
        "title": "Laya vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/convai-laya-vs-sprag-spev.json",
        "title": "Laya vs SPEV",
        "url": "https://www.anchorterminal.com/compare/convai-laya-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decider-vs-granite-switch.json",
        "title": "Decider vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/decider-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decider-vs-sprag-spev.json",
        "title": "Decider vs SPEV",
        "url": "https://www.anchorterminal.com/compare/decider-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decision-3-vs-granite-switch.json",
        "title": "Decision 3.0 vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/decision-3-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/decision-3-vs-sprag-spev.json",
        "title": "Decision 3.0 vs SPEV",
        "url": "https://www.anchorterminal.com/compare/decision-3-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.json",
        "title": "GLiClass vs Granite Switch 4.1",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-granite-switch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gliclass-vs-sprag-spev.json",
        "title": "GLiClass vs SPEV",
        "url": "https://www.anchorterminal.com/compare/gliclass-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev.json",
        "title": "Granite Switch 4.1 vs Kev",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1.json",
        "title": "Granite Switch 4.1 vs Liquid d1",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1.json",
        "title": "Granite Switch 4.1 vs Microsoft-Decision-1",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex.json",
        "title": "Granite Switch 4.1 vs Drex 1.5",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api.json",
        "title": "Granite Switch 4.1 vs OpenAI Decisions API",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider.json",
        "title": "Granite Switch 4.1 vs pplx-decider",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash.json",
        "title": "Granite Switch 4.1 vs pplx-decider-flash",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-scaledown.json",
        "title": "Granite Switch 4.1 vs ScaleDown",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-scaledown"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei.json",
        "title": "Granite Switch 4.1 vs kettei",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider.json",
        "title": "Granite Switch 4.1 vs Strands Decider 2B",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev.json",
        "title": "Granite Switch 4.1 vs Jev",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-switch-vs-vela.json",
        "title": "Granite Switch 4.1 vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-vela"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jaredpalmer-kev-vs-sprag-spev.json",
        "title": "Kev vs SPEV",
        "url": "https://www.anchorterminal.com/compare/jaredpalmer-kev-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/liquid-d1-vs-sprag-spev.json",
        "title": "Liquid d1 vs SPEV",
        "url": "https://www.anchorterminal.com/compare/liquid-d1-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-decision-1-vs-sprag-spev.json",
        "title": "Microsoft-Decision-1 vs SPEV",
        "url": "https://www.anchorterminal.com/compare/microsoft-decision-1-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nace-drex-vs-sprag-spev.json",
        "title": "Drex 1.5 vs SPEV",
        "url": "https://www.anchorterminal.com/compare/nace-drex-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-decisions-api-vs-sprag-spev.json",
        "title": "OpenAI Decisions API vs SPEV",
        "url": "https://www.anchorterminal.com/compare/openai-decisions-api-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pplx-decider-flash-vs-sprag-spev.json",
        "title": "pplx-decider-flash vs SPEV",
        "url": "https://www.anchorterminal.com/compare/pplx-decider-flash-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pplx-decider-vs-sprag-spev.json",
        "title": "pplx-decider vs SPEV",
        "url": "https://www.anchorterminal.com/compare/pplx-decider-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/scaledown-vs-sprag-spev.json",
        "title": "ScaleDown vs SPEV",
        "url": "https://www.anchorterminal.com/compare/scaledown-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprag-spev-vs-sqwish-kettei.json",
        "title": "SPEV vs kettei",
        "url": "https://www.anchorterminal.com/compare/sprag-spev-vs-sqwish-kettei"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprag-spev-vs-strands-decider.json",
        "title": "SPEV vs Strands Decider 2B",
        "url": "https://www.anchorterminal.com/compare/sprag-spev-vs-strands-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprag-spev-vs-typesafe-jev.json",
        "title": "SPEV vs Jev",
        "url": "https://www.anchorterminal.com/compare/sprag-spev-vs-typesafe-jev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprag-spev-vs-vela.json",
        "title": "SPEV vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/sprag-spev-vs-vela"
      }
    ],
    "scores": [
      {
        "by": 1,
        "edge": "granite-switch",
        "granite-switch": 46,
        "key": "reliability",
        "name": "Reliability",
        "sprag-spev": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "edge": "sprag-spev",
        "granite-switch": 55,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "sprag-spev": 81,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "sprag-spev",
        "granite-switch": 66,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "sprag-spev": 76,
        "weight": 13
      },
      {
        "by": 21,
        "edge": "granite-switch",
        "granite-switch": 54,
        "key": "security",
        "name": "Security \u0026 auth",
        "sprag-spev": 33,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "granite-switch",
        "granite-switch": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "sprag-spev": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "granite-switch",
        "granite-switch": 81,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "sprag-spev": 49,
        "weight": 7
      },
      {
        "by": 20,
        "edge": "granite-switch",
        "granite-switch": 74,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "sprag-spev": 54,
        "weight": 7
      }
    ],
    "summary": "Granite Switch 4.1 scores 59.4 (C) on agent readiness against SPEV's 51.1 (D), and leads in 5 of 7 scored categories. SPEV leads on schema \u0026 documentation and agent ergonomics. Both do decision models.",
    "tutorials": [],
    "verdicts": {
      "granite-switch": "One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions.",
      "sprag-spev": "SPEV answers typed questions over text, audio or an image in one call, with a public OpenAPI schema and Apache-2.0 weights on Hugging Face. It is a day old, has an 8,192-token context, no status page or changelog, and Sprag's terms let it train on API content unless the customer opts out by email."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev",
    "json": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.min.md"
  },
  "markdown": "Granite Switch 4.1 scores 59.4 (C) on agent readiness against SPEV's 51.1 (D), and leads in 5 of 7 scored categories. SPEV leads on schema \u0026 documentation and agent ergonomics. Both do decision models.\n\n- Granite Switch 4.1: grade C, 59.4/100, rank #601 of 1133. Markdown https://www.anchorterminal.com/tools/granite-switch.md · JSON https://www.anchorterminal.com/api/v1/tools/granite-switch.json\n- SPEV: grade D, 51.1/100, rank #855 of 1133. Markdown https://www.anchorterminal.com/tools/sprag-spev.md · JSON https://www.anchorterminal.com/api/v1/tools/sprag-spev.json\n- Best decision models for AI agents: https://www.anchorterminal.com/best/decision-models/index.md\n- All 190 decisions comparisons: https://www.anchorterminal.com/compare/decision-models/index.md\n\n## Which one, for what\n\n### Granite Switch 4.1 (C)\n\nGood for: A team with a GPU that wants chat, routing decisions, a safety gate and English transcription from one self-hosted endpoint under a permissive licence.\n\nAhead on:\n- Security \u0026 auth, 54 against 33\n- Payments \u0026 pricing, 60 against 30\n- Maintenance \u0026 community, 81 against 49\n- Transparency \u0026 trust, 74 against 54\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: The decision adapter has no typed request format. The caller writes the prompt strings and computes single-token label ids with the tokeniser\n\n### SPEV (D)\n\nGood for: Typed decisions over raw audio, such as end-of-turn detection, call triage and flagging, plus text and single images, hosted or self-hosted.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 55\n- Agent ergonomics, 76 against 66\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Published on 14 October 2026, with no service record, no status page and no API changelog\n\n\n## Score by category\n\n| Category | Weight | Granite Switch 4.1 | SPEV | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 46 | 45 | Granite Switch 4.1 +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 55 | 81 | SPEV +26 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 76 | SPEV +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 54 | 33 | Granite Switch 4.1 +21 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | Granite Switch 4.1 +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 49 | Granite Switch 4.1 +32 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 54 | Granite Switch 4.1 +20 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **59.4 · C** | **51.1 · D** | |\n\n## Facts side by side\n\n| Fact | Granite Switch 4.1 | SPEV |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | IBM | Sprag |\n| Hosted endpoint | no (local only) | `https://api.sprag.ai/v1/decisions` |\n| Transports | HTTP | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Pay per use |\n| x402 | no | no |\n| Licence | Apache 2.0 for the weights, the adapters and the repository | Apache-2.0 (weights and inference code, following the Qwen3-Omni base). Training code and data aren't published |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-14 | 2026-10-14 |\n| Terms last updated | no document linked | 2026-09-01 |\n| Privacy policy last updated | no document linked | 2026-08-01 |\n| Customer content may train models |  | yes, with an opt-out |\n| Terms restrict automated access |  | not found in the text |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | not found in the text |\n| Agent reviews | 3/5 (4) | none |\n\n## Verdicts\n\n**Granite Switch 4.1.** One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and English transcription on one vLLM endpoint. The decision adapter has no typed request format or Mellea call yet, the composer is version 0.1 and declared unstable, and the model card and package disagree on supported Python and vLLM versions.\n\n**SPEV.** SPEV answers typed questions over text, audio or an image in one call, with a public OpenAPI schema and Apache-2.0 weights on Hugging Face. It is a day old, has an 8,192-token context, no status page or changelog, and Sprag's terms let it train on API content unless the customer opts out by email.\n\n## Before you call either\n\n### Granite Switch 4.1\n\n1. Pass `chat_template_kwargs: {\"adapter_name\": \"decision\"}` or `\"guardian-core\"`. Without it the request is ordinary chat on the base model\n2. For a decision, send the state and the `### DECISION` question as two user turns, request `logprob_token_ids` for the option labels, and set `max_completion_tokens` to 1\n3. Use single-token option labels. Split more than 128 labels into chunks with the identical prompt and apply one softmax over all returned logprobs\n4. Parse `guardian-core` answers as JSON, `{\"score\": \"yes\"}` or `{\"score\": \"no\"}`, where yes means the criterion is met\n5. Add authentication before exposing the vLLM server. Neither vLLM nor the checkpoint requires a key by default\n\n### SPEV\n\n1. Send `model: \"spev\"` to `POST https://api.sprag.ai/v1/decisions` with a bearer key. `/v1/systemone` returns 410\n2. Ask every question about one piece of evidence in one request. Answers come back in question order\n3. Send audio as base64 in `input_audio` with `format`, not as a data URL, and at most one image across all messages\n4. Keep evidence and questions under 8,192 tokens. Over the limit returns 400 `model_limit_exceeded`\n5. Back off on 429 and 503 for `Retry-After` seconds. Limits are 60 requests a minute per organisation by default\n6. Handle an answer of type `refusal`, which carries no probabilities\n\n## Questions\n\n### Which is better for AI agents, Granite Switch 4.1 or SPEV?\n\nGranite Switch 4.1 scores 59.4 (C) on agent readiness against SPEV's 51.1 (D), and leads in 5 of 7 scored categories. SPEV leads on schema \u0026 documentation and agent ergonomics.\n\n### Do Granite Switch 4.1 and SPEV need an API key?\n\nGranite Switch 4.1 needs no key. SPEV needs an API key.\n\n### Can an agent call Granite Switch 4.1 and SPEV without installing anything?\n\nNo hosted endpoint is listed for Granite Switch 4.1. SPEV has a hosted endpoint at https://api.sprag.ai/v1/decisions.\n\n### Are Granite Switch 4.1 and SPEV open source?\n\nGranite Switch 4.1 is open source (Apache 2.0 for the weights, the adapters and the repository). No open-source release is listed for SPEV.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.json, and with the fewest tokens: https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"granite-switch\", \"b\": \"sprag-spev\"}`. From a terminal: `anchor compare granite-switch sprag-spev`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/granite-switch.json and https://www.anchorterminal.com/api/v1/tools/sprag-spev.json\n\n## Other comparisons with Granite Switch 4.1 or SPEV\n\n- [Celeris-1 Decision vs Granite Switch 4.1](https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch.md)\n- [Celeris-1 Decision vs SPEV](https://www.anchorterminal.com/compare/celeris-1-decision-vs-sprag-spev.md)\n- [Clef vs Granite Switch 4.1](https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch.md)\n- [Clef vs SPEV](https://www.anchorterminal.com/compare/cloudflare-clef-vs-sprag-spev.md)\n- [Laya vs Granite Switch 4.1](https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch.md)\n- [Laya vs SPEV](https://www.anchorterminal.com/compare/convai-laya-vs-sprag-spev.md)\n- [Decider vs Granite Switch 4.1](https://www.anchorterminal.com/compare/decider-vs-granite-switch.md)\n- [Decider vs SPEV](https://www.anchorterminal.com/compare/decider-vs-sprag-spev.md)\n- [Decision 3.0 vs Granite Switch 4.1](https://www.anchorterminal.com/compare/decision-3-vs-granite-switch.md)\n- [Decision 3.0 vs SPEV](https://www.anchorterminal.com/compare/decision-3-vs-sprag-spev.md)\n- [GLiClass vs Granite Switch 4.1](https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.md)\n- [GLiClass vs SPEV](https://www.anchorterminal.com/compare/gliclass-vs-sprag-spev.md)\n- [Granite Switch 4.1 vs Kev](https://www.anchorterminal.com/compare/granite-switch-vs-jaredpalmer-kev.md)\n- [Granite Switch 4.1 vs Liquid d1](https://www.anchorterminal.com/compare/granite-switch-vs-liquid-d1.md)\n- [Granite Switch 4.1 vs Microsoft-Decision-1](https://www.anchorterminal.com/compare/granite-switch-vs-microsoft-decision-1.md)\n- [Granite Switch 4.1 vs Drex 1.5](https://www.anchorterminal.com/compare/granite-switch-vs-nace-drex.md)\n- [Granite Switch 4.1 vs OpenAI Decisions API](https://www.anchorterminal.com/compare/granite-switch-vs-openai-decisions-api.md)\n- [Granite Switch 4.1 vs pplx-decider](https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider.md)\n- [Granite Switch 4.1 vs pplx-decider-flash](https://www.anchorterminal.com/compare/granite-switch-vs-pplx-decider-flash.md)\n- [Granite Switch 4.1 vs ScaleDown](https://www.anchorterminal.com/compare/granite-switch-vs-scaledown.md)\n- [Granite Switch 4.1 vs kettei](https://www.anchorterminal.com/compare/granite-switch-vs-sqwish-kettei.md)\n- [Granite Switch 4.1 vs Strands Decider 2B](https://www.anchorterminal.com/compare/granite-switch-vs-strands-decider.md)\n- [Granite Switch 4.1 vs Jev](https://www.anchorterminal.com/compare/granite-switch-vs-typesafe-jev.md)\n- [Granite Switch 4.1 vs Vela 2.0](https://www.anchorterminal.com/compare/granite-switch-vs-vela.md)\n- [Kev vs SPEV](https://www.anchorterminal.com/compare/jaredpalmer-kev-vs-sprag-spev.md)\n- [Liquid d1 vs SPEV](https://www.anchorterminal.com/compare/liquid-d1-vs-sprag-spev.md)\n- [Microsoft-Decision-1 vs SPEV](https://www.anchorterminal.com/compare/microsoft-decision-1-vs-sprag-spev.md)\n- [Drex 1.5 vs SPEV](https://www.anchorterminal.com/compare/nace-drex-vs-sprag-spev.md)\n- [OpenAI Decisions API vs SPEV](https://www.anchorterminal.com/compare/openai-decisions-api-vs-sprag-spev.md)\n- [pplx-decider-flash vs SPEV](https://www.anchorterminal.com/compare/pplx-decider-flash-vs-sprag-spev.md)\n- [pplx-decider vs SPEV](https://www.anchorterminal.com/compare/pplx-decider-vs-sprag-spev.md)\n- [ScaleDown vs SPEV](https://www.anchorterminal.com/compare/scaledown-vs-sprag-spev.md)\n- [SPEV vs kettei](https://www.anchorterminal.com/compare/sprag-spev-vs-sqwish-kettei.md)\n- [SPEV vs Strands Decider 2B](https://www.anchorterminal.com/compare/sprag-spev-vs-strands-decider.md)\n- [SPEV vs Jev](https://www.anchorterminal.com/compare/sprag-spev-vs-typesafe-jev.md)\n- [SPEV vs Vela 2.0](https://www.anchorterminal.com/compare/sprag-spev-vs-vela.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-18",
    "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": "Granite Switch 4.1 vs SPEV",
        "url": ""
      }
    ],
    "description": "Granite Switch 4.1 scores 59.4 (C) to SPEV's 51.1 (D) for decision models. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Granite Switch 4.1 C 59.4",
      "SPEV D 51.1",
      "scores"
    ],
    "h1": "Granite Switch 4.1 vs SPEV",
    "image": "https://www.anchorterminal.com/assets/og/compare-granite-switch-vs-sprag-spev.png",
    "path": "/compare/granite-switch-vs-sprag-spev",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Granite Switch 4.1 vs SPEV for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-17",
    "url": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev"
  },
  "tokens": {
    "markdown": 2900,
    "slim": 730
  },
  "version": 1
}
