Skip to main content

Plugin API Reference

Complete reference for the Genkit Plugin API, including interfaces, types, and helper functions.

Core Plugin Interfaces

PluginProvider

The main interface for defining a plugin:
Properties:
  • name - Unique plugin identifier (e.g., 'anthropic', 'my-plugin')
  • initializer - Function that returns registered actions or void
  • resolver - Optional function to resolve actions dynamically
  • listActions - Optional function to list available actions for discovery

InitializedPlugin

Return type of the plugin initializer:
Properties:
  • models - Array of model actions
  • retrievers - Array of retriever actions
  • embedders - Array of embedder actions
  • indexers - Array of indexer actions
  • evaluators - Array of evaluator actions

ActionType

Types of actions that can be registered:

Plugin Creation Functions

genkitPlugin (API v1)

Legacy plugin creation function:
Parameters:
  • name - Plugin name
  • initializer - Function to register actions with Genkit instance
  • resolver - Optional dynamic action resolver
  • listActions - Optional action listing function
Example:
New plugin creation function with direct model usage support:
Parameters:
  • name - Plugin name
  • init - Function returning actions to register
  • resolve - Optional dynamic action resolver
  • list - Optional action listing function
Example:

Model API

ModelAction

Model action interface:

ModelInfo

Model capability information:

GenerateRequest

Input to model generation:

GenerateResponseData

Model generation output:

MessageData

Message structure:

modelRef

Create a model reference:
Example:

Embedder API

EmbedderAction

Embedder action interface:

EmbedRequest

Input to embedder:

EmbedResponse

Embedder output:

embedderRef

Create an embedder reference:

Retriever API

RetrieverAction

Retriever action interface:

CommonRetrieverOptionsSchema

Common retriever options:

retrieverRef

Create a retriever reference:

Indexer API

IndexerAction

Indexer action interface:

indexerRef

Create an indexer reference:

Document API

Document

Document class for text/data:
Example:

Configuration Schemas

GenerationCommonConfigSchema

Common generation config:

Utility Functions

getBasicUsageStats

Calculate token usage:

modelActionMetadata

Create model action metadata:

Type Guards

isModelAction

isRetrieverAction

Complete Plugin Example