From 67057c697872ff5ede36614bc0a1016888d1fe9f Mon Sep 17 00:00:00 2001 From: kamilbenkirane Date: Tue, 24 Feb 2026 11:10:47 +0100 Subject: [PATCH] feat(models): add Gemini 3.1 Pro and Claude Sonnet 4.6 - Add gemini-3.1-pro-preview with low/medium/high thinking levels - Add claude-sonnet-4-6 with 64K max tokens and extended thinking Co-Authored-By: Claude Sonnet 4.6 --- .../text/providers/anthropic/models.py | 14 ++++++++++++++ .../modalities/text/providers/google/models.py | 18 ++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/celeste/modalities/text/providers/anthropic/models.py b/src/celeste/modalities/text/providers/anthropic/models.py index c36ad07f..dc126d51 100644 --- a/src/celeste/modalities/text/providers/anthropic/models.py +++ b/src/celeste/modalities/text/providers/anthropic/models.py @@ -77,6 +77,20 @@ TextParameter.IMAGE: ImagesConstraint(), }, ), + Model( + id="claude-sonnet-4-6", + provider=Provider.ANTHROPIC, + display_name="Claude Sonnet 4.6", + operations={Modality.TEXT: {Operation.GENERATE, Operation.ANALYZE}}, + streaming=True, + parameter_constraints={ + Parameter.MAX_TOKENS: Range(min=1, max=64000), + TextParameter.THINKING_BUDGET: Range(min=-1, max=64000), + TextParameter.OUTPUT_SCHEMA: Schema(), + TextParameter.WEB_SEARCH: Bool(), + TextParameter.IMAGE: ImagesConstraint(), + }, + ), Model( id="claude-sonnet-4-20250514", provider=Provider.ANTHROPIC, diff --git a/src/celeste/modalities/text/providers/google/models.py b/src/celeste/modalities/text/providers/google/models.py index ce5f718e..eda3dad0 100644 --- a/src/celeste/modalities/text/providers/google/models.py +++ b/src/celeste/modalities/text/providers/google/models.py @@ -112,4 +112,22 @@ TextParameter.AUDIO: AudioConstraint(), }, ), + Model( + id="gemini-3.1-pro-preview", + provider=Provider.GOOGLE, + display_name="Gemini 3.1 Pro", + operations={Modality.TEXT: {Operation.GENERATE, Operation.ANALYZE}}, + streaming=True, + parameter_constraints={ + Parameter.TEMPERATURE: Range(min=0.0, max=2.0), + Parameter.MAX_TOKENS: Range(min=1, max=65536), + TextParameter.THINKING_LEVEL: Choice(options=["low", "medium", "high"]), + TextParameter.OUTPUT_SCHEMA: Schema(), + TextParameter.WEB_SEARCH: Bool(), + # Media input support + TextParameter.IMAGE: ImagesConstraint(), + TextParameter.VIDEO: VideosConstraint(), + TextParameter.AUDIO: AudioConstraint(), + }, + ), ]