Skip to content

Models ​

Each project uses one of the platform's models. That model judges the project's runs, does the platform AI's work for the project, and answers your agent's model calls in a sandbox. This page covers the choices, what they cost, where they run and how to change them.

Choose the project's model ​

The model is in the project's header, next to its name. Open the dropdown and pick one:

OptionModelId
"Strongest · slower · Gemini 4 Argon" (the default)Gemini 4 Argonvertex:gemini-4-argon
"Strong · faster · GPT-6.1 Sol"GPT-6.1 Solazure:gpt-6.1-sol
"Balanced · Gemini 3.8 Flash"Gemini 3.8 Flashvertex:gemini-3.8-flash
"Economy · GPT-6 Luna"GPT-6 Lunaazure:gpt-6-luna
"Follow the organization default (…)"The organization's default, named in the bracketsnull in the API

Under each option, a muted line gives its price per 1M tokens as billed (input / output); see prices. Changing the model asks you to confirm once: "The judge, the platform AI and the agent in the sandbox will all use this model. Existing results stay as they are, judged by the model of the time."

What the model is used for ​

  1. It is the judge for the project's runs that the platform judges: a chat AI's test sets, and sandbox runs (repository or image projects). Each run records the model that judged it, so a result keeps its label after you change the model, and the report's "How it was tested" names the judge of that run. When two experiments were judged by different models, their comparison says "Not comparable" and why (see compare two experiments).
  2. It does every step the platform's AI takes for the project: the assistant when it is opened on the project (anywhere else, the assistant uses the organization's default), drafting tests, "Let AI finish and check" and "Let AI fill in and test", automatic approval, the diagnosis of results, generating security tests, and the issues the assistant finds (naming them, building a scorer). These count against the assistant's daily limit as before.
  3. It answers your agent's model calls in a repository or image project with no OPENAI_API_KEY among its secrets. The platform uses the model the agent asks for when that is one of the models above, and the project's model otherwise. See your agent's model.
  4. When you set up a new chat AI with the API type "Platform model", the model list is these models, and the project's model is picked to start with. A chat AI already built on a platform model keeps the model it was built on, because that model is what you are testing.

Where the platform doesn't judge, judge.model in review.yaml still decides the judge. On a local test runner, the judge is called with that machine's key when it has one; without one, a model the platform provides is judged by the platform, as in a sandbox. In a sandbox, a judge.model that names a model the platform doesn't provide needs its key as a project secret (judge model keys).

Prices ​

US dollars per million tokens, as billed: the model's list price plus 30%, like all model usage on the platform. Cached input is the part of a prompt the provider serves from its cache (a repeated beginning, such as a long system prompt).

ModelInputCached inputOutputList price (input / cached / output)
Gemini 4 Argon$5.20$0.26$26.00$4 / $0.20 / $20
GPT-6.1 Sol$2.60$0.13$13.00$2 / $0.10 / $10
Gemini 3.8 Flash$1.95$0.195$9.75$1.50 / $0.15 / $7.50
GPT-6 Luna$0.13$0.013$0.65$0.10 / $0.01 / $0.50

These models think before they answer, and the tokens they think with are billed as output, as the providers bill them (Gemini reports them apart from its reply; the platform adds them in). Azure charges more for a request above a long-context threshold. The platform's calls stay far below it and are billed at the short-context price. Where each kind of usage appears on your bill, and the limits per run and per day, are on Pricing.

To compare how well they grade, on 9 October 2026 the three models judged the platform's 50-case judge set (facts a reply must state, things it must not say). GPT-6.1 Sol got 50 of 50, Gemini 3.8 Flash 49 of 50 and GPT-6 Luna 48 of 50. gpt-4.1-mini, the previous default judge, got 48 of 50.

Gemini 4 Argon was added on 24 October 2026. It got all 50 cases right in each of three runs, as did GPT-6.1 Sol, and 252 of the 258 cases of the platform's security judge set in both of its runs, to GPT-6.1 Sol's 249 on average. So it ranks first. But each call takes longer than GPT-6.1 Sol's: usually about 60% longer, and two to three times as long for the slowest. The same judging also costs a little over twice as much. So its tier is "Strongest · slower", and GPT-6.1 Sol's is "Strong · faster".

From the same day, Gemini 4 Argon is the platform's default. Projects and organizations that had chosen GPT-6.1 Sol moved to Gemini 4 Argon, and those on GPT-6 Luna to Gemini 3.8 Flash (49 of the 50 cases, to GPT-6 Luna's 48). LLM scorers and Playground columns that named either model moved the same way; a scorer moved by a new version, and its earlier versions and their scores stay as they were. A chat AI built on a platform model didn't move, because that model is what you are testing. GPT-6.1 Sol and GPT-6 Luna can still be chosen.

The organization's default ​

An owner sets "Default model" under "Organization" → "Policy", with the same models. A project set to "Follow the organization default (…)" uses it, and so does the assistant outside a project. If neither the project nor the organization has chosen, the platform's default applies: Gemini 4 Argon (GPT-6.1 Sol before 24 October 2026).

Similarity checks ​

The checks similar and answer_relevance compare meanings through embeddings. Runs the platform judges need no setup for them. The platform uses Google's gemini-embedding-001 on Vertex AI in London (europe-west2), and embeddings aren't billed.

With this model the default thresholds are 0.96 for similar and 0.87 for answer_relevance, measured on labelled pairs in Chinese and English. With other embedding models they stay 0.75 and 0.7. A threshold you write in the check is used as written.

similar only tells whether two answers mean much the same. A wrong date or amount can still score above 0.96, so use "Factuality" to check facts against the reference. On a local test runner, set judge.embedding_model as before.

Where the models run ​

The platform calls these models with its own accounts. Your keys aren't involved, and the platform's keys never enter a sandbox.

ModelProviderWhere it is processed
GPT-6.1 Sol, GPT-6 LunaMicrosoft Azure (Azure AI Foundry), Global Standard deploymentsAny Azure region
Gemini 4 Argon, Gemini 3.8 FlashGoogle Cloud Vertex AI, global endpointAny region Google serves it from
gemini-embedding-001 (similarity checks)Google Cloud Vertex AILondon (europe-west2)

See sub-processors.

Content filters ​

When a GPT model is the AI under test (a chat AI on a platform model, or a sandbox agent's model calls), Azure's default content filter applies; a Gemini model has Google's safety filter. Whichever filter blocks it, the result says "Blocked by the model provider's content filter, not refused by the model". The platform's own calls (the judge's and the platform AI's) use deployments with a relaxed filter, so security tests can still be judged even though their questions are attacks.

When the platform answers a sandbox agent's model call with its Gemini in place of the model the agent asked for, the call goes with Gemini's adjustable safety filters off (every harm category a request can set, OFF; what no setting turns off stays): the substituted model is the platform's choice, and a test's security questions need a real answer to judge. When its safety filter blocks a security test's call (an empty answer, or an HTTP 400 saying the filter turned it down), the platform sends the call again on another family's platform model (GPT-6.1 Sol when Gemini blocks it), and the report's "Not tested this time" names the questions the stand-in answered. When that one blocks it too, that counts as the platform's model failing: the attempt is "Couldn't be tested", never the agent's nor the product's, and isn't charged. When the agent asked for that Gemini itself, its own defaults apply and a block is the model under test's. A setting the model in place doesn't take is left out and the call sent again, said in the run log (Gemini's "Penalty is not enabled for this model": frequency_penalty and presence_penalty). The AI Gateway's calls are never changed.

In the API ​

RouteWhat it does
GET /v1/modelsThe models you can choose, with their ids.
PATCH /v1/projects/<project id>{ "model": "azure:gpt-6-luna" } sets the project's model: a model's id, or null to follow the organization's default. judge_model and agent_model are still accepted for compatibility: a model's id in either sets model.
PATCH /v1/orgs/<org id>{ "default_model": "vertex:gemini-3.8-flash" } sets the organization's default, or null for the platform's. An owner, signed in in the browser.

An id that isn't one of the models answers 400 unknown_model. A model that isn't switched on for this platform right now answers 400 model_unavailable. See API and tokens.

Next steps ​

The legal texts on this site are drafts pending legal review and are not yet in force.