export type GenerationStatus = | "idle" | "generating" | "upscaling" | "cropping" | "finished" | "error" export type Settings = { huggingfaceApiKey: string huggingfaceInferenceApiModel: string huggingfaceInferenceApiModelTrigger: string huggingfaceInferenceApiFileType: string } export interface StableDiffusionParams { prompt: string negativePrompt: string guidanceScale: number seed: number width: number height: number numInferenceSteps: number hfApiKey: string } export interface StableCascadeParams { prompt: string negativePrompt: string // between 0.1 and 15 (default 4) guidanceScale: number seed: number width: number height: number // between 1 and 50 (default 20) nbPriorInferenceSteps: number // between 1 and 50 (default 10) nbDecoderInferenceSteps: number } export type UpscalingParams = { imageAsBase64: string prompt: string negativePrompt: string scaleFactor: number seed: number // label="Sampling steps", value=6, minimum=1, maximum=25, step=1 // we wanna keep this one low (this is LCM after all) // but values like 10 also give nice results nbSteps: number } export type BackgroundRemovalParams = { imageAsBase64: string }