Module: StableDiffusionRuby

Defined in:
lib/stable_diffusion_ruby.rb,
lib/stable_diffusion_ruby/client.rb,
lib/stable_diffusion_ruby/errors.rb,
lib/stable_diffusion_ruby/result.rb,
lib/stable_diffusion_ruby/version.rb,
lib/stable_diffusion_ruby/dispatcher.rb,
lib/stable_diffusion_ruby/storage/s3.rb,
lib/stable_diffusion_ruby/backend/modal.rb,
lib/stable_diffusion_ruby/configuration.rb,
lib/stable_diffusion_ruby/backend/python.rb

Defined Under Namespace

Modules: Backend, Dispatcher, Storage Classes: BackendError, Client, Configuration, ConfigurationError, Error, Result, StorageError

Constant Summary collapse

GEM_ROOT =
File.expand_path("..", __dir__).freeze
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.configurationObject



25
26
27
# File 'lib/stable_diffusion_ruby.rb', line 25

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



29
30
31
# File 'lib/stable_diffusion_ruby.rb', line 29

def configure
  yield(configuration)
end

.generate(prompt: nil, style: "photorealistic", model: nil, backend: nil) ⇒ Object



47
48
49
# File 'lib/stable_diffusion_ruby.rb', line 47

def generate(prompt: nil, style: "photorealistic", model: nil, backend: nil)
  Client.new.generate(prompt: prompt, style: style, model: model, backend: backend)
end

.inpaint(image_path:, mask_path:, prompt: nil, model: nil, backend: nil) ⇒ Object



51
52
53
# File 'lib/stable_diffusion_ruby.rb', line 51

def inpaint(image_path:, mask_path:, prompt: nil, model: nil, backend: nil)
  Client.new.inpaint(image_path: image_path, mask_path: mask_path, prompt: prompt, model: model, backend: backend)
end

.loggerObject



37
38
39
# File 'lib/stable_diffusion_ruby.rb', line 37

def logger
  configuration.logger
end

.outpaint(source_path:, prompt: nil, model: nil, seed_offset: 0, backend: nil) ⇒ Object

Convenience methods that delegate to a default client



43
44
45
# File 'lib/stable_diffusion_ruby.rb', line 43

def outpaint(source_path:, prompt: nil, model: nil, seed_offset: 0, backend: nil)
  Client.new.outpaint(source_path: source_path, prompt: prompt, model: model, seed_offset: seed_offset, backend: backend)
end

.python_dirObject



21
22
23
# File 'lib/stable_diffusion_ruby.rb', line 21

def python_dir
  File.join(GEM_ROOT, "python")
end

.reset_configuration!Object



33
34
35
# File 'lib/stable_diffusion_ruby.rb', line 33

def reset_configuration!
  @configuration = Configuration.new
end

.rootObject



17
18
19
# File 'lib/stable_diffusion_ruby.rb', line 17

def root
  GEM_ROOT
end