Module: ReveAI

Defined in:
lib/reve_ai.rb,
lib/reve_ai/client.rb,
lib/reve_ai/errors.rb,
lib/reve_ai/version.rb,
lib/reve_ai/response.rb,
lib/reve_ai/http/client.rb,
lib/reve_ai/configuration.rb,
lib/reve_ai/resources/base.rb,
lib/reve_ai/resources/images.rb

Overview

Ruby client for the Reve image generation API.

ReveAI provides a lightweight Faraday-based wrapper for the Reve API, supporting image creation, editing, and remixing operations.

Examples:

Global configuration

ReveAI.configure do |config|
  config.api_key = ENV["REVE_AI_API_KEY"]
  config.timeout = 120
end

client = ReveAI::Client.new
result = client.images.create(prompt: "A sunset over mountains")

Per-instance configuration

client = ReveAI.client(api_key: "your-api-key", timeout: 60)
result = client.images.create(prompt: "A sunset over mountains")

See Also:

Defined Under Namespace

Modules: HTTP, Resources Classes: APIError, BadRequestError, Client, Configuration, ConfigurationError, ConnectionError, Error, ForbiddenError, ImageResponse, InsufficientCreditsError, NetworkError, NotFoundError, RateLimitError, Response, ServerError, TimeoutError, UnauthorizedError, UnprocessableEntityError, ValidationError

Constant Summary collapse

VERSION =

Returns Current gem version.

Returns:

  • Current gem version

"0.1.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationConfiguration?

Returns Global configuration instance.

Returns:

  • Global configuration instance



36
37
38
# File 'lib/reve_ai.rb', line 36

def configuration
  @configuration
end

Class Method Details

.client(api_key: nil, **options) ⇒ Client

Creates a new API client with optional per-instance configuration.

This is a convenience method equivalent to calling Client.new.

Examples:

client = ReveAI.client(api_key: "your-key", timeout: 60)

Options Hash (**options):

  • :base_url (String)

    Base URL for API requests

  • :timeout (Integer)

    Request timeout in seconds

  • :open_timeout (Integer)

    Connection timeout in seconds

  • :max_retries (Integer)

    Number of retry attempts

  • :logger (Logger)

    Logger instance for debugging

  • :debug (Boolean)

    Enable debug logging

Parameters:

  • (defaults to: nil)

    API key (defaults to global config or ENV)

  • Additional configuration options

Returns:

  • New client instance



86
87
88
# File 'lib/reve_ai.rb', line 86

def client(api_key: nil, **options)
  Client.new(api_key: api_key, **options)
end

.configure {|config| ... } ⇒ Configuration

Configures global settings for all ReveAI clients.

Examples:

ReveAI.configure do |config|
  config.api_key = "your-api-key"
  config.base_url = "https://api.reve.com"
  config.timeout = 120
  config.debug = true
end

Yields:

  • (config)

    Configuration block

Yield Parameters:

Returns:

  • The configuration instance



51
52
53
54
55
# File 'lib/reve_ai.rb', line 51

def configure
  self.configuration ||= Configuration.new
  yield(configuration) if block_given?
  configuration
end

.reset_configuration!nil

Resets the global configuration to nil.

Useful for testing or reinitializing the client.

Examples:

ReveAI.reset_configuration!

Returns:



65
66
67
# File 'lib/reve_ai.rb', line 65

def reset_configuration!
  self.configuration = nil
end