Available isn't usable — what trustworthy agent execution takes
The most common letdown on an agent platform is the moment something you thought worked doesn't. A model shows up in the dropdown but the run fails; a translation agent answers the wrong thing; you fire a few runs quickly and the balance goes negative. This update is about closing exactly that gap — between a model being available and a model being usable.
Being in the catalog doesn't mean it runs
Wiring up the latest Gemini 3 made one thing clear: a model name appearing in the cloud catalog doesn't mean a call will succeed — region, access, and endpoint can all return a 404. Gemini 3 didn't answer on the regional endpoint and only worked on the global one; until the code absorbed that difference, it was ‘in the list but broken’.
So we made the rule explicit. A model goes into the picker only after we've actually called it once in this deployment and gotten a real answer back — not because it shows up in a catalog. Every model was verified with a real run before being added, confirming both synthesis and web-search grounding work.
So we only show models that actually run
The studio model picker is now Gemini 3.5 Flash (default), Gemini 3.1 Pro, and Gemini 2.5 Pro/Flash/Flash-Lite — all confirmed to run in Real mode in this deployment. Models that 404 on call, or that fail because a key isn't connected yet, were taken out of the list.
An honesty note: the model gateway supports other providers like OpenAI and Anthropic by design, but those only run when the provider's key is connected in the environment. Listing a model you can't actually call is just pretending it works, so for now we don't surface it.
An agent should act on your input, not on the instruction
A subtle but serious bug lived in one-sentence transform agents (translate, summarize, classify). For the same ‘translate to French’ agent, depending on the model, some runs translated your sentence and others translated the instruction ‘translate the following sentence’ itself — because whether your input made it into the prompt was non-deterministic.
Now a single tool-free transform node always has the runtime include your input in the prompt (without duplicating it when it's already there). Whatever the model, however many times you re-run, the agent acts on the input you gave. We verified five models on the same input — all of them translate the input.
Slow or concurrent — cost stays safe
Trust isn't only about output quality; it's about cost. A Real run atomically reserves its budget cap before it starts and settles only the actual cost when it finishes. As a result, firing several runs concurrently on the same account can't overdraw the balance into the negative.
And if a run is slow enough that the request times out, you aren't billed for a result you never received. Refine and simulate run on an async queue you poll for progress, so a dropped connection never leaves you with ‘I saw a failure but got charged’. Trust, cost, and governance aren't a slogan — they start with fundamentals like these.
Your turn to build
Compile your first agent graph from a single sentence.