Documentation
¶
Overview ¶
Package imagen provides Google Imagen image generation provider integration.
Index ¶
- type Config
- type Provider
- func (p *Provider) CalculateCost(inputTokens, outputTokens, cachedTokens int) types.CostInfo
- func (p *Provider) Close() error
- func (p *Provider) Generate(ctx context.Context, req base.ImageRequest) (base.ImageResponse, error)
- func (p *Provider) Model() string
- func (p *Provider) Predict(ctx context.Context, req providers.PredictionRequest) (providers.PredictionResponse, error)
- func (p *Provider) PredictStream(ctx context.Context, req providers.PredictionRequest) (<-chan providers.StreamChunk, error)
- func (p *Provider) Pricing() *base.PricingDescriptor
- func (p *Provider) SupportsStreaming() bool
- func (p *Provider) Type() base.ProviderType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v1.1.3
type Config struct {
ID string
Model string
BaseURL string
ApiKey string
ProjectID string
Location string
IncludeRawOutput bool
Defaults providers.ProviderDefaults
}
ImagenConfig holds configuration for creating an Imagen provider
type Provider ¶ added in v1.1.3
type Provider struct {
providers.BaseProvider
BaseURL string
ApiKey string
ProjectID string
Location string
Defaults providers.ProviderDefaults
HTTPClient *http.Client
// contains filtered or unexported fields
}
Provider implements the Provider interface for Google's Imagen image generation
func NewProvider ¶ added in v1.1.3
NewProvider creates a new Imagen provider
func (*Provider) CalculateCost ¶ added in v1.1.3
CalculateCost calculates cost breakdown (simplified for Imagen)
func (*Provider) Generate ¶ added in v1.4.7
func (p *Provider) Generate(ctx context.Context, req base.ImageRequest) (base.ImageResponse, error)
Generate satisfies base.ImageProvider. It delegates to Predict by translating the ImageRequest into the legacy PredictionRequest shape internally, then extracts the image bytes back into an ImageResponse.
This is a thin shim — call sites that already use Predict continue to work. Future PRs can migrate call sites to Generate directly.
func (*Provider) Model ¶ added in v1.1.3
Model returns the model name/identifier used by this provider.
func (*Provider) Predict ¶ added in v1.1.3
func (p *Provider) Predict(ctx context.Context, req providers.PredictionRequest) (providers.PredictionResponse, error)
Predict generates images based on the last user message
func (*Provider) PredictStream ¶ added in v1.1.3
func (p *Provider) PredictStream( ctx context.Context, req providers.PredictionRequest, ) (<-chan providers.StreamChunk, error)
PredictStream is not supported for image generation
func (*Provider) Pricing ¶ added in v1.4.7
func (p *Provider) Pricing() *base.PricingDescriptor
Pricing returns Imagen's per-image pricing descriptor.
func (*Provider) SupportsStreaming ¶ added in v1.1.3
SupportsStreaming returns false for Imagen
func (*Provider) Type ¶ added in v1.4.7
func (p *Provider) Type() base.ProviderType
Type returns base.ProviderTypeImage. Imagen is an image generation provider, not an inference provider — overriding the default from the embedded providers.BaseProvider helper.