feat: add GPT-5 generation models to OpenAI providers

Text: gpt-5, gpt-5-mini, gpt-5-nano (all with vision), o3, o4-mini
(with vision), o3-pro (text only)
Image: gpt-image-1.5, gpt-image-1-mini (both with reference images)
This commit is contained in:
Konstantin Fickel 2026-02-15 14:42:43 +01:00
parent 0ecf1f0f9e
commit 2aec223c5d
Signed by: kfickel
GPG key ID: A793722F9933C1A5
4 changed files with 59 additions and 2 deletions

View file

@ -64,6 +64,15 @@ class OpenAIImageProvider(Provider):
@override
def get_provided_models() -> list[ModelInfo]:
return [
ModelInfo(
name="gpt-image-1.5",
provider="OpenAI",
type="image",
capabilities=[
Capability.TEXT_TO_IMAGE,
Capability.REFERENCE_IMAGES,
],
),
ModelInfo(
name="gpt-image-1",
provider="OpenAI",
@ -73,6 +82,15 @@ class OpenAIImageProvider(Provider):
Capability.REFERENCE_IMAGES,
],
),
ModelInfo(
name="gpt-image-1-mini",
provider="OpenAI",
type="image",
capabilities=[
Capability.TEXT_TO_IMAGE,
Capability.REFERENCE_IMAGES,
],
),
ModelInfo(
name="dall-e-3",
provider="OpenAI",

View file

@ -39,6 +39,45 @@ class OpenAITextProvider(Provider):
@override
def get_provided_models() -> list[ModelInfo]:
return [
# GPT-5 family
ModelInfo(
name="gpt-5",
provider="OpenAI",
type="text",
capabilities=[Capability.TEXT_GENERATION, Capability.VISION],
),
ModelInfo(
name="gpt-5-mini",
provider="OpenAI",
type="text",
capabilities=[Capability.TEXT_GENERATION, Capability.VISION],
),
ModelInfo(
name="gpt-5-nano",
provider="OpenAI",
type="text",
capabilities=[Capability.TEXT_GENERATION, Capability.VISION],
),
# Reasoning models
ModelInfo(
name="o3",
provider="OpenAI",
type="text",
capabilities=[Capability.TEXT_GENERATION, Capability.VISION],
),
ModelInfo(
name="o4-mini",
provider="OpenAI",
type="text",
capabilities=[Capability.TEXT_GENERATION, Capability.VISION],
),
ModelInfo(
name="o3-pro",
provider="OpenAI",
type="text",
capabilities=[Capability.TEXT_GENERATION],
),
# GPT-4 family
ModelInfo(
name="gpt-4o",
provider="OpenAI",

View file

@ -9,7 +9,7 @@ dependencies = [
"httpx>=0.27.0",
"mistralai>=1.0.0",
"networkx>=3.6.1",
"openai>=1.0.0",
"openai>=2.21.0",
"pydantic>=2.12.5",
"pyyaml>=6.0",
"typer>=0.23.1",

2
uv.lock generated
View file

@ -73,7 +73,7 @@ requires-dist = [
{ name = "httpx", specifier = ">=0.27.0" },
{ name = "mistralai", specifier = ">=1.0.0" },
{ name = "networkx", specifier = ">=3.6.1" },
{ name = "openai", specifier = ">=1.0.0" },
{ name = "openai", specifier = ">=2.21.0" },
{ name = "pydantic", specifier = ">=2.12.5" },
{ name = "pyyaml", specifier = ">=6.0" },
{ name = "typer", specifier = ">=0.23.1" },