diff --git a/CHANGELOG.md b/CHANGELOG.md index 02ecaa78..fffbe545 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Images** — OpenAI `gpt-image-2`, `gpt-image-2.5-flare` and `gpt-image-2.5-sunburst` accept any documented `WIDTHxHEIGHT` size (multiples of 16, 1:3 to 3:1, at most 3840 per edge, 655,360–8,294,400 pixels) with the standard sizes kept as presets, instead of eight fixed sizes (#564). - **Text** — Anthropic on Claude on Google Cloud (GoogleADC) sends image and document inputs as base64 sources; the route accepts no URL sources (#570). - **Videos** — Google `veo-3.1-generate-preview` is no longer registered: the Gemini API shut it down on October 22, 2026 and now answers 404 `NOT_FOUND`. No Veo model remains registered; Google's replacement is `gemini-omni-1.2-flash` (#585). +- **Live** — Google `gemini-3.8-live` and `gemini-3.8-live-extended-thinking` constrain `max_tokens` to 1–65,536, the documented output-token limit, as the Google text models do; a larger value raises `ConstraintViolationError` instead of being sent (#590). --- diff --git a/src/celeste/modalities/live/providers/google/models.py b/src/celeste/modalities/live/providers/google/models.py index aab58d35..ce60fb34 100644 --- a/src/celeste/modalities/live/providers/google/models.py +++ b/src/celeste/modalities/live/providers/google/models.py @@ -5,6 +5,7 @@ Choice, Constraint, ImagesConstraint, + Range, ToolSupport, ) from celeste.core import Modality, Operation, Provider @@ -33,6 +34,7 @@ parameter_constraints={ **_MEDIA_CONSTRAINTS, LiveParameter.VOICE: VoiceConstraint(voices=GOOGLE_VOICES), + LiveParameter.MAX_TOKENS: Range(min=1, max=65536), }, ), Model( @@ -44,6 +46,7 @@ parameter_constraints={ **_MEDIA_CONSTRAINTS, LiveParameter.VOICE: VoiceConstraint(voices=GOOGLE_VOICES), + LiveParameter.MAX_TOKENS: Range(min=1, max=65536), LiveParameter.THINKING_LEVEL: Choice(options=["LOW", "MEDIUM", "HIGH"]), }, ),