class Multitagger::Provider::Algorithmia

Public Class Methods

new(config) click to toggle source
# File lib/multitagger/provider/algorithmia.rb, line 6
def initialize(config)
  @client = ::Algorithmia.client(config["key"])
end

Public Instance Methods

tag(image) click to toggle source
# File lib/multitagger/provider/algorithmia.rb, line 10
def tag(image)
  algo = @client.algo("deeplearning/IllustrationTagger/0.2.3")
  image_data = Base64.encode64(File.open(image, "rb").read)
  input = { "image" => "data:image/jpeg;base64,#{image_data}" }
  result = algo.pipe(input).result
  result["general"].map { |x| Tag.new(x.keys.first, x.values.first) }
end