Skip to content

Commit 3c2b35f

Browse files
chore(models): remove 17 retired provider models from catalogs
Drop models past provider shutdown/EOS/retirement dates (DALL-E, Gemini 3 Pro preview, Mistral 7B/Pixtral, Groq Kimi, BytePlus Seedance lite/Seedream 4.5, retired Grok slugs). Update integration tests and README examples that referenced removed IDs. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 943e0de commit 3c2b35f

13 files changed

Lines changed: 15 additions & 255 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ import celeste
5151
text = await celeste.text.generate("Explain quantum computing", model="claude-opus-4-5")
5252
image = await celeste.images.generate("A serene mountain lake at dawn", model="flux-2-pro")
5353
speech = await celeste.audio.speak("Welcome to the future", model="eleven_v3")
54-
video = await celeste.videos.analyze(video_file, prompt="Summarize this clip", model="gemini-3-pro-preview")
54+
video = await celeste.videos.analyze(video_file, prompt="Summarize this clip", model="gemini-3.1-pro-preview")
5555
embeddings = await celeste.text.embed(["lorep ipsum", "dolor sit amet"], model="gemini-embedding-001")
5656
```
5757

src/celeste/modalities/images/providers/byteplus/models.py

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -50,41 +50,6 @@
5050
ImageParameter.WATERMARK: Bool(),
5151
},
5252
),
53-
Model(
54-
id="seedream-4-5-251128",
55-
provider=Provider.BYTEPLUS,
56-
display_name="Seedream 4.5",
57-
operations={Modality.IMAGES: {Operation.GENERATE}},
58-
streaming=True,
59-
parameter_constraints={
60-
ImageParameter.ASPECT_RATIO: Dimensions(
61-
min_pixels=2560 * 1440, # 3,686,400
62-
max_pixels=4096 * 4096, # 16,777,216
63-
min_aspect_ratio=1 / 16,
64-
max_aspect_ratio=16,
65-
presets={
66-
"2K 1:1": "2048x2048",
67-
"2K 3:4": "1728x2304",
68-
"2K 4:3": "2304x1728",
69-
"2K 16:9": "2848x1600",
70-
"2K 9:16": "1600x2848",
71-
"2K 3:2": "2496x1664",
72-
"2K 2:3": "1664x2496",
73-
"2K 21:9": "3136x1344",
74-
"4K 1:1": "4096x4096",
75-
"4K 3:4": "3520x4704",
76-
"4K 4:3": "4704x3520",
77-
"4K 16:9": "5504x3040",
78-
"4K 9:16": "3040x5504",
79-
"4K 2:3": "3328x4992",
80-
"4K 3:2": "4992x3328",
81-
"4K 21:9": "6240x2656",
82-
},
83-
),
84-
ImageParameter.QUALITY: Choice(options=["2K", "4K"]),
85-
ImageParameter.WATERMARK: Bool(),
86-
},
87-
),
8853
Model(
8954
id="seedream-5-0-260128",
9055
provider=Provider.BYTEPLUS,

src/celeste/modalities/images/providers/openai/models.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,6 @@
77
from ...parameters import ImageParameter
88

99
MODELS: list[Model] = [
10-
Model(
11-
id="dall-e-2",
12-
provider=Provider.OPENAI,
13-
display_name="DALL-E 2",
14-
operations={Modality.IMAGES: {Operation.GENERATE, Operation.EDIT}},
15-
parameter_constraints={
16-
ImageParameter.ASPECT_RATIO: Choice(
17-
options=["256x256", "512x512", "1024x1024"]
18-
),
19-
},
20-
),
21-
Model(
22-
id="dall-e-3",
23-
provider=Provider.OPENAI,
24-
display_name="DALL-E 3",
25-
operations={Modality.IMAGES: {Operation.GENERATE}},
26-
parameter_constraints={
27-
ImageParameter.ASPECT_RATIO: Choice(
28-
options=["1024x1024", "1792x1024", "1024x1792"]
29-
),
30-
ImageParameter.QUALITY: Choice(options=["standard", "hd"]),
31-
},
32-
),
3310
Model(
3411
id="gpt-image-1",
3512
provider=Provider.OPENAI,

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

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -85,26 +85,6 @@
8585
TextParameter.DOCUMENT: DocumentsConstraint(),
8686
},
8787
),
88-
Model(
89-
id="gemini-3-pro-preview",
90-
provider=Provider.GOOGLE,
91-
display_name="Gemini 3 Pro",
92-
operations={Modality.TEXT: {Operation.GENERATE, Operation.ANALYZE}},
93-
streaming=True,
94-
parameter_constraints={
95-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0),
96-
Parameter.MAX_TOKENS: Range(min=1, max=65536),
97-
TextParameter.THINKING_LEVEL: Choice(options=["low", "high"]),
98-
TextParameter.TOOLS: ToolSupport(tools=[WebSearch, CodeExecution]),
99-
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
100-
TextParameter.OUTPUT_SCHEMA: Schema(),
101-
# Media input support
102-
TextParameter.IMAGE: ImagesConstraint(),
103-
TextParameter.VIDEO: VideosConstraint(),
104-
TextParameter.AUDIO: AudioConstraint(),
105-
TextParameter.DOCUMENT: DocumentsConstraint(),
106-
},
107-
),
10888
Model(
10989
id="gemini-3-flash-preview",
11090
provider=Provider.GOOGLE,
@@ -146,15 +126,17 @@
146126
},
147127
),
148128
Model(
149-
id="gemini-3.1-flash-lite-preview",
129+
id="gemini-3.1-flash-lite",
150130
provider=Provider.GOOGLE,
151-
display_name="Gemini 3.1 Flash Lite Preview",
131+
display_name="Gemini 3.1 Flash Lite",
152132
operations={Modality.TEXT: {Operation.GENERATE, Operation.ANALYZE}},
153133
streaming=True,
154134
parameter_constraints={
155135
Parameter.TEMPERATURE: Range(min=0.0, max=2.0),
156136
Parameter.MAX_TOKENS: Range(min=1, max=65536),
157-
TextParameter.THINKING_LEVEL: Choice(options=["low", "high"]),
137+
TextParameter.THINKING_LEVEL: Choice(
138+
options=["minimal", "low", "medium", "high"]
139+
),
158140
TextParameter.TOOLS: ToolSupport(tools=[WebSearch, CodeExecution]),
159141
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
160142
TextParameter.OUTPUT_SCHEMA: Schema(),

src/celeste/modalities/text/providers/groq/models.py

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -47,32 +47,6 @@
4747
TextParameter.TOOLS: ToolSupport(tools=[]),
4848
},
4949
),
50-
Model(
51-
id="moonshotai/kimi-k2-instruct",
52-
provider=Provider.GROQ,
53-
display_name="Kimi K2 Instruct",
54-
operations={Modality.TEXT: {Operation.GENERATE}},
55-
streaming=True,
56-
parameter_constraints={
57-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0, step=0.01),
58-
Parameter.MAX_TOKENS: Range(min=1, max=16384, step=1),
59-
TextParameter.OUTPUT_SCHEMA: Schema(),
60-
TextParameter.TOOLS: ToolSupport(tools=[]),
61-
},
62-
),
63-
Model(
64-
id="moonshotai/kimi-k2-instruct-0905",
65-
provider=Provider.GROQ,
66-
display_name="Kimi K2 Instruct 0905",
67-
operations={Modality.TEXT: {Operation.GENERATE}},
68-
streaming=True,
69-
parameter_constraints={
70-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0, step=0.01),
71-
Parameter.MAX_TOKENS: Range(min=1, max=16384, step=1),
72-
TextParameter.OUTPUT_SCHEMA: Schema(),
73-
TextParameter.TOOLS: ToolSupport(tools=[]),
74-
},
75-
),
7650
Model(
7751
id="meta-llama/llama-4-scout-17b-16e-instruct",
7852
provider=Provider.GROQ,

src/celeste/modalities/text/providers/mistral/models.py

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -89,20 +89,6 @@
8989
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
9090
},
9191
),
92-
Model(
93-
id="open-mistral-7b",
94-
provider=Provider.MISTRAL,
95-
display_name="Open Mistral 7B",
96-
operations={Modality.TEXT: {Operation.GENERATE}},
97-
streaming=True,
98-
parameter_constraints={
99-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0, step=0.01),
100-
Parameter.MAX_TOKENS: Range(min=1, max=32768, step=1),
101-
TextParameter.OUTPUT_SCHEMA: Schema(),
102-
TextParameter.TOOLS: ToolSupport(tools=[]),
103-
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
104-
},
105-
),
10692
Model(
10793
id="codestral-latest",
10894
provider=Provider.MISTRAL,
@@ -159,22 +145,6 @@
159145
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
160146
},
161147
),
162-
Model(
163-
id="pixtral-12b-2409",
164-
provider=Provider.MISTRAL,
165-
display_name="Pixtral 12B",
166-
operations={Modality.TEXT: {Operation.GENERATE, Operation.ANALYZE}},
167-
streaming=True,
168-
parameter_constraints={
169-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0, step=0.01),
170-
Parameter.MAX_TOKENS: Range(min=1, max=32768, step=1),
171-
TextParameter.OUTPUT_SCHEMA: Schema(),
172-
TextParameter.IMAGE: ImagesConstraint(),
173-
TextParameter.DOCUMENT: DocumentsConstraint(),
174-
TextParameter.TOOLS: ToolSupport(tools=[]),
175-
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
176-
},
177-
),
178148
Model(
179149
id="pixtral-12b-latest",
180150
provider=Provider.MISTRAL,

src/celeste/modalities/text/providers/xai/models.py

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -14,76 +14,6 @@
1414
from ...parameters import TextParameter
1515

1616
MODELS: list[Model] = [
17-
Model(
18-
id="grok-4-1-fast-reasoning",
19-
provider=Provider.XAI,
20-
display_name="Grok 4.1 Fast Reasoning",
21-
operations={Modality.TEXT: {Operation.GENERATE}},
22-
streaming=True,
23-
parameter_constraints={
24-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0),
25-
Parameter.MAX_TOKENS: Range(min=1, max=30000),
26-
TextParameter.TOOLS: ToolSupport(tools=[WebSearch, XSearch, CodeExecution]),
27-
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
28-
TextParameter.OUTPUT_SCHEMA: Schema(),
29-
},
30-
),
31-
Model(
32-
id="grok-4-1-fast-non-reasoning",
33-
provider=Provider.XAI,
34-
display_name="Grok 4.1 Fast Non-Reasoning",
35-
operations={Modality.TEXT: {Operation.GENERATE}},
36-
streaming=True,
37-
parameter_constraints={
38-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0),
39-
Parameter.MAX_TOKENS: Range(min=1, max=30000),
40-
TextParameter.TOOLS: ToolSupport(tools=[WebSearch, XSearch, CodeExecution]),
41-
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
42-
TextParameter.OUTPUT_SCHEMA: Schema(),
43-
},
44-
),
45-
Model(
46-
id="grok-4-fast-reasoning",
47-
provider=Provider.XAI,
48-
display_name="Grok 4 Fast Reasoning",
49-
operations={Modality.TEXT: {Operation.GENERATE}},
50-
streaming=True,
51-
parameter_constraints={
52-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0),
53-
Parameter.MAX_TOKENS: Range(min=1, max=30000),
54-
TextParameter.TOOLS: ToolSupport(tools=[WebSearch, XSearch, CodeExecution]),
55-
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
56-
TextParameter.OUTPUT_SCHEMA: Schema(),
57-
},
58-
),
59-
Model(
60-
id="grok-4-fast-non-reasoning",
61-
provider=Provider.XAI,
62-
display_name="Grok 4 Fast Non-Reasoning",
63-
operations={Modality.TEXT: {Operation.GENERATE}},
64-
streaming=True,
65-
parameter_constraints={
66-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0),
67-
Parameter.MAX_TOKENS: Range(min=1, max=30000),
68-
TextParameter.TOOLS: ToolSupport(tools=[WebSearch, XSearch, CodeExecution]),
69-
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
70-
TextParameter.OUTPUT_SCHEMA: Schema(),
71-
},
72-
),
73-
Model(
74-
id="grok-4-0709",
75-
provider=Provider.XAI,
76-
display_name="Grok 4",
77-
operations={Modality.TEXT: {Operation.GENERATE}},
78-
streaming=True,
79-
parameter_constraints={
80-
Parameter.TEMPERATURE: Range(min=0.0, max=2.0),
81-
Parameter.MAX_TOKENS: Range(min=1, max=64000),
82-
TextParameter.TOOLS: ToolSupport(tools=[WebSearch, XSearch, CodeExecution]),
83-
TextParameter.TOOL_CHOICE: ToolChoiceSupport(),
84-
TextParameter.OUTPUT_SCHEMA: Schema(),
85-
},
86-
),
8717
Model(
8818
id="grok-4.20-beta-0309-reasoning",
8919
provider=Provider.XAI,

src/celeste/modalities/videos/providers/byteplus/models.py

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
Console display names differ from API model IDs.
55
"""
66

7-
from celeste.constraints import Choice, ImageConstraint, ImagesConstraint, Range
7+
from celeste.constraints import Choice, ImageConstraint, Range
88
from celeste.core import Modality, Operation, Provider
99
from celeste.mime_types import ImageMimeType
1010
from celeste.models import Model
@@ -22,42 +22,6 @@
2222
]
2323

2424
MODELS: list[Model] = [
25-
Model(
26-
id="seedance-1-0-lite-t2v-250428",
27-
provider=Provider.BYTEPLUS,
28-
operations={Modality.VIDEOS: {Operation.GENERATE}},
29-
display_name="Seedance 1.0 Lite (Text-to-Video)",
30-
parameter_constraints={
31-
VideoParameter.DURATION: Range(min=2, max=12),
32-
VideoParameter.RESOLUTION: Choice(options=["480p", "720p", "1080p"]),
33-
VideoParameter.FIRST_FRAME: ImageConstraint(
34-
supported_mime_types=BYTEPLUS_SUPPORTED_MIME_TYPES,
35-
),
36-
VideoParameter.LAST_FRAME: ImageConstraint(
37-
supported_mime_types=BYTEPLUS_SUPPORTED_MIME_TYPES,
38-
),
39-
},
40-
),
41-
Model(
42-
id="seedance-1-0-lite-i2v-250428",
43-
provider=Provider.BYTEPLUS,
44-
operations={Modality.VIDEOS: {Operation.GENERATE}},
45-
display_name="Seedance 1.0 Lite (Image-to-Video)",
46-
parameter_constraints={
47-
VideoParameter.DURATION: Range(min=2, max=12),
48-
VideoParameter.RESOLUTION: Choice(options=["480p", "720p", "1080p"]),
49-
VideoParameter.REFERENCE_IMAGES: ImagesConstraint(
50-
supported_mime_types=BYTEPLUS_SUPPORTED_MIME_TYPES,
51-
max_count=4,
52-
),
53-
VideoParameter.FIRST_FRAME: ImageConstraint(
54-
supported_mime_types=BYTEPLUS_SUPPORTED_MIME_TYPES,
55-
),
56-
VideoParameter.LAST_FRAME: ImageConstraint(
57-
supported_mime_types=BYTEPLUS_SUPPORTED_MIME_TYPES,
58-
),
59-
},
60-
),
6125
Model(
6226
id="seedance-1-0-pro-250528",
6327
provider=Provider.BYTEPLUS,

src/celeste/providers/openai/images/client.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,6 @@ async def _make_json_request(
7777
extra_headers: dict[str, str] | None = None,
7878
) -> dict[str, Any]:
7979
"""Make JSON request for generate operations."""
80-
# DALL-E 2/3 need b64_json response format
81-
if self.model.id in ("dall-e-2", "dall-e-3"):
82-
request_body.setdefault("response_format", "b64_json")
83-
8480
headers = self._json_headers(extra_headers)
8581

8682
response = await self.http_client.post(

tests/integration_tests/images/test_generate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
@pytest.mark.parametrize(
2121
("provider", "model", "parameters"),
2222
[
23-
(Provider.OPENAI, "dall-e-2", {}),
23+
(Provider.OPENAI, "gpt-image-1-mini", {}),
2424
(Provider.GOOGLE, "imagen-4.0-fast-generate-001", {"num_images": 1}),
2525
(Provider.BYTEPLUS, "seedream-4-0-250828", {}),
2626
(Provider.BFL, "flux-2-pro", {}),

0 commit comments

Comments
 (0)