feat: Add SDXL Negative Aesthetic Score

This commit is contained in:
blessedcoolant
2023-08-14 04:02:36 +12:00
parent 90fa3eebb3
commit 499e89d6f6
9 changed files with 183 additions and 53 deletions

View File

@ -4,16 +4,16 @@ import {
refinerModelChanged,
setNegativeStylePromptSDXL,
setPositiveStylePromptSDXL,
setRefinerAestheticScore,
setRefinerCFGScale,
setRefinerNegativeAestheticScore,
setRefinerPositiveAestheticScore,
setRefinerScheduler,
setRefinerStart,
setRefinerSteps,
} from 'features/sdxl/store/sdxlSlice';
import { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { UnsafeImageMetadata } from 'services/api/types';
import { ImageDTO } from 'services/api/types';
import { ImageDTO, UnsafeImageMetadata } from 'services/api/types';
import { initialImageSelected, modelSelected } from '../store/actions';
import {
setCfgScale,
@ -34,8 +34,9 @@ import {
isValidPositivePrompt,
isValidSDXLNegativeStylePrompt,
isValidSDXLPositiveStylePrompt,
isValidSDXLRefinerAestheticScore,
isValidSDXLRefinerModel,
isValidSDXLRefinerNegativeAestheticScore,
isValidSDXLRefinerPositiveAestheticScore,
isValidSDXLRefinerStart,
isValidScheduler,
isValidSeed,
@ -339,7 +340,8 @@ export const useRecallParameters = () => {
refiner_cfg_scale,
refiner_steps,
refiner_scheduler,
refiner_aesthetic_store,
refiner_positive_aesthetic_store,
refiner_negative_aesthetic_store,
refiner_start,
} = metadata;
@ -398,8 +400,24 @@ export const useRecallParameters = () => {
dispatch(setRefinerScheduler(refiner_scheduler));
}
if (isValidSDXLRefinerAestheticScore(refiner_aesthetic_store)) {
dispatch(setRefinerAestheticScore(refiner_aesthetic_store));
if (
isValidSDXLRefinerPositiveAestheticScore(
refiner_positive_aesthetic_store
)
) {
dispatch(
setRefinerPositiveAestheticScore(refiner_positive_aesthetic_store)
);
}
if (
isValidSDXLRefinerNegativeAestheticScore(
refiner_negative_aesthetic_store
)
) {
dispatch(
setRefinerNegativeAestheticScore(refiner_negative_aesthetic_store)
);
}
if (isValidSDXLRefinerStart(refiner_start)) {

View File

@ -353,22 +353,40 @@ export const isValidPrecision = (val: unknown): val is PrecisionParam =>
zPrecision.safeParse(val).success;
/**
* Zod schema for SDXL refiner aesthetic score parameter
* Zod schema for SDXL refiner positive aesthetic score parameter
*/
export const zSDXLRefinerAestheticScore = z.number().min(1).max(10);
export const zSDXLRefinerPositiveAestheticScore = z.number().min(1).max(10);
/**
* Type alias for SDXL refiner aesthetic score parameter, inferred from its zod schema
* Type alias for SDXL refiner aesthetic positive score parameter, inferred from its zod schema
*/
export type SDXLRefinerAestheticScoreParam = z.infer<
typeof zSDXLRefinerAestheticScore
export type SDXLRefinerPositiveAestheticScoreParam = z.infer<
typeof zSDXLRefinerPositiveAestheticScore
>;
/**
* Validates/type-guards a value as a SDXL refiner aesthetic score parameter
* Validates/type-guards a value as a SDXL refiner positive aesthetic score parameter
*/
export const isValidSDXLRefinerAestheticScore = (
export const isValidSDXLRefinerPositiveAestheticScore = (
val: unknown
): val is SDXLRefinerAestheticScoreParam =>
zSDXLRefinerAestheticScore.safeParse(val).success;
): val is SDXLRefinerPositiveAestheticScoreParam =>
zSDXLRefinerPositiveAestheticScore.safeParse(val).success;
/**
* Zod schema for SDXL refiner negative aesthetic score parameter
*/
export const zSDXLRefinerNegativeAestheticScore = z.number().min(1).max(10);
/**
* Type alias for SDXL refiner aesthetic negative score parameter, inferred from its zod schema
*/
export type SDXLRefinerNegativeAestheticScoreParam = z.infer<
typeof zSDXLRefinerNegativeAestheticScore
>;
/**
* Validates/type-guards a value as a SDXL refiner negative aesthetic score parameter
*/
export const isValidSDXLRefinerNegativeAestheticScore = (
val: unknown
): val is SDXLRefinerNegativeAestheticScoreParam =>
zSDXLRefinerNegativeAestheticScore.safeParse(val).success;
/**
* Zod schema for SDXL start parameter