Class: LLM::XAI::Images

Inherits:
OpenAI::Images show all
Defined in:
lib/llm/providers/xai/images.rb

Overview

The LLM::XAI::Images class provides an interface for xAI’s images API. xAI supports multiple response formats: temporary URLs, or binary strings encoded in base64. The default is to return temporary URLs.

Examples:

Temporary URLs

#!/usr/bin/env ruby
require "llm"
require "open-uri"
require "fileutils"

llm = LLM.xai(key: ENV["KEY"])
res = llm.images.create prompt: "A dog on a rocket to the moon"
FileUtils.mv OpenURI.open_uri(res.urls[0]).path,
             "rocket.png"

Binary strings

#!/usr/bin/env ruby
require "llm"

llm = LLM.xai(key: ENV["KEY"])
res = llm.images.create prompt: "A dog on a rocket to the moon",
                        response_format: "b64_json"
IO.copy_stream res.images[0], "rocket.png"

Instance Method Summary collapse

Methods inherited from OpenAI::Images

#initialize

Constructor Details

This class inherits a constructor from LLM::OpenAI::Images

Instance Method Details

#create(prompt:, model: "grok-2-image-1212", **params) ⇒ LLM::Response

Create an image

Examples:

llm = LLM.xai(key: ENV["KEY"])
res = llm.images.create prompt: "A dog on a rocket to the moon"
res.urls.each { print _1, "\n"}

Parameters:

  • prompt (String)

    The prompt

  • model (String) (defaults to: "grok-2-image-1212")

    The model to use

  • params (Hash)

    Other parameters (see xAI docs)

Returns:

See Also:



42
43
44
# File 'lib/llm/providers/xai/images.rb', line 42

def create(prompt:, model: "grok-2-image-1212", **params)
  super
end

#edit(model: "grok-2-image-1212") ⇒ Object

Raises:

  • (NotImplementedError)


48
49
50
# File 'lib/llm/providers/xai/images.rb', line 48

def edit(model: "grok-2-image-1212", **)
  raise NotImplementedError
end

#create_variation(model: "grok-2-image-1212") ⇒ Object

Raises:

  • (NotImplementedError)


54
55
56
# File 'lib/llm/providers/xai/images.rb', line 54

def create_variation(model: "grok-2-image-1212", **)
  raise NotImplementedError
end