Vibe.Image (vibe v0.2.3)

Copy Markdown View Source

Image data helpers for model, eval, and renderer boundaries.

Summary

Types

t()

@type t() :: %Vibe.Image{
  data: String.t(),
  filename: String.t() | nil,
  height: pos_integer() | nil,
  mime_type: String.t(),
  original_height: pos_integer() | nil,
  original_width: pos_integer() | nil,
  path: String.t() | nil,
  size_bytes: non_neg_integer() | nil,
  was_resized?: boolean(),
  width: pos_integer() | nil
}

Functions

data_uri(image)

@spec data_uri(t()) :: String.t()

dimensions(binary, mime_type)

@spec dimensions(binary(), String.t()) :: {pos_integer() | nil, pos_integer() | nil}

from_base64(data, mime_type, opts \\ [])

@spec from_base64(String.t(), String.t(), keyword()) ::
  {:ok, t()} | {:error, String.t()}

from_base64!(data, mime_type, opts \\ [])

@spec from_base64!(String.t(), String.t(), keyword()) :: t()

from_binary(path, binary, mime_type, stat)

@spec from_binary(String.t(), binary(), String.t(), File.Stat.t()) :: t()

from_file(path, opts \\ [])

@spec from_file(
  String.t(),
  keyword()
) :: {:ok, t()} | {:error, String.t()}

mime_type(path)

@spec mime_type(String.t()) :: String.t() | nil

supported?(path)

@spec supported?(String.t()) :: boolean()

supported_mime_types()

@spec supported_mime_types() :: [String.t()]

to_content_parts(image)

@spec to_content_parts(t()) :: [map()]