Class: Observ::ImageGeneration

Inherits:
Observation show all
Defined in:
app/models/observ/image_generation.rb

Instance Method Summary collapse

Methods inherited from Observation

#duration_ms

Instance Method Details

#finalize(output:, usage: {}, cost_usd: 0.0, status_message: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'app/models/observ/image_generation.rb', line 5

def finalize(output:, usage: {}, cost_usd: 0.0, status_message: nil)
  merged_usage = (self.usage || {}).merge(usage.stringify_keys)

  update!(
    output: output.is_a?(String) ? output : output.to_json,
    usage: merged_usage,
    cost_usd: cost_usd,
    end_time: Time.current,
    status_message: status_message
  )
end

#mime_typeObject



34
35
36
# File 'app/models/observ/image_generation.rb', line 34

def mime_type
  &.dig("mime_type")
end

#output_formatObject



30
31
32
# File 'app/models/observ/image_generation.rb', line 30

def output_format
  &.dig("output_format") # "url" or "base64"
end

#qualityObject



22
23
24
# File 'app/models/observ/image_generation.rb', line 22

def quality
  &.dig("quality")
end

#revised_promptObject



26
27
28
# File 'app/models/observ/image_generation.rb', line 26

def revised_prompt
  &.dig("revised_prompt")
end

#sizeObject

Image-specific helpers



18
19
20
# File 'app/models/observ/image_generation.rb', line 18

def size
  &.dig("size")
end