fooocusplus

package
v0.0.0-...-08f501e Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2025 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Overview

Package fooocusplus implements reading and writing FooocusPlus metadata (image generation parameters).

Index

Constants

View Source
const (
	Software = "FooocusPlus"
)

Variables

This section is empty.

Functions

func NewFooocusPlusMetadataExtractor

func NewFooocusPlusMetadataExtractor() m.Reader[Metadata]

func NewFooocusPlusMetadataWriter

func NewFooocusPlusMetadataWriter() m.Writer[Metadata]

func ParsePrivateLog

func ParsePrivateLog(filePath string) (map[string]Metadata, error)

Types

type FooocusPlusMetadataExtractor

type FooocusPlusMetadataExtractor struct {
	*m.FileMetadataExtractor
}

FooocusPlusMetadataExtractor can decode embedded Fooocus Plus metadata from an image file, or external metadata from the Fooocus Plus private log.

func (FooocusPlusMetadataExtractor) Decode

func (FooocusPlusMetadataExtractor) Extract

type FooocusPlusMetadataWriter

type FooocusPlusMetadataWriter struct {
	*m.PngMetadataWriter
}

FooocusPlusMetadataWriter can embed Fooocus Plus metadata into a PNG image file.

func (FooocusPlusMetadataWriter) CopyWrite

func (w FooocusPlusMetadataWriter) CopyWrite(source io.Reader, target io.Writer, metadata Metadata) error

func (FooocusPlusMetadataWriter) Write

func (w FooocusPlusMetadataWriter) Write(target io.Writer, metadata Metadata) error

type Metadata

type Metadata struct {
	AdmGuidance        *fooocus.AdmGuidance `json:"ADM Guidance"`
	BackendEngine      string               `json:"Backend Engine"`
	BaseModel          string               `json:"Base Model"`
	BaseModelHash      string               `json:"Base Model Hash"`
	ClipSkip           uint8                `json:"CLIP Skip"`
	FooocusV2Expansion string               `json:"Fooocus V2 Expansion"`
	FullNegativePrompt []string             `json:"Full Negative Prompt"`
	FullPrompt         []string             `json:"Full Prompt"`
	GuidanceScale      float32              `json:"Guidance Scale"`
	Loras              []fooocus.Lora       `json:"LoRAs"`
	MetadataScheme     string               `json:"Metadata Scheme"`
	NegativePrompt     string               `json:"Negative Prompt"`
	Performance        string               `json:"Performance"`
	Prompt             string               `json:"Prompt"`
	RefinerModel       string               `json:"Refiner Model,omitempty"`
	RefinerModelHash   string               `json:"Refiner Model Hash,omitempty"`  // TODO
	RefinerSwapMethod  string               `json:"Refiner Swap Method,omitempty"` // TODO
	RefinerSwitch      float32              `json:"Refiner Switch"`
	Resolution         *fooocus.Resolution  `json:"Resolution"`
	Sampler            string               `json:"Sampler"`
	Scheduler          string               `json:"Scheduler"`
	Seed               string               `json:"Seed"`
	Sharpness          float32              `json:"Sharpness"`
	Steps              uint8                `json:"Steps"`
	Styles             fooocus.Styles       `json:"Styles"`
	StylesDefinition   string               `json:"styles_definition"`
	User               string               `json:"User"`
	Vae                string               `json:"VAE"`
	Version            string               `json:"Version"`
}

type MetadataPrivateLog

type MetadataPrivateLog struct {
	AdmGuidance        *fooocus.AdmGuidance `json:"adm_guidance"`
	BackendEngine      string               `json:"backend_engine"`
	BaseModel          string               `json:"base_model"`
	BaseModelHash      string               `json:"Base Model Hash"` // TODO
	ClipSkip           uint8                `json:"clip_skip"`
	FooocusV2Expansion string               `json:"prompt_expansion"`
	FullNegativePrompt []string             `json:"Full Negative Prompt"` // TODO
	FullPrompt         []string             `json:"Full Prompt"`          // TODO
	GuidanceScale      float32              `json:"guidance_scale"`
	Loras              []fooocus.Lora       `json:"LoRAs"` // TODO
	MetadataScheme     string               `json:"metadata_scheme"`
	NegativePrompt     string               `json:"negative_prompt"`
	Performance        string               `json:"performance"`
	Prompt             string               `json:"prompt"`
	RefinerModel       string               `json:"refiner_model,omitempty"`
	RefinerModelHash   string               `json:"Refiner Model Hash,omitempty"`  // TODO
	RefinerSwapMethod  string               `json:"Refiner Swap Method,omitempty"` // TODO
	RefinerSwitch      float32              `json:"refiner_switch"`
	Resolution         *fooocus.Resolution  `json:"resolution"`
	Sampler            string               `json:"sampler"`
	Scheduler          string               `json:"scheduler"`
	Seed               string               `json:"seed"`
	Sharpness          float32              `json:"sharpness"`
	Steps              uint8                `json:"steps"`
	Styles             fooocus.Styles       `json:"styles"`
	StylesDefinition   string               `json:"styles_definition"` //TODO
	User               string               `json:"user,omitempty"`    // TODO
	Vae                string               `json:"vae"`
	Version            string               `json:"version"`
}

type Parameters

type Parameters struct {
	Metadata
	Created time.Time
}

Adapter that implements the types.GenerationParameters interface on top of FooocusPlus Metadata.

func (Parameters) CreatedTime

func (m Parameters) CreatedTime() time.Time

func (Parameters) LoRAs

func (m Parameters) LoRAs() []types.Lora

func (Parameters) Model

func (m Parameters) Model() string

func (Parameters) NegativePrompt

func (m Parameters) NegativePrompt() string

func (Parameters) PositivePrompt

func (m Parameters) PositivePrompt() string

func (Parameters) Raw

func (m Parameters) Raw() interface{}

func (Parameters) Seed

func (m Parameters) Seed() string

func (Parameters) Version

func (m Parameters) Version() string

Jump to

Keyboard shortcuts

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