Skip to content

feat(google): add Gemini 4 Hydrogen text model - #607

Merged
Kamilbenkirane merged 1 commit into
mainfrom
claude/google-text-20261113-0745
Nov 13, 2026
Merged

Kamilbenkirane merged 1 commit into
mainfrom
claude/google-text-20261113-0745

Conversation

@Kamilbenkirane

@Kamilbenkirane Kamilbenkirane commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

What

Add gemini-4-hydrogen (Gemini 4 Hydrogen) after gemini-4-carbon, served by the Interactions backend (API key; Vertex also lists it GA with no allowlist): MAX_TOKENS Range(min=1, max=65536), THINKING_LEVEL ["low", "medium", "high", "xhigh"], WebSearch/CodeExecution/UrlContext, ToolChoiceSupport(), Schema(), image/video/audio/document input, streaming=True.

Why

Google released gemini-4-hydrogen GA on the Gemini API, free and paid tiers, on November 12, 2026; Google Cloud lists it GA the same day.

Evidence

  • gemini-4-hydrogen (ModelOption), ThinkingLevel low/medium/high/xhigh (plus minimal), max_output_tokens, google_search/code_execution/url_context, tool_choice, response_format, image/video/audio/document content: Interactions API reference
  • Gemini 4 Hydrogen; text/image/video/audio/PDF in, text out; max output 65,536 synchronous, 1,048,576 only with long decode; thinking low, medium, high, xhigh; search, code execution, URL context, function calling, structured outputs: Gemini 4 Hydrogen
  • Rejects minimal; output past 65,536 needs background; free and paid tiers: What's new in Gemini 4 Hydrogen; GA November 12, 2026: Release notes
  • XHIGH in ThinkingLevel: GenerateContent API reference; thinking_level="MINIMAL" returns HTTP 400, long decode on v1beta1, no allowlist: Gemini 4 Hydrogen (Agent Platform); GA November 12, 2026: Model versions and lifecycle
  • Conflict: the reference's generic ThinkingLevel also lists minimal; live serving rejected it (call below) and wins. streaming=True: the stream call below.

Files

  • src/celeste/modalities/text/providers/google/models.py

Validation

make ci: pass
Live call: made (Celeste Interactions stream, thinking_level="low", max_tokens=16: 2 chunks, status incomplete with usage parsed and no text, the cap spent on 13 reasoning + 3 output tokens; unary thinking_level="minimal" via extra_body: rejected with "Thinking level THINKING_LEVEL_MINIMAL is not supported for this model")

Depends on

none

@Kamilbenkirane
Kamilbenkirane marked this pull request as ready for review November 13, 2026 08:57
@Kamilbenkirane
Kamilbenkirane merged commit e934e5c into main Nov 13, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants