Gemini.Types.Request.EmbedContentBatch (GeminiEx v0.8.4)

View Source

Async batch embedding job request.

Submit a large batch of embedding requests for asynchronous processing at 50% cost compared to interactive API.

Fields

  • model: Model to use (e.g., "models/gemini-embedding-001")
  • name: Output only - assigned by API (format: "batches/{batchId}")
  • display_name: Human-readable batch name (required)
  • input_config: Input configuration (file or inline requests)
  • priority: Processing priority (default 0, higher = more urgent)

Examples

# Create batch with inline requests
EmbedContentBatch.new(
  "models/gemini-embedding-001",
  input_config,
  display_name: "Knowledge Base Embeddings"
)

# With priority
EmbedContentBatch.new(
  "models/gemini-embedding-001",
  input_config,
  display_name: "Urgent Batch",
  priority: 10
)

Summary

Functions

Creates a new async batch embedding request.

Converts the batch request to API-compatible map format.

Types

t()

@type t() :: %Gemini.Types.Request.EmbedContentBatch{
  display_name: String.t(),
  input_config: Gemini.Types.Request.InputEmbedContentConfig.t(),
  model: String.t(),
  name: String.t() | nil,
  priority: integer() | nil
}

Functions

new(model, input_config, opts \\ [])

Creates a new async batch embedding request.

Parameters

  • model: Model to use (e.g., "gemini-embedding-001" or full path)
  • input_config: Input configuration (file or inline)
  • opts: Optional keyword list
    • :display_name: Human-readable name (required)
    • :priority: Processing priority (default: 0)
    • :name: Batch identifier (output only, set by API)

Examples

EmbedContentBatch.new(
  "gemini-embedding-001",
  input_config,
  display_name: "My Batch"
)

to_api_map(batch)

@spec to_api_map(t()) :: map()

Converts the batch request to API-compatible map format.

The API expects all fields to be wrapped in a batch object.