Skip to content

Commit b0f65e7

Browse files
committed
Fix OpenRouter, models.dev now uses @openrouter/ai-sdk-provider
1 parent af44a3a commit b0f65e7

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

llms/extensions/providers/openrouter.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66

77
def install_openrouter(ctx):
8-
from llms.main import GeneratorBase
8+
from llms.main import GeneratorBase, OpenAiCompatible
99

1010
# https://openrouter.ai/docs/guides/overview/multimodal/image-generation
1111
class OpenRouterGenerator(GeneratorBase):
@@ -53,6 +53,8 @@ async def chat(self, chat, provider=None, context=None):
5353
chat_url = provider.chat_url
5454
# remove tools
5555
chat.pop("tools", None)
56+
# most image models fail if specifying text modality, e.g: ["image","text"]
57+
chat["modalities"] = ["image"]
5658
chat = await self.process_chat(chat, provider_id=self.id)
5759
ctx.log(f"POST {chat_url}")
5860
ctx.log(provider.chat_summary(chat))
@@ -71,4 +73,12 @@ async def chat(self, chat, provider=None, context=None):
7173
self.to_response(await self.response_json(response), chat, started_at, context=context)
7274
)
7375

76+
class OpenRouterProvider(OpenAiCompatible):
77+
sdk = "@openrouter/ai-sdk-provider"
78+
79+
def __init__(self, **kwargs):
80+
super().__init__(**kwargs)
81+
self.modalities["image"] = OpenRouterGenerator(**kwargs)
82+
7483
ctx.add_provider(OpenRouterGenerator)
84+
ctx.add_provider(OpenRouterProvider)

llms/llms.json

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -431,13 +431,7 @@
431431
},
432432
"openrouter": {
433433
"enabled": true,
434-
"id": "openrouter",
435-
"modalities": {
436-
"image": {
437-
"name": "OpenRouter Image",
438-
"npm": "openrouter/image"
439-
}
440-
}
434+
"id": "openrouter"
441435
},
442436
"nvidia": {
443437
"enabled": true,

0 commit comments

Comments
 (0)