Class: LLM::XAI::Images
- Inherits:
-
OpenAI::Images
- Object
- OpenAI::Images
- LLM::XAI::Images
- Defined in:
- lib/llm/providers/xai/images.rb
Overview
The LLM::XAI::Images class provides an interface for xAI's images API. xAI returns base64-encoded image data.
Instance Method Summary collapse
-
#create(prompt:, model: "grok-imagine-image-quality", **params) ⇒ LLM::Response
Create an image.
-
#edit(image:, prompt:, model: "grok-imagine-image-quality", **params) ⇒ LLM::Response
Edit an image.
Instance Method Details
#create(prompt:, model: "grok-imagine-image-quality", **params) ⇒ LLM::Response
Create an image
34 35 36 37 38 39 40 41 |
# File 'lib/llm/providers/xai/images.rb', line 34 def create(prompt:, model: "grok-imagine-image-quality", **params) req = LLM::Transport::Request.post(path("/images/generations"), headers) req.body = LLM.json.dump({prompt:, n: 1, model:, response_format: "b64_json"}.merge!(params)) res, span, tracer = execute(request: req, operation: "request") res = LLM::OpenAI::ResponseAdapter.adapt(res, type: :image) tracer.on_request_finish(operation: "request", model:, res:, span:) res end |
#edit(image:, prompt:, model: "grok-imagine-image-quality", **params) ⇒ LLM::Response
Edit an image
56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/llm/providers/xai/images.rb', line 56 def edit(image:, prompt:, model: "grok-imagine-image-quality", **params) req = LLM::Transport::Request.post(path("/images/edits"), headers) req.body = LLM.json.dump({ prompt:, model:, image: image_url(image), response_format: "b64_json" }.merge!(params)) res, span, tracer = execute(request: req, operation: "request") res = LLM::OpenAI::ResponseAdapter.adapt(res, type: :image) tracer.on_request_finish(operation: "request", model:, res:, span:) res end |