Class: ReveAI::ImageResponse

Inherits:
Response show all
Defined in:
lib/reve_ai/response.rb

Overview

Response wrapper for image generation API responses.

Provides convenient accessors for image data, version info, content policy status, and credit usage.

Examples:

Accessing image data

result = client.images.create(prompt: "A sunset")
png_data = Base64.decode64(result.base64)
File.binwrite("image.png", png_data)

Checking content policy

result = client.images.create(prompt: "...")
if result.content_violation?
  puts "Content policy violated"
end

Tracking credit usage

result = client.images.create(prompt: "A cat")
puts "Used #{result.credits_used} credits, #{result.credits_remaining} remaining"

See Also:

Instance Attribute Summary

Attributes inherited from Response

#body, #headers, #status

Instance Method Summary collapse

Methods inherited from Response

#initialize, #request_id, #success?

Constructor Details

This class inherits a constructor from ReveAI::Response

Instance Method Details

#base64String?

Alias for #image.

Returns:

  • Base64 encoded PNG image data

See Also:



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

def base64
  image
end

#content_violation?Boolean

Checks if the generated image violates content policy.

Examples:

if result.content_violation?
  puts "Warning: Content policy violated"
end

Returns:

  • true if content policy was violated



109
110
111
112
# File 'lib/reve_ai/response.rb', line 109

def content_violation?
  body[:content_violation] == true ||
    headers["x-reve-content-violation"] == "true"
end

#credits_remainingInteger?

Returns the number of credits remaining after this request.

Examples:

if result.credits_remaining < 100
  puts "Warning: Low credit balance"
end

Returns:

  • Remaining credit balance



132
133
134
# File 'lib/reve_ai/response.rb', line 132

def credits_remaining
  body[:credits_remaining] || headers["x-reve-credits-remaining"]&.to_i
end

#credits_usedInteger?

Returns the number of credits used for this request.

Examples:

puts "This request used #{result.credits_used} credits"

Returns:

  • Credits consumed by this generation



120
121
122
# File 'lib/reve_ai/response.rb', line 120

def credits_used
  body[:credits_used] || headers["x-reve-credits-used"]&.to_i
end

#imageString?

Returns the base64 encoded image data.

The image is in PNG format. Use Base64.decode64 to get raw bytes.

Examples:

Save to file

require "base64"
png_bytes = Base64.decode64(result.image)
File.binwrite("output.png", png_bytes)

Returns:

  • Base64 encoded PNG image data



79
80
81
# File 'lib/reve_ai/response.rb', line 79

def image
  body[:image]
end

#versionString?

Returns the model version used for generation.

Examples:

result.version # => "reve-create@20250915"

Returns:

  • Model version (e.g., “reve-create@20250915”)



97
98
99
# File 'lib/reve_ai/response.rb', line 97

def version
  body[:version] || headers["x-reve-version"]
end