{
  "data": {
    "a": {
      "slug": "gemini-decision-1",
      "name": "Gemini Decision 1",
      "vendor": "Google",
      "vendorUrl": "https://ai.google.dev",
      "kind": "model",
      "category": "decision-models",
      "summary": "Gemini Decision 1 is Google's model for closed-set decisions. It scores yes/no, multiple-choice and rubric questions in one pass and returns probabilities, not text, over text, images, audio, video and PDFs, at $0.10 per million input tokens.",
      "url": "https://www.anchorterminal.com/tools/gemini-decision-1",
      "markdownUrl": "https://www.anchorterminal.com/tools/gemini-decision-1.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gemini-decision-1.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gemini-decision-1.json",
      "dns": "gemini-decision-1.grade.anchorterminal.com",
      "license": "Closed model, used through the Gemini API's Decisions endpoint under Google's terms. The google-genai SDK that calls it is Apache-2.0",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "api-key",
      "authNotes": "An `x-goog-api-key` created in Google AI Studio, the same key as the rest of the Gemini API. The free tier needs no billing; paid use needs billing on the Cloud project, per the Gemini API listing.",
      "pricing": "usage",
      "pricingNotes": "$0.10 per million input tokens on the paid tier for text, images, video, audio and PDFs, and no output charge, since the model generates no output tokens. Free of charge on the free tier, where content is used to improve Google's products. Shared input is billed once per request; each question adds its own instruction and criteria tokens. No context caching, Batch API, Flex or Priority. Per the pricing page, 11 November 2026.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in Google's announcement of 11 November 2026 or the SDK. Paid use is billed to a Cloud project, per the Gemini API listing.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-11"
      },
      "docsUrl": "https://aistudio.google.com/docs/decisions-api",
      "llmsTxt": "https://ai.google.dev/gemini-api/docs/llms.txt",
      "capabilities": [
        "inference.decision"
      ],
      "tags": [
        "official",
        "hosted",
        "model",
        "multimodal",
        "usage-priced",
        "free-tier",
        "closed-source",
        "llms-txt",
        "new"
      ],
      "lastRelease": "2026-11-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.2,
        "grade": "B",
        "agentReady": false,
        "rank": 630,
        "ranked": true,
        "rankOf": 1524,
        "categoryRank": 13,
        "methodology": "0.8",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 79,
          "payments": 60,
          "reliability": 40,
          "schema": 80,
          "security": 45,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-11"
        },
        "negative": 0,
        "verdict": "Google's decision model scores up to 1,000 yes/no, choice and rubric questions per request over a 262,144-token multimodal input, at $0.10 per million input tokens, no output charge and a free tier. It is on a v1beta endpoint with no caching or batch discount, so repeated input is paid in full, and every speed and accuracy figure is Google's.",
        "bestFor": "Routing, tool selection, policy checks and rubric grading over mixed media, where many fixed questions share one input and generated text isn't needed.",
        "strengths": [
          "Price published without a login: $0.10 per million input tokens and $0 output, with the shared input billed once per request",
          "A no-cost tier in Google AI Studio, so an agent's operator can start with a key and no card",
          "Up to 1,000 questions in one request over text, images, audio, video and PDFs, within 262,144 tokens",
          "Typed request and response models in google-genai 3.2.0 (Apache-2.0), with stated ranges for options, levels and probabilities",
          "Every answer carries a confidence from 0 to 1, so uncertain cases can go to a larger model or a person"
        ],
        "weaknesses": [
          "No context caching, Batch API, Flex or Priority: the guide says repeated input across requests counts in full",
          "Launch stage not stated, and the endpoint is on v1beta, which Google says may change",
          "Free-tier requests are used to improve Google's products, per the pricing page",
          "Google's latency figures cover contexts up to 16K tokens, not the 262,144-token maximum",
          "The public rate-limit page has no row for this model; limits are shown only in AI Studio"
        ],
        "agentNotes": [
          "Call POST /v1beta/decisions or `client.decisions.create` (SDK 3.2 or later), not generateContent or the Interactions API",
          "Put every question about the same input in one request: there's no caching, and repeated input is billed in full",
          "Pass media inline (100 MB, 50 MB for PDFs), as a Files API URI or as an HTTPS URL up to 15 MB; YouTube and gs:// links are refused",
          "Branch on the HTTP 400 error code (safety, prohibited_content, blocklist, image_safety, content_blocked) before retrying",
          "Keep question keys to [A-Za-z0-9_-] and 64 characters, and options or levels between 2 and 255"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.8",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.2
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 79,
          "payments": 60,
          "reliability": 40,
          "schema": 80,
          "security": 45,
          "transparency": 50
        },
        "provenanceScore": 89,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-11",
            "maintenance": "2026-11-11",
            "payments": "2026-11-11",
            "reliability": "2026-11-11",
            "schema": "2026-11-11",
            "security": "2026-11-11",
            "transparency": "2026-11-11"
          },
          "last": "2026-11-11",
          "lastMoved": "2026-11-13",
          "oldest": "2026-11-11",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST \"https://generativelanguage.googleapis.com/v1beta/decisions\" \\\n  -H \"x-goog-api-key: $GEMINI_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"model\":\"models/gemini-decision-1\",\"input\":\"The blue mug I ordered arrived cracked.\",\"questions\":{\"damaged\":{\"type\":\"noul\",\"instructions\":\"Did the item arrive damaged?\"},\"team\":{\"type\":\"choice\",\"instructions\":\"Which team handles this?\",\"criteria\":{\"returns\":\"Damaged or wrong items\",\"billing\":\"Charges and refunds\"}}}}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.decision",
        "tool": "https://letme.dev/gemini-decision-1"
      },
      "sameCompany": [
        "gemini-4-carbon",
        "gemini-4-hydrogen",
        "vertex-ai",
        "embeddinggemma-2",
        "embeddinggemma-300m",
        "gemini-embedding",
        "vertex-ai-tuning",
        "cloud-run-gpus",
        "google-model-armor",
        "shieldgemma",
        "google-imagen",
        "gemini-omni-1-2-flash",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "google-cloud-tts",
        "gemini-live",
        "google-adk",
        "google-memory-bank",
        "google-secret-manager",
        "google-cloud-document-ai",
        "google-weather-api",
        "chrome-devtools-mcp",
        "puppeteer",
        "mcp-toolbox-databases",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "firebase-cloud-messaging",
        "google-cloud-storage",
        "google-drive-api",
        "gemini-enterprise",
        "antigravity-cli",
        "gemini-cli",
        "harness2",
        "jules",
        "gemini-spark",
        "google-search-console",
        "google-ads-api",
        "google-forms",
        "google-sheets-api",
        "gmail-api",
        "google-people-api",
        "diffusiongemma-26b-a4b-it",
        "gemma-4-12b-it",
        "gemma-4-26b-a4b-it",
        "gemma-4-31b-it",
        "gemma-4-e2b-it",
        "gemma-4-e4b-it",
        "virustotal"
      ],
      "sameModel": [
        "gemini-api"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "Gemini Decision 1 input",
          "unit": "1m-tokens",
          "usd": 0.1,
          "note": "Text, image, audio, video and PDF. Shared input billed once per request"
        },
        {
          "item": "Gemini Decision 1 output",
          "unit": "1m-tokens",
          "usd": 0,
          "note": "No output tokens are generated"
        }
      ],
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "domainNote": "The endpoint is on googleapis.com, Google's API domain. google.com was registered in 1997.",
        "endpointOnVendorDomain": true,
        "terms": "https://ai.google.dev/gemini-api/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "https://aistudio.google.com/status",
        "changelog": "https://ai.google.dev/gemini-api/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-11-11",
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gemini-decision-1.json",
      "live": {
        "slug": "gemini-decision-1",
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-11-13T16:15:44.621683591Z"
        },
        "llmsTxt": {
          "url": "https://ai.google.dev/gemini-api/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-13T15:54:24.506680546Z"
        },
        "updatedAt": "2026-11-13T16:15:44.621683591Z"
      }
    },
    "answer": "Gemini Decision 1 and Granite Switch 4.1 score within a point of each other on agent readiness, 63.2 (B) and 62.5 (B). Granite Switch 4.1 leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "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 a 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",
      "dns": "granite-switch.grade.anchorterminal.com",
      "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-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.5,
        "grade": "B",
        "agentReady": false,
        "rank": 660,
        "ranked": true,
        "rankOf": 1524,
        "categoryRank": 14,
        "methodology": "0.8",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 68,
          "payments": 90,
          "reliability": 46,
          "schema": 57,
          "security": 54,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and transcription in seven languages on one vLLM endpoint. Revision 4.1.1 (27 October 2026) updated the decision weights, with a tag that pins 4.1. The decision adapter still has no typed request format or Mellea call, and the composer is version 0.1.",
        "bestFor": "A team with a GPU that wants chat, routing decisions, a safety gate and transcription in seven languages 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",
          "Revision 4.1.1 replaced 4.1 with a dated What's New note, and a Hub tag keeps 4.1 loadable",
          "IBM publishes signed GGUF builds of the 8B and 30B, from 2-bit to BF16, since 22 October 2026"
        ],
        "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 code repository has no tags",
          "The 4.1.1 cards name a `granite-switch-4.1.1-8b` tag that the Hub's tag list doesn't have. Only the 4.1 tags exist",
          "The speech encoder isn't trained jointly with the model, so a mistranscription can change an adapter's answer, 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",
          "Pin `--revision granite-switch-4.1-8b` (or `-30b`) to keep the 4.1 decision weights. main now serves 4.1.1",
          "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": "B",
            "methodology": "0.8",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.5
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 68,
          "payments": 90,
          "reliability": 46,
          "schema": 57,
          "security": 54,
          "transparency": 64
        },
        "provenanceScore": 88,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-13",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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-embedding-small-english-r2",
        "granite-guardian",
        "granite-speech-5-0-2b",
        "ibm-watson-stt",
        "granite-4-2-30b",
        "granite-4-2-3b",
        "granite-4-2-8b"
      ],
      "family": {
        "lab": "IBM (Granite)",
        "family": "Granite Switch",
        "url": "https://www.anchorterminal.com/open-weights/#ibm",
        "others": [
          {
            "name": "granite-switch-4.1-8b",
            "url": "https://huggingface.co/ibm-granite/granite-switch-4.1-8b",
            "params": "8B (Hub safetensors count 8.78B)",
            "listing": "https://www.anchorterminal.com/tools/granite-switch"
          },
          {
            "name": "granite-switch-4.1-8b-preview",
            "url": "https://huggingface.co/ibm-granite/granite-switch-4.1-8b-preview",
            "params": "8B (Hub safetensors count 9.57B)"
          },
          {
            "name": "granite-switch-4.1-3b-preview",
            "url": "https://huggingface.co/ibm-granite/granite-switch-4.1-3b-preview",
            "params": "3B (Hub safetensors count 4.15B)"
          },
          {
            "name": "granite-switch-4.1-30b-preview",
            "url": "https://huggingface.co/ibm-granite/granite-switch-4.1-30b-preview",
            "params": "30B (Hub safetensors count 32.24B)"
          }
        ],
        "olderCount": 64
      },
      "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-11-04",
        "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 4 December 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": 88
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/granite-switch.json",
      "live": {
        "slug": "granite-switch",
        "versions": [
          {
            "registry": "pypi",
            "name": "granite-switch",
            "version": "0.1.1",
            "released": "2026-10-15",
            "seenAt": "2026-11-13T08:40:06.338711537Z"
          }
        ],
        "githubStars": 127,
        "pypiWeekly": 467,
        "securityTxt": {
          "url": "https://ibm.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-13T00:00:00+00:00",
          "checkedAt": "2026-11-13T16:16:44.19783031Z"
        },
        "domain": {
          "domain": "ibm.com",
          "registered": "1986-03-19",
          "source": "https://rdap.verisign.com/com/v1/domain/ibm.com",
          "checkedAt": "2026-11-08T15:04:54.376665564Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/generative-computing/granite-switch/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-13T18:31:43.139765562Z",
            "changedAt": "2026-11-11T17:12:20.488127691Z",
            "fingerprint": "388c8a042d8f"
          }
        ],
        "github": {
          "repo": "generative-computing/granite-switch",
          "checkedAt": "2026-11-09T10:25:43.582903243Z",
          "stars": 120,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-09T08:29:22Z",
          "openIssues": 29,
          "openPRs": 17,
          "issuesOpened90d": 16,
          "issuesClosed90d": 3,
          "prsMerged90d": 16,
          "ci": {
            "branch": "main",
            "runs": 17,
            "success": 16,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-03T16:14:52Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 18,
            "medianDays": 5.8
          }
        },
        "updatedAt": "2026-11-13T18:31:43.139765562Z"
      }
    },
    "edges": [
      {
        "by": 30,
        "category": "payments",
        "leads": "granite-switch",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. No machine payment protocol (0). The pricing page lists $0.10 per million input tokens on the paid tier for every modality and no output charge, without a login (20). Free of charge on the free tier (20). A Google account and an AI Studio key come first (0). 0 + 20 + 20 + 0 = 40. Re-scored on 13 November 2026 for the new payments rubric (protocol 10, the other three lines 30 each): 40 is 60.",
          "b": "Self-hosted rule. Nothing to buy, and the Apache 2.0 licence allows commercial use at no charge (20). Free to run with no card (20). The weights are not gated, so an agent can fetch and run them with no sign-up (20). No payment protocol (0). IBM hosts no endpoint for Granite Switch that we found, and Hugging Face lists no inference provider for it. Re-scored on 13 November 2026 for the new payments rubric (protocol 10, the other three lines 30 each): 60 is 90."
        },
        "scores": {
          "a": 60,
          "b": 90
        }
      },
      {
        "by": 23,
        "category": "schema",
        "leads": "gemini-decision-1",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. No published machine-readable contract for the Decisions endpoint; the request and response types are generated and typed in google-genai 3.2.0, Apache-2.0 (10 of 25). llms.txt with Markdown twins on the platform (10). The guide and model page say what the endpoint is for and list what it doesn't do (no caching, Batch, Flex, Priority, function calling, structured outputs or text generation; no YouTube or gs:// sources; history only as text) (18 of 20). Fields carry stated rules: question keys match [A-Za-z0-9_-]+ up to 64 characters, 1 to 1,000 questions, 2 to 255 options or levels, option keys 1 to 128 characters, P(true) between 0.01 and 0.99, nesting to 100 levels (14 of 15). Python, JavaScript and REST examples, and errors documented as HTTP 400 with codes safety, prohibited_content, blocklist, image_safety and content_blocked (13 of 15). Dated SDK changelog and the platform's dated changelog (15). 10 + 10 + 18 + 14 + 13 + 15 = 80.",
          "b": "Read for a model the owner serves. The route is vLLM's OpenAI chat-completions API, and the adapter contract is the chat template, `adapter_index.json` and one `io.yaml` per adapter. There is no specification file of its own (10 of 25). We found no llms.txt. The model cards, BUILD.md, the adapter card and the repository docs are Markdown on Hugging Face and GitHub (5 of 10). The card says what each adapter does, that decision probabilities are a prior and not a certified classification outside trained domains, that the guardian adapter is no substitute for application testing, and the speech limits (16 of 20). A decision request is free-form prompt text with token ids the caller computes, and the guardian criterion is free text. The adapter card defines choice, noul and score types, but nothing on the endpoint enforces them (6 of 15). Python and curl examples for both adapters and audio, a chunking recipe for wide questions, and two documented HTTP 400 cases (11 of 15). Versioned model names, and since 27 October a dated What's New section in each card with a revision table and a Hub tag that pins 4.1 (`granite-switch-4.1-8b`, `granite-switch-4.1-30b`). The package changelog still has one entry, and the card names a `granite-switch-4.1.1-8b` tag that the Hub's tag list doesn't have (9 of 15, 7 on 17 October). 10 + 5 + 16 + 6 + 11 + 9 = 57."
        },
        "scores": {
          "a": 80,
          "b": 57
        }
      },
      {
        "by": 19,
        "category": "ergonomics",
        "leads": "gemini-decision-1",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Read on the tool lines, as the other decision-model listings are. Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. Answers are probabilities only, and the shared input is billed once across up to 1,000 questions (25 of 25). Limits are written down: 262,144 tokens shared by the input and all questions, 1,000 questions, 2 to 255 options, inline data to 100 MB (50 MB for PDFs), 15 MB per external URL (20 of 20). Errors return HTTP 400 with a named code an agent can branch on, plus the platform's backoff advice (15 of 20). SDK retries and backoff guidance, no idempotency key; nothing is written, so a repeat only costs input again (10 of 20). Three required fields, SDK 3.2 or later in Python and JavaScript, and REST (15 of 15). 25 + 20 + 15 + 10 + 15 = 85.",
          "b": "Read as an endpoint an agent calls for a decision, as with Vela and Decision 3.0. A decision returns one token and its label logprobs, a guardian check up to 16 tokens, and the state turn can share vLLM's prefix cache with chat. Context is 131,072 tokens (21 of 25). The caller picks the adapter per request, the options and the label ids. More than 128 options need one request per 128 (13 of 20). Errors are vLLM's, with the 128-id limit and the audio prompt-length error documented. A guardian answer is JSON in text with no stated handling for a malformed reply (8 of 20). Requests are stateless and the examples set temperature 0, so a decision can be repeated safely (16 of 20). The OpenAI SDK works, and Mellea wraps the guardian adapter, but the decision adapter has no Mellea call yet, label ids need the tokeniser, and vLLM needs a GPU (8 of 15)."
        },
        "scores": {
          "a": 85,
          "b": 66
        }
      },
      {
        "by": 11,
        "category": "maintenance",
        "leads": "gemini-decision-1",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. Released on 11 November 2026, the day of this check (30). Deprecations with earliest dates and no stated minimum notice (4 of 12). Shutdowns in the last 90 days kept to their table (4 of 8). Dated changelogs: google-genai 3.2.0's entry adds the Decisions API; the platform changelog wasn't re-read today (11 of 15). SDK replies not sampled (5 of 10). google-genai 3.2.0 tagged the same day with `client.decisions.create`; the JavaScript SDK is per Google's post (15). Runtimes stated on the platform (10). 30 + 4 + 4 + 11 + 5 + 15 + 10 = 79. The model is hours old, so these lines are the platform's habits more than this model's record.",
          "b": "Read as a model, for deprecation notice and model churn rather than release counts, on the lines used for Granite Guardian, Decider, Kev and Strands Decider (recency 30, deprecation 12, churn 8, responsiveness 25, packages 15, health 10). The 17 October note used the tool lines. Revision 4.1.1 of the 8B and 30B checkpoints, with updated decision weights and speech input in seven languages, was published on 27 October 2026, 8 days before the check (30). No deprecation policy. 4.1.1 replaced 4.1 on main with a dated What's New note and a Hub tag that pins 4.1, while the preview repositories were rebuilt in place on 3 May and 15 October 2026 (5 of 12, level with Decider and Granite Guardian). Previews on 1 May, 4.1 on 14 October and 4.1.1 on 27 October, two replacements of main in 13 days with the earlier one still loadable by tag (4 of 8, level with Decider and Strands Decider). The clone's 200 newest commits come from 19 authors, with pull requests numbered to #154 and merged within days, and GitHub issue reply times couldn't be read. On the Hub, IBM merged its own pull requests and answered one of four questions (30B thread 5, six minutes after it was opened on 31 October), while the threads of 18 October (8B), 26 October (30B GGUF) and 2 November (30B) had no reply on 4 November, counted by author and date only (10 of 25). An official Python package with a vLLM plug-in, IBM's own GGUF builds of the 8B and 30B since 22 October (made from 4.1, before 4.1.1), and Mellea for the guardian adapter. The decision adapter still has no Mellea call, and whether llama.cpp runs the composed switch layer is unchecked (11 of 15). CI, a lock file and dependency ranges that track vLLM 0.26 to 0.30 (8 of 10). 30 + 5 + 4 + 10 + 11 + 8 = 68."
        },
        "scores": {
          "a": 79,
          "b": 68
        }
      },
      {
        "by": 9,
        "category": "security",
        "leads": "granite-switch",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. Keys bound to a service account and restricted to the Gemini API, with no scopes and a token accepted in the URL (15 of 30, the platform's deduction). The pricing page, read on 11 November, says free-tier content is used to improve Google's products and paid-tier content isn't (10 of 20, the platform's reading). Abuse retention with no number (5 of 15). Request logs for billed projects are described for Generate Content; the Decisions guide says nothing on logging (10 of 15). security.txt and a reward programme, no certification naming the API (5 of 20). 15 + 10 + 5 + 10 + 5 = 45.",
          "b": "Read as a model the owner runs, on the model lines as Granite Guardian is, with retention and training in place of the read-only line. No account, key or gate, so there is no secret to leak, and SECURITY.md tells operators to add authentication to the vLLM server (14 of 30). Self-hosted, so inputs stay on the owner's hardware and nothing reaches IBM or trains a model, but no IBM page says so (15 of 20, level with Granite Guardian and Strands Decider). It reads untrusted text and audio by design and carries a safety adapter with a jailbreaking criterion. The card warns that a mistranscription can silently change what an adapter answers and that the guardian adapter is no substitute for safety testing. Nothing documents how hostile text in the state can steer a decision (7 of 15). No call log of its own beyond vLLM's. Decisions return a probability for every option (5 of 15). SECURITY.md takes private reports through GitHub or the maintainers, IBM's security.txt is valid (now expiring 4 December 2026) with PSIRT and HackerOne, commits need a DCO sign-off, and the decision adapters in Granite Libraries are signed with certificates. Since 23 October 2026 IBM's own GGUF builds of the 8B and 30B carry a `model.sig` from its signing workflow, but they were made from 4.1, and the composed safetensors checkpoints the card serves with vLLM, 4.1 and 4.1.1 alike, still have no signature file. Granite Guardian's 15 rests on signed safetensors weights, so this stays below it (13 of 20, as on 17 October). 14 + 15 + 7 + 5 + 13 = 54."
        },
        "scores": {
          "a": 45,
          "b": 54
        }
      },
      {
        "by": 6,
        "category": "reliability",
        "leads": "granite-switch",
        "name": "Reliability",
        "reasons": {
          "a": "Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. Status page at aistudio.google.com/status with no readable components or history (10 of 20) and no readable incident record (5 of 30). Rate-limit tiers and spend limits published for the platform, but the public rate-limit page, read on 11 November, has no row for Decision 1 and sends you to AI Studio (5 of 15). Backoff guidance for 429 and 503 and SDK retries (15). No SLA (0). The guide and the model page, read on 11 November, state no launch stage; the endpoint is v1beta and the model has one version, so half, as Gemini 4 Carbon was read (5 of 10). 10 + 5 + 5 + 15 + 0 + 5 = 40.",
          "b": "Scored on the local-software lines, since the owner serves the checkpoint with vLLM. The README installs with `pip install \"granite-switch[vllm]\"`, and the model card (revision 4.1.1) now states Python 3.11 to 3.13, PyTorch 2.11 or later, Transformers 5.16 to 5.17.0 and vLLM 0.26 to 0.30, matching pyproject.toml. pypi.org didn't connect on 4 November, and the publish workflow runs on a GitHub release while the remote has no tags, so whether 0.1.1 reached PyPI is unread (12 of 20, held). Public CI runs pre-commit and CPU unit tests on Python 3.11 and 3.12 on every push and pull request, and GPU suites run on a self-hosted runner when a maintainer asks. GitHub's pages answer 403 for our reader, so whether main is passing is unread (15 of 25). Open crash and regression issues on GitHub couldn't be read for the same reason. The Hugging Face repositories have had four questions since 18 October, one answered by IBM (10 of 25, GitHub unchecked). CHANGELOG.md follows Keep a Changelog and semver but still has one entry, 0.1.0 MVP, with none for 0.1.1, and the repository has no tags (4 of 15). The checkpoints carry no preview label, but the composer is 0.1.x and its changelog says the API is not yet stable (5 of 15). 12 + 15 + 10 + 4 + 5 = 46."
        },
        "scores": {
          "a": 40,
          "b": 46
        }
      }
    ],
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Google",
        "b": "IBM",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "free",
        "b": "free",
        "name": "Price for decision models"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Closed model, used through the Gemini API's Decisions endpoint under Google's terms. The google-genai SDK that calls it is Apache-2.0",
        "b": "Apache 2.0 for the weights, the adapters and the repository",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-11",
        "b": "2026-10-27",
        "name": "Last release"
      },
      {
        "a": "2026-04-28",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-01",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Gemini Decision 1 and Granite Switch 4.1 score within a point of each other on agent readiness, 63.2 (B) and 62.5 (B). Granite Switch 4.1 leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Gemini Decision 1 or Granite Switch 4.1?"
      },
      {
        "answer": "Gemini Decision 1, at free against free for Granite Switch 4.1. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for decision models, Gemini Decision 1 or Granite Switch 4.1?"
      },
      {
        "answer": "Gemini Decision 1 needs an API key. Granite Switch 4.1 needs no key.",
        "question": "Do Gemini Decision 1 and Granite Switch 4.1 need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Gemini Decision 1. No hosted endpoint is listed for Granite Switch 4.1.",
        "question": "Can an agent call Gemini Decision 1 and Granite Switch 4.1 without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Gemini Decision 1. Granite Switch 4.1 is open source (Apache 2.0 for the weights, the adapters and the repository).",
        "question": "Are Gemini Decision 1 and Granite Switch 4.1 open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 80 against 57",
          "Agent ergonomics, 85 against 66",
          "Maintenance \u0026 community, 79 against 68"
        ],
        "also": [
          "Cheaper for decision models, $0 against $0 per 1M tokens"
        ],
        "goodFor": "Routing, tool selection, policy checks and rubric grading over mixed media, where many fixed questions share one input and generated text isn't needed.",
        "slug": "gemini-decision-1",
        "watchFor": "No context caching, Batch API, Flex or Priority: the guide says repeated input across requests counts in full"
      },
      {
        "aheadOn": [
          "Reliability, 46 against 40",
          "Security \u0026 auth, 54 against 45",
          "Payments \u0026 pricing, 90 against 60",
          "Transparency \u0026 trust, 76 against 70"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "A team with a GPU that wants chat, routing decisions, a safety gate and transcription in seven languages 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"
      }
    ],
    "history": {
      "gemini-decision-1": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-11-13",
          "delta": 2.5,
          "from": 60.7,
          "fromGrade": "C",
          "to": 63.2,
          "toGrade": "B"
        }
      ],
      "granite-switch": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-11-13",
          "delta": 3.8,
          "from": 58.7,
          "fromGrade": "C",
          "to": 62.5,
          "toGrade": "B"
        },
        {
          "causes": [
            "product",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -0.8,
          "from": 59.5,
          "fromGrade": "C",
          "to": 58.7,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-28",
          "delta": 0.1,
          "from": 59.4,
          "fromGrade": "C",
          "to": 59.5,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "inference.decision",
      "name": "Decision models"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-gemini-decision-1.json",
        "title": "Celeris-1 Decision vs Gemini Decision 1",
        "url": "https://www.anchorterminal.com/compare/celeris-1-decision-vs-gemini-decision-1"
      },
      {
        "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/cloudflare-clef-vs-gemini-decision-1.json",
        "title": "Clef vs Gemini Decision 1",
        "url": "https://www.anchorterminal.com/compare/cloudflare-clef-vs-gemini-decision-1"
      },
      {
        "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/convai-laya-vs-gemini-decision-1.json",
        "title": "Laya vs Gemini Decision 1",
        "url": "https://www.anchorterminal.com/compare/convai-laya-vs-gemini-decision-1"
      },
      {
        "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/decider-vs-gemini-decision-1.json",
        "title": "Decider vs Gemini Decision 1",
        "url": "https://www.anchorterminal.com/compare/decider-vs-gemini-decision-1"
      },
      {
        "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/decision-3-vs-gemini-decision-1.json",
        "title": "Decision 3.0 vs Gemini Decision 1",
        "url": "https://www.anchorterminal.com/compare/decision-3-vs-gemini-decision-1"
      },
      {
        "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/gemini-decision-1-vs-gliclass.json",
        "title": "Gemini Decision 1 vs GLiClass",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-gliclass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-jaredpalmer-kev.json",
        "title": "Gemini Decision 1 vs Kev",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-jaredpalmer-kev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-liquid-d1.json",
        "title": "Gemini Decision 1 vs Liquid d1",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-liquid-d1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-microsoft-decision-1.json",
        "title": "Gemini Decision 1 vs Microsoft-Decision-1",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-microsoft-decision-1"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-nace-drex.json",
        "title": "Gemini Decision 1 vs Drex 1.5",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-nace-drex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-openai-decisions-api.json",
        "title": "Gemini Decision 1 vs OpenAI Decisions API",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-openai-decisions-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-pplx-decider.json",
        "title": "Gemini Decision 1 vs pplx-decider",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-pplx-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-pplx-decider-flash.json",
        "title": "Gemini Decision 1 vs pplx-decider-flash",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-pplx-decider-flash"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-rightnow-system-zero.json",
        "title": "Gemini Decision 1 vs RightNow System Zero",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-rightnow-system-zero"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-scaledown.json",
        "title": "Gemini Decision 1 vs ScaleDown",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-scaledown"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-sprag-spev.json",
        "title": "Gemini Decision 1 vs SPEV",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-sprag-spev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-sqwish-kettei.json",
        "title": "Gemini Decision 1 vs kettei",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-sqwish-kettei"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-strands-decider.json",
        "title": "Gemini Decision 1 vs Strands Decider 2B",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-strands-decider"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-typesafe-jev.json",
        "title": "Gemini Decision 1 vs Jev",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-typesafe-jev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-vela.json",
        "title": "Gemini Decision 1 vs Vela 2.0",
        "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-vela"
      },
      {
        "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/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-rightnow-system-zero.json",
        "title": "Granite Switch 4.1 vs RightNow System Zero",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-rightnow-system-zero"
      },
      {
        "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-sprag-spev.json",
        "title": "Granite Switch 4.1 vs SPEV",
        "url": "https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev"
      },
      {
        "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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 6,
        "edge": "granite-switch",
        "gemini-decision-1": 40,
        "granite-switch": 46,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "edge": "gemini-decision-1",
        "gemini-decision-1": 80,
        "granite-switch": 57,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 19,
        "edge": "gemini-decision-1",
        "gemini-decision-1": 85,
        "granite-switch": 66,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 9,
        "edge": "granite-switch",
        "gemini-decision-1": 45,
        "granite-switch": 54,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 30,
        "edge": "granite-switch",
        "gemini-decision-1": 60,
        "granite-switch": 90,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "gemini-decision-1",
        "gemini-decision-1": 79,
        "granite-switch": 68,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 6,
        "edge": "granite-switch",
        "gemini-decision-1": 70,
        "granite-switch": 76,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Gemini Decision 1 and Granite Switch 4.1 score within a point of each other on agent readiness, 63.2 (B) and 62.5 (B). Granite Switch 4.1 leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do decision models. Gemini Decision 1 is cheaper for decision models, $0 against $0 per 1M tokens.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "gemini-decision-1": "Google's decision model scores up to 1,000 yes/no, choice and rubric questions per request over a 262,144-token multimodal input, at $0.10 per million input tokens, no output charge and a free tier. It is on a v1beta endpoint with no caching or batch discount, so repeated input is paid in full, and every speed and accuracy figure is Google's.",
      "granite-switch": "One self-hosted Apache 2.0 checkpoint answers chat, single-pass decisions with label probabilities, yes or no safety checks and transcription in seven languages on one vLLM endpoint. Revision 4.1.1 (27 October 2026) updated the decision weights, with a tag that pins 4.1. The decision adapter still has no typed request format or Mellea call, and the composer is version 0.1."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-granite-switch",
    "json": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-granite-switch.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-granite-switch.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-granite-switch.min.md"
  },
  "markdown": "Gemini Decision 1 and Granite Switch 4.1 score within a point of each other on agent readiness, 63.2 (B) and 62.5 (B). Granite Switch 4.1 leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do decision models. Gemini Decision 1 is cheaper for decision models, $0 against $0 per 1M tokens.\n\n- Gemini Decision 1: grade B, 63.2/100, rank #630 of 1524. Markdown https://www.anchorterminal.com/tools/gemini-decision-1.md · JSON https://www.anchorterminal.com/api/v1/tools/gemini-decision-1.json\n- Granite Switch 4.1: grade B, 62.5/100, rank #660 of 1524. Markdown https://www.anchorterminal.com/tools/granite-switch.md · JSON https://www.anchorterminal.com/api/v1/tools/granite-switch.json\n- Best decision models for AI agents: https://www.anchorterminal.com/best/decision-models/index.md\n- All 241 decisions comparisons: https://www.anchorterminal.com/compare/decision-models/index.md\n\n## Which one, for what\n\n### Gemini Decision 1 (B)\n\nGood for: Routing, tool selection, policy checks and rubric grading over mixed media, where many fixed questions share one input and generated text isn't needed.\n\nAhead on:\n- Schema \u0026 documentation, 80 against 57\n- Agent ergonomics, 85 against 66\n- Maintenance \u0026 community, 79 against 68\n\nAlso in its favour:\n- Cheaper for decision models, $0 against $0 per 1M tokens\n\nWatch for: No context caching, Batch API, Flex or Priority: the guide says repeated input across requests counts in full\n\n### Granite Switch 4.1 (B)\n\nGood for: A team with a GPU that wants chat, routing decisions, a safety gate and transcription in seven languages from one self-hosted endpoint under a permissive licence.\n\nAhead on:\n- Reliability, 46 against 40\n- Security \u0026 auth, 54 against 45\n- Payments \u0026 pricing, 90 against 60\n- Transparency \u0026 trust, 76 against 70\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\n## Why the edge\n\n### Payments \u0026 pricing: Granite Switch 4.1 +30\n\n- Gemini Decision 1 (60): Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. No machine payment protocol (0). The pricing page lists $0.10 per million input tokens on the paid tier for every modality and no output charge, without a login (20). Free of charge on the free tier (20). A Google account and an AI Studio key come first (0). 0 + 20 + 20 + 0 = 40. Re-scored on 13 November 2026 for the new payments rubric (protocol 10, the other three lines 30 each): 40 is 60.\n- Granite Switch 4.1 (90): Self-hosted rule. Nothing to buy, and the Apache 2.0 licence allows commercial use at no charge (20). Free to run with no card (20). The weights are not gated, so an agent can fetch and run them with no sign-up (20). No payment protocol (0). IBM hosts no endpoint for Granite Switch that we found, and Hugging Face lists no inference provider for it. Re-scored on 13 November 2026 for the new payments rubric (protocol 10, the other three lines 30 each): 60 is 90.\n\n### Schema \u0026 documentation: Gemini Decision 1 +23\n\n- Gemini Decision 1 (80): Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. No published machine-readable contract for the Decisions endpoint; the request and response types are generated and typed in google-genai 3.2.0, Apache-2.0 (10 of 25). llms.txt with Markdown twins on the platform (10). The guide and model page say what the endpoint is for and list what it doesn't do (no caching, Batch, Flex, Priority, function calling, structured outputs or text generation; no YouTube or gs:// sources; history only as text) (18 of 20). Fields carry stated rules: question keys match [A-Za-z0-9_-]+ up to 64 characters, 1 to 1,000 questions, 2 to 255 options or levels, option keys 1 to 128 characters, P(true) between 0.01 and 0.99, nesting to 100 levels (14 of 15). Python, JavaScript and REST examples, and errors documented as HTTP 400 with codes safety, prohibited_content, blocklist, image_safety and content_blocked (13 of 15). Dated SDK changelog and the platform's dated changelog (15). 10 + 10 + 18 + 14 + 13 + 15 = 80.\n- Granite Switch 4.1 (57): Read for a model the owner serves. The route is vLLM's OpenAI chat-completions API, and the adapter contract is the chat template, `adapter_index.json` and one `io.yaml` per adapter. There is no specification file of its own (10 of 25). We found no llms.txt. The model cards, BUILD.md, the adapter card and the repository docs are Markdown on Hugging Face and GitHub (5 of 10). The card says what each adapter does, that decision probabilities are a prior and not a certified classification outside trained domains, that the guardian adapter is no substitute for application testing, and the speech limits (16 of 20). A decision request is free-form prompt text with token ids the caller computes, and the guardian criterion is free text. The adapter card defines choice, noul and score types, but nothing on the endpoint enforces them (6 of 15). Python and curl examples for both adapters and audio, a chunking recipe for wide questions, and two documented HTTP 400 cases (11 of 15). Versioned model names, and since 27 October a dated What's New section in each card with a revision table and a Hub tag that pins 4.1 (`granite-switch-4.1-8b`, `granite-switch-4.1-30b`). The package changelog still has one entry, and the card names a `granite-switch-4.1.1-8b` tag that the Hub's tag list doesn't have (9 of 15, 7 on 17 October). 10 + 5 + 16 + 6 + 11 + 9 = 57.\n\n### Agent ergonomics: Gemini Decision 1 +19\n\n- Gemini Decision 1 (85): Read on the tool lines, as the other decision-model listings are. Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. Answers are probabilities only, and the shared input is billed once across up to 1,000 questions (25 of 25). Limits are written down: 262,144 tokens shared by the input and all questions, 1,000 questions, 2 to 255 options, inline data to 100 MB (50 MB for PDFs), 15 MB per external URL (20 of 20). Errors return HTTP 400 with a named code an agent can branch on, plus the platform's backoff advice (15 of 20). SDK retries and backoff guidance, no idempotency key; nothing is written, so a repeat only costs input again (10 of 20). Three required fields, SDK 3.2 or later in Python and JavaScript, and REST (15 of 15). 25 + 20 + 15 + 10 + 15 = 85.\n- Granite Switch 4.1 (66): Read as an endpoint an agent calls for a decision, as with Vela and Decision 3.0. A decision returns one token and its label logprobs, a guardian check up to 16 tokens, and the state turn can share vLLM's prefix cache with chat. Context is 131,072 tokens (21 of 25). The caller picks the adapter per request, the options and the label ids. More than 128 options need one request per 128 (13 of 20). Errors are vLLM's, with the 128-id limit and the audio prompt-length error documented. A guardian answer is JSON in text with no stated handling for a malformed reply (8 of 20). Requests are stateless and the examples set temperature 0, so a decision can be repeated safely (16 of 20). The OpenAI SDK works, and Mellea wraps the guardian adapter, but the decision adapter has no Mellea call yet, label ids need the tokeniser, and vLLM needs a GPU (8 of 15).\n\n### Maintenance \u0026 community: Gemini Decision 1 +11\n\n- Gemini Decision 1 (79): Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. Released on 11 November 2026, the day of this check (30). Deprecations with earliest dates and no stated minimum notice (4 of 12). Shutdowns in the last 90 days kept to their table (4 of 8). Dated changelogs: google-genai 3.2.0's entry adds the Decisions API; the platform changelog wasn't re-read today (11 of 15). SDK replies not sampled (5 of 10). google-genai 3.2.0 tagged the same day with `client.decisions.create`; the JavaScript SDK is per Google's post (15). Runtimes stated on the platform (10). 30 + 4 + 4 + 11 + 5 + 15 + 10 = 79. The model is hours old, so these lines are the platform's habits more than this model's record.\n- Granite Switch 4.1 (68): Read as a model, for deprecation notice and model churn rather than release counts, on the lines used for Granite Guardian, Decider, Kev and Strands Decider (recency 30, deprecation 12, churn 8, responsiveness 25, packages 15, health 10). The 17 October note used the tool lines. Revision 4.1.1 of the 8B and 30B checkpoints, with updated decision weights and speech input in seven languages, was published on 27 October 2026, 8 days before the check (30). No deprecation policy. 4.1.1 replaced 4.1 on main with a dated What's New note and a Hub tag that pins 4.1, while the preview repositories were rebuilt in place on 3 May and 15 October 2026 (5 of 12, level with Decider and Granite Guardian). Previews on 1 May, 4.1 on 14 October and 4.1.1 on 27 October, two replacements of main in 13 days with the earlier one still loadable by tag (4 of 8, level with Decider and Strands Decider). The clone's 200 newest commits come from 19 authors, with pull requests numbered to #154 and merged within days, and GitHub issue reply times couldn't be read. On the Hub, IBM merged its own pull requests and answered one of four questions (30B thread 5, six minutes after it was opened on 31 October), while the threads of 18 October (8B), 26 October (30B GGUF) and 2 November (30B) had no reply on 4 November, counted by author and date only (10 of 25). An official Python package with a vLLM plug-in, IBM's own GGUF builds of the 8B and 30B since 22 October (made from 4.1, before 4.1.1), and Mellea for the guardian adapter. The decision adapter still has no Mellea call, and whether llama.cpp runs the composed switch layer is unchecked (11 of 15). CI, a lock file and dependency ranges that track vLLM 0.26 to 0.30 (8 of 10). 30 + 5 + 4 + 10 + 11 + 8 = 68.\n\n### Security \u0026 auth: Granite Switch 4.1 +9\n\n- Gemini Decision 1 (45): Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. Keys bound to a service account and restricted to the Gemini API, with no scopes and a token accepted in the URL (15 of 30, the platform's deduction). The pricing page, read on 11 November, says free-tier content is used to improve Google's products and paid-tier content isn't (10 of 20, the platform's reading). Abuse retention with no number (5 of 15). Request logs for billed projects are described for Generate Content; the Decisions guide says nothing on logging (10 of 15). security.txt and a reward programme, no certification naming the API (5 of 20). 15 + 10 + 5 + 10 + 5 = 45.\n- Granite Switch 4.1 (54): Read as a model the owner runs, on the model lines as Granite Guardian is, with retention and training in place of the read-only line. No account, key or gate, so there is no secret to leak, and SECURITY.md tells operators to add authentication to the vLLM server (14 of 30). Self-hosted, so inputs stay on the owner's hardware and nothing reaches IBM or trains a model, but no IBM page says so (15 of 20, level with Granite Guardian and Strands Decider). It reads untrusted text and audio by design and carries a safety adapter with a jailbreaking criterion. The card warns that a mistranscription can silently change what an adapter answers and that the guardian adapter is no substitute for safety testing. Nothing documents how hostile text in the state can steer a decision (7 of 15). No call log of its own beyond vLLM's. Decisions return a probability for every option (5 of 15). SECURITY.md takes private reports through GitHub or the maintainers, IBM's security.txt is valid (now expiring 4 December 2026) with PSIRT and HackerOne, commits need a DCO sign-off, and the decision adapters in Granite Libraries are signed with certificates. Since 23 October 2026 IBM's own GGUF builds of the 8B and 30B carry a `model.sig` from its signing workflow, but they were made from 4.1, and the composed safetensors checkpoints the card serves with vLLM, 4.1 and 4.1.1 alike, still have no signature file. Granite Guardian's 15 rests on signed safetensors weights, so this stays below it (13 of 20, as on 17 October). 14 + 15 + 7 + 5 + 13 = 54.\n\n### Reliability: Granite Switch 4.1 +6\n\n- Gemini Decision 1 (40): Model reading for gemini-decision-1 on the Gemini API's Decisions endpoint. Platform facts are the Gemini API listing's (gemini-api, re-read 1 November), carried over as RULES.md allows for a model on an already graded platform. Status page at aistudio.google.com/status with no readable components or history (10 of 20) and no readable incident record (5 of 30). Rate-limit tiers and spend limits published for the platform, but the public rate-limit page, read on 11 November, has no row for Decision 1 and sends you to AI Studio (5 of 15). Backoff guidance for 429 and 503 and SDK retries (15). No SLA (0). The guide and the model page, read on 11 November, state no launch stage; the endpoint is v1beta and the model has one version, so half, as Gemini 4 Carbon was read (5 of 10). 10 + 5 + 5 + 15 + 0 + 5 = 40.\n- Granite Switch 4.1 (46): Scored on the local-software lines, since the owner serves the checkpoint with vLLM. The README installs with `pip install \"granite-switch[vllm]\"`, and the model card (revision 4.1.1) now states Python 3.11 to 3.13, PyTorch 2.11 or later, Transformers 5.16 to 5.17.0 and vLLM 0.26 to 0.30, matching pyproject.toml. pypi.org didn't connect on 4 November, and the publish workflow runs on a GitHub release while the remote has no tags, so whether 0.1.1 reached PyPI is unread (12 of 20, held). Public CI runs pre-commit and CPU unit tests on Python 3.11 and 3.12 on every push and pull request, and GPU suites run on a self-hosted runner when a maintainer asks. GitHub's pages answer 403 for our reader, so whether main is passing is unread (15 of 25). Open crash and regression issues on GitHub couldn't be read for the same reason. The Hugging Face repositories have had four questions since 18 October, one answered by IBM (10 of 25, GitHub unchecked). CHANGELOG.md follows Keep a Changelog and semver but still has one entry, 0.1.0 MVP, with none for 0.1.1, and the repository has no tags (4 of 15). The checkpoints carry no preview label, but the composer is 0.1.x and its changelog says the API is not yet stable (5 of 15). 12 + 15 + 10 + 4 + 5 = 46.\n\n## Score by category\n\n| Category | Weight | Gemini Decision 1 | Granite Switch 4.1 | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 46 | Granite Switch 4.1 +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 57 | Gemini Decision 1 +23 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 66 | Gemini Decision 1 +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 54 | Granite Switch 4.1 +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 90 | 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) | 79 | 68 | Gemini Decision 1 +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 76 | Granite Switch 4.1 +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.2 · B** | **62.5 · B** | |\n\n## Facts side by side\n\n| Fact | Gemini Decision 1 | Granite Switch 4.1 |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Google | IBM |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | None |\n| Pricing | Pay per use | Free |\n| Price for decision models | free | free |\n| x402 | no | no |\n| Licence | Closed model, used through the Gemini API's Decisions endpoint under Google's terms. The google-genai SDK that calls it is Apache-2.0 | Apache 2.0 for the weights, the adapters and the repository |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-11-11 | 2026-10-27 |\n| Terms last updated | 2026-04-28 | no document linked |\n| Privacy policy last updated | 2026-10-01 | no document linked |\n| Customer content may train models | yes | not read yet |\n| Terms restrict automated access | yes | not read yet |\n| Terms restrict benchmarking | yes | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | not found in the text | not read yet |\n| Agent reviews | none | 3/5 (4) |\n\n## How the scores have moved\n\n### Gemini Decision 1\n\n- +2.5 on 13 November 2026 (C to B): checklist\n\n### Granite Switch 4.1\n\n- +3.8 on 13 November 2026 (C to B): checklist\n- -0.8 on 4 November 2026: product, correction\n- +0.1 on 28 October 2026: checklist\n\n## Verdicts\n\n**Gemini Decision 1.** Google's decision model scores up to 1,000 yes/no, choice and rubric questions per request over a 262,144-token multimodal input, at $0.10 per million input tokens, no output charge and a free tier. It is on a v1beta endpoint with no caching or batch discount, so repeated input is paid in full, and every speed and accuracy figure is Google's.\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 transcription in seven languages on one vLLM endpoint. Revision 4.1.1 (27 October 2026) updated the decision weights, with a tag that pins 4.1. The decision adapter still has no typed request format or Mellea call, and the composer is version 0.1.\n\n## Before you call either\n\n### Gemini Decision 1\n\n1. Call POST /v1beta/decisions or `client.decisions.create` (SDK 3.2 or later), not generateContent or the Interactions API\n2. Put every question about the same input in one request: there's no caching, and repeated input is billed in full\n3. Pass media inline (100 MB, 50 MB for PDFs), as a Files API URI or as an HTTPS URL up to 15 MB; YouTube and gs:// links are refused\n4. Branch on the HTTP 400 error code (safety, prohibited_content, blocklist, image_safety, content_blocked) before retrying\n5. Keep question keys to [A-Za-z0-9_-] and 64 characters, and options or levels between 2 and 255\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. Pin `--revision granite-switch-4.1-8b` (or `-30b`) to keep the 4.1 decision weights. main now serves 4.1.1\n5. Add authentication before exposing the vLLM server. Neither vLLM nor the checkpoint requires a key by default\n\n## Questions\n\n### Which is better for AI agents, Gemini Decision 1 or Granite Switch 4.1?\n\nGemini Decision 1 and Granite Switch 4.1 score within a point of each other on agent readiness, 63.2 (B) and 62.5 (B). Granite Switch 4.1 leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.\n\n### Which is cheaper for decision models, Gemini Decision 1 or Granite Switch 4.1?\n\nGemini Decision 1, at free against free for Granite Switch 4.1. These are the vendors' published prices for the job.\n\n### Do Gemini Decision 1 and Granite Switch 4.1 need an API key?\n\nGemini Decision 1 needs an API key. Granite Switch 4.1 needs no key.\n\n### Can an agent call Gemini Decision 1 and Granite Switch 4.1 without installing anything?\n\nNo hosted endpoint is listed for Gemini Decision 1. No hosted endpoint is listed for Granite Switch 4.1.\n\n### Are Gemini Decision 1 and Granite Switch 4.1 open source?\n\nNo open-source release is listed for Gemini Decision 1. Granite Switch 4.1 is open source (Apache 2.0 for the weights, the adapters and the repository).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/gemini-decision-1-vs-granite-switch.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gemini-decision-1-vs-granite-switch.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"gemini-decision-1\", \"b\": \"granite-switch\"}`. From a terminal: `anchor compare gemini-decision-1 granite-switch`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/gemini-decision-1.json and https://www.anchorterminal.com/api/v1/tools/granite-switch.json\n\n## Other comparisons with Gemini Decision 1 or Granite Switch 4.1\n\n- [Celeris-1 Decision vs Gemini Decision 1](https://www.anchorterminal.com/compare/celeris-1-decision-vs-gemini-decision-1.md)\n- [Celeris-1 Decision vs Granite Switch 4.1](https://www.anchorterminal.com/compare/celeris-1-decision-vs-granite-switch.md)\n- [Clef vs Gemini Decision 1](https://www.anchorterminal.com/compare/cloudflare-clef-vs-gemini-decision-1.md)\n- [Clef vs Granite Switch 4.1](https://www.anchorterminal.com/compare/cloudflare-clef-vs-granite-switch.md)\n- [Laya vs Gemini Decision 1](https://www.anchorterminal.com/compare/convai-laya-vs-gemini-decision-1.md)\n- [Laya vs Granite Switch 4.1](https://www.anchorterminal.com/compare/convai-laya-vs-granite-switch.md)\n- [Decider vs Gemini Decision 1](https://www.anchorterminal.com/compare/decider-vs-gemini-decision-1.md)\n- [Decider vs Granite Switch 4.1](https://www.anchorterminal.com/compare/decider-vs-granite-switch.md)\n- [Decision 3.0 vs Gemini Decision 1](https://www.anchorterminal.com/compare/decision-3-vs-gemini-decision-1.md)\n- [Decision 3.0 vs Granite Switch 4.1](https://www.anchorterminal.com/compare/decision-3-vs-granite-switch.md)\n- [Gemini Decision 1 vs GLiClass](https://www.anchorterminal.com/compare/gemini-decision-1-vs-gliclass.md)\n- [Gemini Decision 1 vs Kev](https://www.anchorterminal.com/compare/gemini-decision-1-vs-jaredpalmer-kev.md)\n- [Gemini Decision 1 vs Liquid d1](https://www.anchorterminal.com/compare/gemini-decision-1-vs-liquid-d1.md)\n- [Gemini Decision 1 vs Microsoft-Decision-1](https://www.anchorterminal.com/compare/gemini-decision-1-vs-microsoft-decision-1.md)\n- [Gemini Decision 1 vs Drex 1.5](https://www.anchorterminal.com/compare/gemini-decision-1-vs-nace-drex.md)\n- [Gemini Decision 1 vs OpenAI Decisions API](https://www.anchorterminal.com/compare/gemini-decision-1-vs-openai-decisions-api.md)\n- [Gemini Decision 1 vs pplx-decider](https://www.anchorterminal.com/compare/gemini-decision-1-vs-pplx-decider.md)\n- [Gemini Decision 1 vs pplx-decider-flash](https://www.anchorterminal.com/compare/gemini-decision-1-vs-pplx-decider-flash.md)\n- [Gemini Decision 1 vs RightNow System Zero](https://www.anchorterminal.com/compare/gemini-decision-1-vs-rightnow-system-zero.md)\n- [Gemini Decision 1 vs ScaleDown](https://www.anchorterminal.com/compare/gemini-decision-1-vs-scaledown.md)\n- [Gemini Decision 1 vs SPEV](https://www.anchorterminal.com/compare/gemini-decision-1-vs-sprag-spev.md)\n- [Gemini Decision 1 vs kettei](https://www.anchorterminal.com/compare/gemini-decision-1-vs-sqwish-kettei.md)\n- [Gemini Decision 1 vs Strands Decider 2B](https://www.anchorterminal.com/compare/gemini-decision-1-vs-strands-decider.md)\n- [Gemini Decision 1 vs Jev](https://www.anchorterminal.com/compare/gemini-decision-1-vs-typesafe-jev.md)\n- [Gemini Decision 1 vs Vela 2.0](https://www.anchorterminal.com/compare/gemini-decision-1-vs-vela.md)\n- [GLiClass vs Granite Switch 4.1](https://www.anchorterminal.com/compare/gliclass-vs-granite-switch.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 RightNow System Zero](https://www.anchorterminal.com/compare/granite-switch-vs-rightnow-system-zero.md)\n- [Granite Switch 4.1 vs ScaleDown](https://www.anchorterminal.com/compare/granite-switch-vs-scaledown.md)\n- [Granite Switch 4.1 vs SPEV](https://www.anchorterminal.com/compare/granite-switch-vs-sprag-spev.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",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.8",
    "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": "Gemini Decision 1 vs Granite Switch 4.1",
        "url": ""
      }
    ],
    "description": "Gemini Decision 1 and Granite Switch 4.1 score within a point of each other for decision models, 63.2 and 62.5 out of 100. Gemini Decision 1 is cheaper for decision models, $0 against $0 per 1M tokens. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Gemini Decision 1 B 63.2",
      "Granite Switch 4.1 B 62.5",
      "scores"
    ],
    "h1": "Gemini Decision 1 vs Granite Switch 4.1",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/gemini-decision-1-vs-granite-switch",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Gemini Decision 1 vs Granite Switch 4.1 for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-13",
    "url": "https://www.anchorterminal.com/compare/gemini-decision-1-vs-granite-switch"
  },
  "tokens": {
    "markdown": 6650,
    "slim": 1180
  },
  "version": 1
}
