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(), + }, + ), ]