feat(gui): include some default profiles (#420)
This commit is contained in:
parent
c551a4332b
commit
193f82e7b4
|
@ -7,6 +7,7 @@ import { Img2ImgSlice } from '../img2img.js';
|
|||
import { InpaintSlice } from '../inpaint.js';
|
||||
import { Txt2ImgSlice } from '../txt2img.js';
|
||||
import { UpscaleSlice } from '../upscale.js';
|
||||
import { DEFAULT_PROFILES } from '../profile.js';
|
||||
|
||||
// #region V7
|
||||
export const V7 = 7;
|
||||
|
@ -87,6 +88,14 @@ export function migrateV7ToV11(params: ServerParams, previousState: PreviousStat
|
|||
},
|
||||
};
|
||||
|
||||
// add any missing profiles
|
||||
const existingProfiles = new Set(result.profiles.map((it) => it.name));
|
||||
for (const newProfile of DEFAULT_PROFILES) {
|
||||
if (existingProfiles.has(newProfile.name) === false) {
|
||||
result.profiles.push(newProfile);
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: remove extra keys
|
||||
|
||||
return result;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
/* eslint-disable camelcase */
|
||||
import { Maybe } from '@apextoaster/js-utils';
|
||||
import { BaseImgParams, HighresParams, Txt2ImgParams, UpscaleParams } from '../types/params.js';
|
||||
import { Slice } from './types.js';
|
||||
|
@ -19,7 +20,7 @@ export interface ProfileSlice {
|
|||
|
||||
export function createProfileSlice<TState extends ProfileSlice>(): Slice<TState, ProfileSlice> {
|
||||
return (set) => ({
|
||||
profiles: [],
|
||||
profiles: [...DEFAULT_PROFILES],
|
||||
saveProfile(profile: ProfileItem) {
|
||||
set((prev) => {
|
||||
const profiles = [...prev.profiles];
|
||||
|
@ -50,3 +51,239 @@ export function createProfileSlice<TState extends ProfileSlice>(): Slice<TState,
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
export const DEFAULT_HIGHRES_ON: HighresParams = {
|
||||
enabled: true,
|
||||
highresIterations: 1,
|
||||
highresMethod: 'upscale',
|
||||
highresSteps: 150,
|
||||
highresScale: 2,
|
||||
highresStrength: 0.2,
|
||||
};
|
||||
|
||||
export const DEFAULT_HIGHRES_OFF: HighresParams = {
|
||||
...DEFAULT_HIGHRES_ON,
|
||||
enabled: false,
|
||||
};
|
||||
|
||||
export const DEFAULT_UPSCALE_OFF: UpscaleParams = {
|
||||
denoise: 0.5,
|
||||
enabled: false,
|
||||
faces: false,
|
||||
faceOutscale: 1,
|
||||
faceStrength: 0.5,
|
||||
outscale: 1,
|
||||
scale: 1,
|
||||
upscaleOrder: 'correction-first',
|
||||
};
|
||||
|
||||
export const DEFAULT_PROFILES: Array<ProfileItem> = [
|
||||
// SD v1.5 base
|
||||
{
|
||||
name: 'base SD v1.5',
|
||||
params: {
|
||||
batch: 1,
|
||||
cfg: 5,
|
||||
eta: 0,
|
||||
negativePrompt: '',
|
||||
prompt: '',
|
||||
scheduler: 'deis',
|
||||
steps: 30,
|
||||
seed: -1,
|
||||
tiled_vae: false,
|
||||
unet_overlap: 0.75,
|
||||
unet_tile: 512,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 512,
|
||||
height: 512
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_OFF,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
},
|
||||
// SD v1.5 LCM
|
||||
{
|
||||
name: 'base SD v1.5 LCM',
|
||||
params: {
|
||||
// "pipeline": "txt2img-sdxl",
|
||||
scheduler: 'lcm',
|
||||
prompt: '<lora:lcm:1.0> ',
|
||||
negativePrompt: '',
|
||||
cfg: 1.5,
|
||||
seed: -1,
|
||||
steps: 12,
|
||||
eta: 0.0,
|
||||
batch: 1,
|
||||
tiled_vae: false,
|
||||
unet_overlap: 0.5,
|
||||
unet_tile: 512,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 512,
|
||||
height: 512,
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_OFF,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
}, // SD v1.5 highres
|
||||
{
|
||||
name: 'base SD v1.5 highres',
|
||||
params: {
|
||||
batch: 1,
|
||||
cfg: 5,
|
||||
eta: 0,
|
||||
negativePrompt: '',
|
||||
prompt: '',
|
||||
scheduler: 'deis',
|
||||
steps: 30,
|
||||
seed: -1,
|
||||
tiled_vae: false,
|
||||
unet_overlap: 0.75,
|
||||
unet_tile: 512,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 512,
|
||||
height: 512
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_ON,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
},
|
||||
// SD v1.5 panorama
|
||||
{
|
||||
name: 'base SD v1.5 panorama',
|
||||
params: {
|
||||
batch: 1,
|
||||
cfg: 12,
|
||||
eta: 0,
|
||||
negativePrompt: '',
|
||||
prompt: '',
|
||||
scheduler: 'ddim',
|
||||
steps: 125,
|
||||
seed: -1,
|
||||
tiled_vae: true,
|
||||
unet_overlap: 0.75,
|
||||
unet_tile: 512,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 1024,
|
||||
height: 512
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_OFF,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
},
|
||||
// SDXL base
|
||||
{
|
||||
name: 'base SDXL',
|
||||
params: {
|
||||
batch: 1,
|
||||
cfg: 10,
|
||||
eta: 0,
|
||||
negativePrompt: '',
|
||||
prompt: '',
|
||||
scheduler: 'dpm-sde',
|
||||
steps: 120,
|
||||
seed: -1,
|
||||
tiled_vae: false,
|
||||
unet_overlap: 0.75,
|
||||
unet_tile: 1024,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 1024,
|
||||
height: 1024,
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_OFF,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
},
|
||||
// SDXL highres
|
||||
{
|
||||
name: 'base SDXL highres',
|
||||
params: {
|
||||
batch: 1,
|
||||
cfg: 10,
|
||||
eta: 0,
|
||||
negativePrompt: '',
|
||||
prompt: '',
|
||||
scheduler: 'dpm-sde',
|
||||
steps: 120,
|
||||
seed: -1,
|
||||
tiled_vae: false,
|
||||
unet_overlap: 0.75,
|
||||
unet_tile: 1024,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 1024,
|
||||
height: 1024,
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_ON,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
},
|
||||
// SDXL LCM
|
||||
{
|
||||
name: 'base SDXL LCM',
|
||||
params: {
|
||||
// "pipeline": "txt2img-sdxl",
|
||||
scheduler: 'lcm',
|
||||
prompt: '<lora:sdxl-lcm:1.0> ',
|
||||
negativePrompt: '',
|
||||
cfg: 1.5,
|
||||
seed: -1,
|
||||
steps: 12,
|
||||
eta: 0.0,
|
||||
batch: 1,
|
||||
tiled_vae: false,
|
||||
unet_overlap: 0.5,
|
||||
unet_tile: 1024,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 1024,
|
||||
height: 1024,
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_OFF,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
},
|
||||
// SDXL panorama
|
||||
{
|
||||
name: 'base SDXL panorama',
|
||||
params: {
|
||||
batch: 1,
|
||||
cfg: 12,
|
||||
eta: 0,
|
||||
negativePrompt: '',
|
||||
prompt: '',
|
||||
scheduler: 'ddim',
|
||||
steps: 125,
|
||||
seed: -1,
|
||||
tiled_vae: true,
|
||||
unet_overlap: 0.75,
|
||||
unet_tile: 1024,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 2048,
|
||||
height: 1024,
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_ON,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
},
|
||||
// SDXL turbo
|
||||
{
|
||||
name: 'base SDXL turbo',
|
||||
params: {
|
||||
scheduler: 'dpm-sde',
|
||||
prompt: '',
|
||||
negativePrompt: '',
|
||||
cfg: 1.5,
|
||||
seed: -1,
|
||||
steps: 6,
|
||||
eta: 0.0,
|
||||
batch: 1,
|
||||
tiled_vae: false,
|
||||
unet_overlap: 0.75,
|
||||
unet_tile: 768,
|
||||
vae_overlap: 0.25,
|
||||
vae_tile: 512,
|
||||
width: 512,
|
||||
height: 768,
|
||||
},
|
||||
highres: DEFAULT_HIGHRES_OFF,
|
||||
upscale: DEFAULT_UPSCALE_OFF,
|
||||
},
|
||||
];
|
||||
|
|
Loading…
Reference in New Issue