image

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

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 提供者.

func DefaultFluxConfig

func DefaultFluxConfig() FluxConfig

DefaultFluxConfig 返回默认 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

Flux 不支持编辑 。

func (*FluxProvider) Generate

生成使用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

Edit 利用 Gemini 多模态能力编辑修改已有图像.

func (*GeminiProvider) Generate

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 (*OpenAIProvider) Generate

从文本提示生成图像 。

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"`
}

变异请求代表图像变异请求.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL