Gemini.Models (GeminiEx v0.0.1)

View Source

API for managing and querying Gemini models.

Summary

Functions

Check if a model exists and is available.

Get information about a specific model.

List available Gemini models.

List all available model names.

Get models that support a specific generation method.

Functions

exists?(model_name)

Check if a model exists and is available.

Examples

iex> Gemini.Models.exists?("gemini-2.0-flash")
{:ok, true}

iex> Gemini.Models.exists?("invalid-model")
{:ok, false}

get(model_name)

Get information about a specific model.

Parameters

  • model_name - Name of the model (e.g., "gemini-2.0-flash")

Examples

iex> Gemini.Models.get("gemini-2.0-flash")
{:ok, %Model{name: "models/gemini-2.0-flash", ...}}

iex> Gemini.Models.get("invalid-model")
{:error, %Gemini.Error{type: :api_error, ...}}

list(opts \\ [])

List available Gemini models.

Options

  • :page_size - Maximum number of models to return (default: 50)
  • :page_token - Token for pagination

Examples

iex> Gemini.Models.list()
{:ok, %ListModelsResponse{models: [%Model{...}], next_page_token: nil}}

iex> Gemini.Models.list(page_size: 10)
{:ok, %ListModelsResponse{...}}

list_names()

List all available model names.

Examples

iex> Gemini.Models.list_names()
{:ok, ["gemini-2.0-flash", "gemini-1.5-pro", "gemini-1.5-flash"]}

supporting_method(method)

Get models that support a specific generation method.

Parameters

  • method - Generation method (e.g., "generateContent", "streamGenerateContent")

Examples

iex> Gemini.Models.supporting_method("generateContent")
{:ok, [%Model{...}, ...]}