# 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