Skip to content

Commit

Permalink
feat(gui): include some default profiles (#420)
Browse files Browse the repository at this point in the history
  • Loading branch information
ssube committed Dec 17, 2023
1 parent c551a43 commit 193f82e
Show file tree
Hide file tree
Showing 2 changed files with 247 additions and 1 deletion.
9 changes: 9 additions & 0 deletions gui/src/state/migration/default.ts
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
239 changes: 238 additions & 1 deletion gui/src/state/profile.ts
@@ -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';
Expand All @@ -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];
Expand Down Expand Up @@ -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,
},
];

0 comments on commit 193f82e

Please sign in to comment.