Proposed changes to 4 official SDKs, no announcement from Google

Google is moving to add a "Decisions API" to its developer-facing "Gemini API" that returns only the answers to selection and judgment questions. On Nov. 11 (11:56 to 11:57 p.m. the same day Japan time), proposed changes (pull requests) adding client.decisions.create were posted to the GitHub repositories of 4 of the company's official SDKs (software development kits): Python, JavaScript, Go and Java. All were titled "feat: add the Decisions API (client.decisions.create) to the GenAI SDKs" and were posted by an automation account (copybara-service) that Google uses to sync code.

@aitrackerbot, a bot that detects API changes, reported it on X at 11:59 p.m. Nov. 11 Japan time. ORIENS read the diffs of the 4 proposed changes on Nov. 12 and confirmed their contents.

None of the 4 has been merged, and they have not yet been incorporated into the SDKs. Because they are proposed changes before merging, their contents may change, or they may be closed without being incorporated. Google has not announced the feature, and there is no mention of a Decisions API in the Gemini API changelog (the latest entry as of Nov. 12 is for Nov. 10), the official documentation or the "Discovery document" that publishes the API's structure in machine-readable form.

3 question types: noul, choice and score

According to the Python proposal, the 3 required fields for a call are input, the shared input used as material for judgment; model, the model to use; and questions, a list of questions. Each question is keyed by an ID freely assigned by the caller, and one or more questions are judged together in a single call. The asynchronous call is client.aio.decisions.create.

There are 3 question types. noul asks whether something is true or false and returns the probability that it is true, from 0.01 to 0.99. choice picks one from 2 to 255 options and returns the most probable option and the probability of each option. score grades against a rubric of 2 to 255 levels and returns a probability-weighted score and the probability of each level. In every type, instructions, which describes the criteria for judgment in text, is required for each question.

The descriptions of the response types all read "Calibrated result." The JavaScript, Go and Java proposals carry the same descriptions of the question types and the numbers of options and levels.

The 3 question types in the Decisions API (from unmerged proposed changes to Google's official SDKs, as of Nov. 12)
TypeQuestionReturned values
noulTrue or falseProbability of being true (0.01 to 0.99)
choiceOne of 2 to 255 optionsMost probable option; probability of each option
scoreGraded against a rubric of 2 to 255 levelsProbability-weighted score; probability of each level

Input can include images and audio as well as text

In the Python type definitions, input can take text, documents, images, audio and video. The response includes the reason if the input was blocked for safety or other reasons, and token usage.

The test code for Python and JavaScript sends requests to the API at POST /v1beta/decisions. The tests run against a mock server, and it has not been confirmed whether the actual API accepts requests. The model name in the tests is a placeholder, and the proposals do not say which models are supported.

The Go files are placed under the folder for the "Interactions API" (client.interactions.create), which calls models and agents. However, Decisions is defined as a separate service, and requests go to /decisions, making it a separate feature from the Interactions API.

OpenAI made its version generally available in October

A feature named "Decisions API" was made generally available by OpenAI on Oct. 22 (Oct. 23 Japan time). According to OpenAI's official guide, the 3 required fields are model, input and questions, and the 3 question types are predicate, which returns the probability that a condition applies; choice, which selects from options; and score, which rates on a scale of 2 to 10 levels. The only supported model is the lightweight "GPT-6 Luna" (gpt-6-luna).

Google's proposals share with it the names of the 3 required fields (model, input, questions) and the division of questions into 3 types. The name of the true-or-false type (noul vs. predicate) and the maximum number of levels (255 vs. 10) differ. OpenAI has published pricing and speed, but Google's proposals do not mention pricing, response speed or supported models.

Pricing, supported models and timing unknown

Neither the proposals nor official materials state pricing, response speed, supported models or timing. ORIENS has not run tests with an API key, and it is not known whether the Decisions API can be called now. As for the word "Calibrated" in the descriptions, Google has not presented any results verifying accuracy.

Update, Nov. 12: Google released "Gemini Decision" (gemini-decision-1), a model dedicated to judgments, and the Decisions API, marking them "Released" in the Gemini API changelog entry dated Nov. 11 U.S. time. The proposed changes to the 4 official SDKs reported in this article were all merged at 2:11 to 2:12 a.m. Nov. 12 Japan time. Details including pricing and supported models are reported in a follow-up article.