Current section
Files
Jump to
Current section
Files
lib/googly/cloud_vision/model/image.ex
# NOTE: This file is auto generated by googly. Do not edit it manually.
defmodule Googly.CloudVision.Model.Image do
@moduledoc """
Client image to perform Google Cloud Vision API tasks over.
## Attributes
* `content` (*type:* `String.t()`) - Image content, represented as a stream of bytes. Note: As with all `bytes` fields, protobuffers use a pure binary representation, whereas JSON representations use base64. Currently, this field only works for BatchAnnotateImages requests. It does not work for AsyncBatchAnnotateImages requests.
* `source` (*type:* `Googly.CloudVision.Model.ImageSource.t()`) - Google Cloud Storage image location, or publicly-accessible image URL. If both `content` and `source` are provided for an image, `content` takes precedence and is used to perform the image annotation request.
"""
defstruct [:content, :source]
@type t :: %__MODULE__{
content: String.t() | nil,
source: Googly.CloudVision.Model.ImageSource.t() | nil
}
@wire %{}
@doc false
def __wire__, do: @wire
@doc false
def decode(nil), do: nil
def decode(list) when is_list(list), do: Enum.map(list, &decode/1)
def decode(m) do
%__MODULE__{
content: m["content"],
source: Googly.CloudVision.Model.ImageSource.decode(m["source"])
}
end
end