Skip to content

[BUG] paint is not working with openrouter provider #513

@fguillen

Description

@fguillen

Basic checks

  • I searched existing issues - this hasn't been reported
  • I can reproduce this consistently
  • This is a RubyLLM bug, not my application code

What's broken?

In my application I use openrouter as provider, when I use the paint method I receive a:

 status=405,
 reason_phrase="Method Not Allowed",

In the response

How to reproduce

RubyLLM.configure do |config|
  config.openrouter_api_key = ENV["OPENROUTER_API_KEY"]
  config.default_image_model = "openai/gpt-5-image"
end
    
RubyLLM.paint("Generate an image of a dog in rollers")

The request is made to:

https://openrouter.ai/api/v1/images/generations

And this URL doesn't exist in the API.

Looking in the OpenRouter API doc I see the image generation uses the same endpoint that the chat:

https://openrouter.ai/api/v1/chat/completions

Expected behavior

The DSL uses the proper openrouter endpoint and generates the image

What actually happened

Response error

Environment

  • Ruby version: 3.3.4
  • RubyLLM version: 1.9.0
  • Provider: OpenRouter
  • OS: MacOS

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions