diff --git a/src/celeste/modalities/text/providers/google/models.py b/src/celeste/modalities/text/providers/google/models.py index a728ea9b..e9938e4f 100644 --- a/src/celeste/modalities/text/providers/google/models.py +++ b/src/celeste/modalities/text/providers/google/models.py @@ -327,4 +327,29 @@ TextParameter.DOCUMENT: DocumentsConstraint(), }, ), + Model( + id="gemini-4-hydrogen", + provider=Provider.GOOGLE, + display_name="Gemini 4 Hydrogen", + operations={Modality.TEXT: {Operation.GENERATE, Operation.ANALYZE}}, + streaming=True, + parameter_constraints={ + # Long decode to 1,048,576 needs background / v1beta1; Celeste sends neither. + Parameter.MAX_TOKENS: Range(min=1, max=65536), + # 4 Hydrogen rejects minimal (live API, Vertex model page). + TextParameter.THINKING_LEVEL: Choice( + options=["low", "medium", "high", "xhigh"] + ), + TextParameter.TOOLS: ToolSupport( + tools=[WebSearch, CodeExecution, UrlContext] + ), + TextParameter.TOOL_CHOICE: ToolChoiceSupport(), + TextParameter.OUTPUT_SCHEMA: Schema(), + # Media input support + TextParameter.IMAGE: ImagesConstraint(), + TextParameter.VIDEO: VideosConstraint(), + TextParameter.AUDIO: AudioConstraint(), + TextParameter.DOCUMENT: DocumentsConstraint(), + }, + ), ]