Gemini Decisions API: What Gemini Decision 1 Does, Pricing and How It Works

Google's Gemini Decisions API (POST /v1beta/decisions, model gemini-decision-1) scores up to 1,000 noul, choice and score questions over one multimodal input in a single pass, at $0.10 per 1M input tokens with no output charge. What it returns, what it costs, and where it fits.

INEZA Felin-Michel

INEZA Felin-Michel

12 November 2026

Gemini Decisions API: What Gemini Decision 1 Does, Pricing and How It Works

Apidog for Enterprise

On-Premises Deploy

SSO & RBAC

SOC 2 Compliant

Explore Apidog Enterprise

The Gemini Decisions API is a new Google endpoint that answers closed questions instead of generating text. You send one shared input (text, images, audio, video or PDF) plus up to 1,000 typed questions, and Gemini Decision 1 (gemini-decision-1) returns a calibrated probability and a confidence score for each one. It costs $0.10 per 1M input tokens, output is always 0 tokens, and Google quotes 150 to 250 ms end to end.

Google launched it on November 11, 2026, as a v1beta endpoint. For the hands-on build, see how to use the Gemini Decisions API.

What Google shipped with Gemini Decision 1

Gemini Decision 1 is a model that scores a fixed set of candidate answers in a single forward pass rather than decoding text token by token. The Decisions API exposes it, and your code gets numbers it can branch on.

The launch post, “Gemini Decisions API: Fast, calibrated multimodal decisions”, lists the headline facts:

Gemini in Google Cloud (Vertex AI) support is listed as “coming soon”, so today it runs on the Developer API only.

Diagram: one shared input feeds Gemini Decision 1 in a single forward pass, which returns a noul probability, a choice and a score, each with a confidence bar

Why a decision endpoint instead of a chat call

Most “classify this” code calls a generative model, asks for JSON and parses the reply. You pay for output and thinking tokens, and the parser breaks when the model gets creative.

The Decisions API removes the generation step. Google’s docs put it plainly: it “generates zero text tokens, so output token usage is always 0.” Three design choices follow from that:

  1. Parallel, isolated scoring. Every question runs against the shared input in one pass. Questions can’t see each other, so adding or removing one doesn’t change the other answers.
  2. Value plus confidence. The value tells your code what to do. The confidence tells it whether to do it automatically or escalate.
  3. Atomic checks composed in code. You ask narrow questions and combine the answers with ordinary if statements and weights.

For generated text, schema-shaped extraction, tool calls or multi-step reasoning, Google still points you to the Interactions API.

The three question types

Each question has a type, instructions and, for two types, criteria. The model never sees your question keys, so write the full question in instructions.

Type Use it to Criteria Returns
noul Check whether a statement holds Optional true_description / false_description noul (0.01 to 0.99), confidence
choice Pick one option from a fixed list Required map of option ID to description, 2 to 255 options choice, probabilities (sum to 1), confidence
score Rate input on an ordered rubric Required array of levels, lowest first, 2 to 255 (2 to 10 recommended) score, probabilities, legend, confidence

A few behaviours are worth knowing before you write thresholds:

Confidence is defined the same way everywhere: the top outcome’s probability, or max(noul, 1 - noul) for yes/no questions.

One example request and what comes back

The REST endpoint is POST https://generativelanguage.googleapis.com/v1beta/decisions, authenticated with an x-goog-api-key header. This request asks a yes/no question and a choice question about one support message:

curl -X POST "https://generativelanguage.googleapis.com/v1beta/decisions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-decision-1",
    "input": "Audio cuts out on the left earcup. Fix it today or I cancel my membership.",
    "questions": {
      "is_defect": {
        "type": "noul",
        "instructions": "Does the message describe a hardware defect?"
      },
      "department": {
        "type": "choice",
        "instructions": "Which department should handle this request?",
        "criteria": {
          "billing": "Payments, invoices, and refunds.",
          "technical": "Problems using the product.",
          "shipping": "Delivery and tracking.",
          "other": "Anything outside these categories."
        }
      }
    }
  }'

The response has two top-level fields, answers (keyed by your question IDs) and usage:

{
  "answers": {
    "is_defect": { "type": "noul", "noul": 0.94, "confidence": 0.94 },
    "department": {
      "type": "choice",
      "choice": "technical",
      "probabilities": { "technical": 0.9, "other": 0.05, "billing": 0.03, "shipping": 0.02 },
      "confidence": 0.9
    }
  },
  "usage": { "total_input_tokens": 120, "total_output_tokens": 0, "total_tokens": 120 }
}

The numbers are illustrative, shaped like the examples in Google’s Decisions API docs.

For non-text input, input becomes an array of content blocks using the same schema as the Interactions API: text, image, audio, video and document (PDF). Media can be inline base64 (up to 100 MB per request), a Files API URI, or an HTTPS URL (up to 15 MB each). Image and video blocks take a resolution setting to trade detail for tokens.

If an input safety filter blocks a request, you get HTTP 400 with an error.code such as safety or prohibited_content instead of answers.

Gemini Decisions API pricing, latency and rate limits

Pricing is input-only: $0.10 per 1M input tokens on the paid tier, free of charge on the free tier, and no output line because output is always 0 tokens. That’s from Google’s Gemini Developer API pricing page, checked on November 12, 2026. The same page notes that free-tier content is used to improve Google’s products and paid-tier content isn’t.

Two billing details matter:

Back-of-envelope: a 2,000-token support ticket with 20 questions of about 40 tokens each is roughly 2,800 input tokens, or about $0.00028 per decision call on the paid tier.

Latency figures are Google’s own: median 50 to 100 ms of model compute, 150 to 250 ms end to end, staying nearly flat from 1 to 100 questions for inputs up to 16K tokens. Google also claims the lowest calibration error on its benchmark suite and a cost nearly 5x lower than Gemini 3.5 Flash-Lite through the Interactions API. Treat both as vendor numbers until you measure your own traffic.

Rate limits from Google’s rate limits page, checked November 12, 2026:

Usage tier Requests/min Tokens/min Requests/day
Free 200 50,000 10,000
Tier 1 1,500 1,000,000 50,000
Tier 2 5,000 4,000,000 Unlimited
Tier 3 15,000 10,000,000 Unlimited

The free tier is covered in depth in Gemini Decisions API for free.

Where the Decisions API fits

Google’s docs name five patterns, and its internal teams map onto them:

Diagram: a support ticket goes through a confidence gate; at 0.7 or above it routes to answer.choice automatically, below 0.7 it goes to human review

Google’s guidance is to set that threshold from labeled examples of your own traffic, weighing the cost of a false positive against a false negative.

OpenAI shipped a similar endpoint in October on GPT-6 Luna, with predicate, choice and score questions; our OpenAI Decisions API explainer covers it. The head-to-head on limits, modalities and pricing lives in Gemini Decisions API vs OpenAI Decisions API.

Limits and open questions

What the docs state today:

Google hasn’t published a GA date, regions, or data-residency terms. It also warns that user text can argue for its own classification, so keep a human check on high-stakes actions such as payouts.

Let your coding agent test it with Apidog CLI

A decision endpoint is only useful if its contract holds: every confidence between 0 and 1, every choice inside your set. Your coding agent can write and run that regression test with Apidog CLI while you keep working.

Set up once:

npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_APIDOG_TOKEN>
apidog skill install

Then give your agent one prompt:

In Apidog project <projectId>, create an environment "gemini" with base URL
https://generativelanguage.googleapis.com and a secret variable GEMINI_API_KEY.
Define POST /v1beta/decisions with header x-goog-api-key: {{GEMINI_API_KEY}}
and the support-ticket body from this article. Add a test case asserting:
status 200, usage.total_output_tokens == 0, every answers.*.confidence is
between 0 and 1, answers.department.choice is one of billing|technical|shipping|other,
and answers.is_defect.noul is between 0.01 and 0.99. Run it and summarize failures.

The agent validates each payload against its schema, then creates and runs the case:

apidog environment create gemini --project <projectId> --base-url https://generativelanguage.googleapis.com
apidog cli-schema get environment-update
apidog environment update <envId> --project <projectId> --file env.json
apidog cli-schema get endpoint-create
apidog cli-schema validate endpoint-create --file decisions-endpoint.json
apidog endpoint create --project <projectId> --file decisions-endpoint.json
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file decisions-case.json
apidog test-case create --project <projectId> --file decisions-case.json
apidog run --test-case <caseId> --project <projectId> -e <envId> -r cli,json

To keep the key out of the saved environment, pass it at run time with --env-var "GEMINI_API_KEY=..." instead. The same apidog run with -r junit drops into CI; the apidog run command reference lists every flag, and Apidog CLI in Claude Code shows the full agent setup. Apidog’s Free plan covers up to 4 users.

FAQ

Is the Gemini Decisions API free? Yes, within the free tier: 200 requests per minute, 50,000 tokens per minute and 10,000 requests per day. Paid usage is $0.10 per 1M input tokens.

How many questions can I ask in one request? From 1 to 1,000, bounded by the 262,144-token context window shared by the input and every question.

What does noul mean? It’s the yes/no question type. It returns the probability that the answer is yes, between 0.01 and 0.99, plus a confidence score.

Can I use it on Vertex AI? Not yet. Google lists Gemini in Google Cloud support as coming soon; today it’s on the Gemini Developer API (v1beta).

Does it support batch or context caching? No. Context caching, the Batch API and Flex or Priority inference aren’t supported, so repeated input is billed in full.

Explore more

How to Use the Gemini Decisions API for Free

How to Use the Gemini Decisions API for Free

The Gemini Decisions API free tier gives gemini-decision-1 200 requests per minute, 50,000 tokens per minute and 10,000 requests per day at $0 with no billing setup. Here is what that covers in real workloads, the token math at $0.10 per 1M, and how to keep tests and CI off yo...

12 November 2026

Gemini Decisions API vs OpenAI Decisions API: Which Decision Endpoint Should You Use?

Gemini Decisions API vs OpenAI Decisions API: Which Decision Endpoint Should You Use?

Both charge $0.10 per 1M input tokens and nothing for output. Gemini takes audio, video, PDFs and 1,000 questions with a free tier; OpenAI is GA with prompt caching, JSON input and ZDR. Here's how to pick.

12 November 2026

How to Use the Gemini Decisions API ?

How to Use the Gemini Decisions API ?

A hands-on Gemini Decisions API tutorial: your first noul question, choice and score questions, image and PDF input, confidence-based routing, and a CI regression suite your coding agent builds with Apidog CLI.

12 November 2026

Practice API Design-first in Apidog

Discover an easier way to build and use APIs

Gemini Decisions API: What Gemini Decision 1 Does, Pricing and How It Works