Documentation
¶
Index ¶
- type EditRequest
- type FluxConfig
- type FluxProvider
- func (p *FluxProvider) CreateVariation(ctx context.Context, req *VariationRequest) (*GenerateResponse, error)
- func (p *FluxProvider) Edit(ctx context.Context, req *EditRequest) (*GenerateResponse, error)
- func (p *FluxProvider) Generate(ctx context.Context, req *GenerateRequest) (*GenerateResponse, error)
- func (p *FluxProvider) Name() string
- func (p *FluxProvider) SupportedSizes() []string
- type GeminiConfig
- type GeminiProvider
- func (p *GeminiProvider) CreateVariation(ctx context.Context, req *VariationRequest) (*GenerateResponse, error)
- func (p *GeminiProvider) Edit(ctx context.Context, req *EditRequest) (*GenerateResponse, error)
- func (p *GeminiProvider) Generate(ctx context.Context, req *GenerateRequest) (*GenerateResponse, error)
- func (p *GeminiProvider) Name() string
- func (p *GeminiProvider) SupportedSizes() []string
- type GenerateRequest
- type GenerateResponse
- type ImageData
- type ImageUsage
- type Imagen4Config
- type OpenAIConfig
- type OpenAIProvider
- func (p *OpenAIProvider) CreateVariation(ctx context.Context, req *VariationRequest) (*GenerateResponse, error)
- func (p *OpenAIProvider) Edit(ctx context.Context, req *EditRequest) (*GenerateResponse, error)
- func (p *OpenAIProvider) Generate(ctx context.Context, req *GenerateRequest) (*GenerateResponse, error)
- func (p *OpenAIProvider) Name() string
- func (p *OpenAIProvider) SupportedSizes() []string
- type Provider
- type StabilityConfig
- type VariationRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EditRequest ¶
type EditRequest struct {
Image io.Reader `json:"-"`
Mask io.Reader `json:"-"`
Prompt string `json:"prompt"`
Model string `json:"model,omitempty"`
N int `json:"n,omitempty"`
Size string `json:"size,omitempty"`
ResponseFormat string `json:"response_format,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
编辑请求代表图像编辑请求 。
type FluxConfig ¶
type FluxConfig struct {
providers.BaseProviderConfig `yaml:",inline"`
}
FluxConfig 配置 Black Forest Labs Flux 提供者.
type FluxProvider ¶
type FluxProvider struct {
// contains filtered or unexported fields
}
Flux Provider使用 Black Forest Labs Flux执行图像生成. API 文件:https://docs.bfl.ai/quick start/生成 images
func NewFluxProvider ¶
func NewFluxProvider(cfg FluxConfig) *FluxProvider
NewFlux Provider创建了一个新的Flux图像提供者.
func (*FluxProvider) CreateVariation ¶
func (p *FluxProvider) CreateVariation(ctx context.Context, req *VariationRequest) (*GenerateResponse, error)
CreateVariation不由Flux支持.
func (*FluxProvider) Edit ¶
func (p *FluxProvider) Edit(ctx context.Context, req *EditRequest) (*GenerateResponse, error)
Flux 不支持编辑 。
func (*FluxProvider) Generate ¶
func (p *FluxProvider) Generate(ctx context.Context, req *GenerateRequest) (*GenerateResponse, error)
生成使用Flux创建图像. 终点:POST /v1/{型号}(例如:/v1/flux-2-pro) Auth: x- key 头
func (*FluxProvider) Name ¶
func (p *FluxProvider) Name() string
func (*FluxProvider) SupportedSizes ¶
func (p *FluxProvider) SupportedSizes() []string
type GeminiConfig ¶
type GeminiConfig struct {
providers.BaseProviderConfig `yaml:",inline"`
}
GeminiConfig 配置 Google Gemini 图像生成提供者. 嵌入 providers.BaseProviderConfig 以复用 APIKey、Model、Timeout 字段。
func DefaultGeminiConfig ¶
func DefaultGeminiConfig() GeminiConfig
DefaultGeminiConfig 返回默认 Gemini 图像配置.
type GeminiProvider ¶
type GeminiProvider struct {
// contains filtered or unexported fields
}
GeminiProvider 利用 Google Gemini 原生多模态能力实现图像生成.
func NewGeminiProvider ¶
func NewGeminiProvider(cfg GeminiConfig) *GeminiProvider
NewGeminiProvider 创建新的 Gemini 图像提供者.
func (*GeminiProvider) CreateVariation ¶
func (p *GeminiProvider) CreateVariation(ctx context.Context, req *VariationRequest) (*GenerateResponse, error)
CreateVariation 使用 Gemini 创建图像变体.
func (*GeminiProvider) Edit ¶
func (p *GeminiProvider) Edit(ctx context.Context, req *EditRequest) (*GenerateResponse, error)
Edit 利用 Gemini 多模态能力编辑修改已有图像.
func (*GeminiProvider) Generate ¶
func (p *GeminiProvider) Generate(ctx context.Context, req *GenerateRequest) (*GenerateResponse, error)
Generate 利用 Gemini 原生能力生成图像.
func (*GeminiProvider) Name ¶
func (p *GeminiProvider) Name() string
func (*GeminiProvider) SupportedSizes ¶
func (p *GeminiProvider) SupportedSizes() []string
type GenerateRequest ¶
type GenerateRequest struct {
Prompt string `json:"prompt"`
NegativePrompt string `json:"negative_prompt,omitempty"`
Model string `json:"model,omitempty"`
N int `json:"n,omitempty"` // Number of images
Size string `json:"size,omitempty"` // 1024x1024, 1792x1024, etc.
Quality string `json:"quality,omitempty"` // standard, hd
Style string `json:"style,omitempty"` // vivid, natural
ResponseFormat string `json:"response_format,omitempty"` // url, b64_json
Seed int64 `json:"seed,omitempty"`
Steps int `json:"steps,omitempty"` // For SD/Flux
CFGScale float64 `json:"cfg_scale,omitempty"` // Guidance scale
Metadata map[string]string `json:"metadata,omitempty"`
}
生成请求代表图像生成请求 。
type GenerateResponse ¶
type GenerateResponse struct {
Provider string `json:"provider"`
Model string `json:"model"`
Images []ImageData `json:"images"`
Usage ImageUsage `json:"usage,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
生成响应(Generate Response)代表图像生成的响应.
type ImageData ¶
type ImageData struct {
URL string `json:"url,omitempty"`
B64JSON string `json:"b64_json,omitempty"`
RevisedPrompt string `json:"revised_prompt,omitempty"`
Seed int64 `json:"seed,omitempty"`
}
ImageData代表生成的图像.
type ImageUsage ¶
type ImageUsage struct {
ImagesGenerated int `json:"images_generated"`
Cost float64 `json:"cost,omitempty"`
}
ImageUsage代表使用统计.
type Imagen4Config ¶
type Imagen4Config struct {
providers.BaseProviderConfig `yaml:",inline"`
}
Imagen4Config 配置 Google Imagen 4 提供者.
func DefaultImagen4Config ¶
func DefaultImagen4Config() Imagen4Config
DefaultImagen4Config 返回默认 Imagen 4 配置.
type OpenAIConfig ¶
type OpenAIConfig struct {
providers.BaseProviderConfig `yaml:",inline"`
}
OpenAIConfig 配置 OpenAI DALL-E 提供者. 嵌入 providers.BaseProviderConfig 以复用 APIKey、BaseURL、Model、Timeout 字段。
func DefaultOpenAIConfig ¶
func DefaultOpenAIConfig() OpenAIConfig
DefaultOpenAIConfig 返回默认 OpenAI 图像配置.
type OpenAIProvider ¶
type OpenAIProvider struct {
// contains filtered or unexported fields
}
OpenAIProvider使用OpenAI DALL-E执行图像生成.
func NewOpenAIProvider ¶
func NewOpenAIProvider(cfg OpenAIConfig) *OpenAIProvider
新OpenAIProvider创建了新的OpenAI图像提供商.
func (*OpenAIProvider) CreateVariation ¶
func (p *OpenAIProvider) CreateVariation(ctx context.Context, req *VariationRequest) (*GenerateResponse, error)
Create Variation 创建图像的变体 。
func (*OpenAIProvider) Edit ¶
func (p *OpenAIProvider) Edit(ctx context.Context, req *EditRequest) (*GenerateResponse, error)
编辑修改已存在的图像。
func (*OpenAIProvider) Generate ¶
func (p *OpenAIProvider) Generate(ctx context.Context, req *GenerateRequest) (*GenerateResponse, error)
从文本提示生成图像 。
func (*OpenAIProvider) Name ¶
func (p *OpenAIProvider) Name() string
func (*OpenAIProvider) SupportedSizes ¶
func (p *OpenAIProvider) SupportedSizes() []string
type Provider ¶
type Provider interface {
// 从文本提示生成图像 。
Generate(ctx context.Context, req *GenerateRequest) (*GenerateResponse, error)
// 编辑根据快讯修改已存在的图像。
Edit(ctx context.Context, req *EditRequest) (*GenerateResponse, error)
// CreateVariation 创建现有图像的变体.
CreateVariation(ctx context.Context, req *VariationRequest) (*GenerateResponse, error)
// 名称返回提供者名称 。
Name() string
// 支持的返回大小支持的图像大小 。
SupportedSizes() []string
}
提供方定义了图像生成提供者接口.
type StabilityConfig ¶
type StabilityConfig struct {
providers.BaseProviderConfig `yaml:",inline"`
}
StabilityConfig 配置 Stability AI 提供者.
func DefaultStabilityConfig ¶
func DefaultStabilityConfig() StabilityConfig
DefaultStabilityConfig 返回默认 Stability AI 配置.
type VariationRequest ¶
type VariationRequest struct {
Image io.Reader `json:"-"`
Model string `json:"model,omitempty"`
N int `json:"n,omitempty"`
Size string `json:"size,omitempty"`
ResponseFormat string `json:"response_format,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
变异请求代表图像变异请求.