Add support for NAI v4 model configuration and inputs
This commit is contained in:
@@ -107,6 +107,8 @@
|
|||||||
}
|
}
|
||||||
// End HypaV3
|
// End HypaV3
|
||||||
|
|
||||||
|
let imageModel = '';
|
||||||
|
|
||||||
// add init NAI V4
|
// add init NAI V4
|
||||||
// if(DBState.db.NAIImgConfig.autoSmea === undefined) DBState.db.NAIImgConfig.autoSmea = false;
|
// if(DBState.db.NAIImgConfig.autoSmea === undefined) DBState.db.NAIImgConfig.autoSmea = false;
|
||||||
// if(DBState.db.NAIImgConfig.use_coords === undefined) DBState.db.NAIImgConfig.use_coords = false;
|
// if(DBState.db.NAIImgConfig.use_coords === undefined) DBState.db.NAIImgConfig.use_coords = false;
|
||||||
@@ -203,6 +205,17 @@
|
|||||||
|
|
||||||
<span class="text-textcolor">Model</span>
|
<span class="text-textcolor">Model</span>
|
||||||
<TextInput size="sm" marginBottom placeholder="nai-diffusion-4-full" bind:value={DBState.db.NAIImgModel}/>
|
<TextInput size="sm" marginBottom placeholder="nai-diffusion-4-full" bind:value={DBState.db.NAIImgModel}/>
|
||||||
|
<SelectInput className="mt-2 mb-4" bind:value={imageModel} onchange={(e)=>{
|
||||||
|
DBState.db.NAIImgModel = imageModel;
|
||||||
|
}}>
|
||||||
|
<OptionInput value="" >선택하여 자동입력</OptionInput>
|
||||||
|
<OptionInput value="nai-diffusion-4-full" >nai-diffusion-4-full</OptionInput>
|
||||||
|
<OptionInput value="nai-diffusion-4-curated-preview" >nai-diffusion-4-curated-preview</OptionInput>
|
||||||
|
<OptionInput value="nai-diffusion-3" >nai-diffusion-3</OptionInput>
|
||||||
|
<OptionInput value="nai-diffusion-furry-3" >nai-diffusion-furry-3</OptionInput>
|
||||||
|
<OptionInput value="nai-diffusion-2" >nai-diffusion-2</OptionInput>
|
||||||
|
|
||||||
|
</SelectInput>
|
||||||
|
|
||||||
<span class="text-textcolor">Width</span>
|
<span class="text-textcolor">Width</span>
|
||||||
<NumberInput size="sm" marginBottom min={0} max={2048} bind:value={DBState.db.NAIImgConfig.width}/>
|
<NumberInput size="sm" marginBottom min={0} max={2048} bind:value={DBState.db.NAIImgConfig.width}/>
|
||||||
@@ -210,7 +223,8 @@
|
|||||||
<NumberInput size="sm" marginBottom min={0} max={2048} bind:value={DBState.db.NAIImgConfig.height}/>
|
<NumberInput size="sm" marginBottom min={0} max={2048} bind:value={DBState.db.NAIImgConfig.height}/>
|
||||||
<span class="text-textcolor">Sampler</span>
|
<span class="text-textcolor">Sampler</span>
|
||||||
|
|
||||||
{#if DBState.db.NAIImgModel === 'nai-diffusion-4-full'}
|
{#if DBState.db.NAIImgModel === 'nai-diffusion-4-full'
|
||||||
|
|| DBState.db.NAIImgModel === 'nai-diffusion-4-curated-preview'}
|
||||||
<SelectInput className="mt-2 mb-4" bind:value={DBState.db.NAIImgConfig.sampler}>
|
<SelectInput className="mt-2 mb-4" bind:value={DBState.db.NAIImgConfig.sampler}>
|
||||||
<OptionInput value="k_euler_ancestral" >(Recommended)Euler Ancestral</OptionInput>
|
<OptionInput value="k_euler_ancestral" >(Recommended)Euler Ancestral</OptionInput>
|
||||||
<OptionInput value="k_dpmpp_2s_ancestral" >(Recommended)DPM++ 2S Ancestral</OptionInput>
|
<OptionInput value="k_dpmpp_2s_ancestral" >(Recommended)DPM++ 2S Ancestral</OptionInput>
|
||||||
@@ -238,20 +252,22 @@
|
|||||||
|
|
||||||
{#if !DBState.db.NAII2I || DBState.db.NAIImgConfig.sampler !== 'ddim_v3'}
|
{#if !DBState.db.NAII2I || DBState.db.NAIImgConfig.sampler !== 'ddim_v3'}
|
||||||
<Check bind:check={DBState.db.NAIImgConfig.sm} name="Use SMEA"/>
|
<Check bind:check={DBState.db.NAIImgConfig.sm} name="Use SMEA"/>
|
||||||
{:else if DBState.db.NAIImgModel !== 'nai-diffusion-4-full'}
|
{:else if DBState.db.NAIImgModel === 'nai-diffusion-4-full'
|
||||||
|
|| DBState.db.NAIImgModel === 'nai-diffusion-4-curated-preview'}
|
||||||
<Check bind:check={DBState.db.NAIImgConfig.sm_dyn} name='Use DYN'/>
|
<Check bind:check={DBState.db.NAIImgConfig.sm_dyn} name='Use DYN'/>
|
||||||
{/if}
|
{/if}
|
||||||
<Check bind:check={DBState.db.NAII2I} name="Enable I2I"/>
|
<Check bind:check={DBState.db.NAII2I} name="Enable I2I"/>
|
||||||
|
|
||||||
{#if DBState.db.NAIImgModel === 'nai-diffusion-4-full'}
|
{#if DBState.db.NAIImgModel === 'nai-diffusion-4-full'
|
||||||
|
|| DBState.db.NAIImgModel === 'nai-diffusion-4-curated-preview'}
|
||||||
<Check bind:check={DBState.db.NAIImgConfig.autoSmea} name='Auto Smea'/>
|
<Check bind:check={DBState.db.NAIImgConfig.autoSmea} name='Auto Smea'/>
|
||||||
<Check bind:check={DBState.db.NAIImgConfig.use_coords} name='Use coords'/>
|
<Check bind:check={DBState.db.NAIImgConfig.use_coords} name='Use coords'/>
|
||||||
<Check bind:check={DBState.db.NAIImgConfig.legacy_uc} name='Use legacy uc'/>
|
<Check bind:check={DBState.db.NAIImgConfig.legacy_uc} name='Use legacy uc'/>
|
||||||
|
|
||||||
<!-- <Check bind:check={DBState.db.NAIImgConfig.v4_prompt.use_coords} name='Use v4 prompt coords'/>-->
|
<Check bind:check={DBState.db.NAIImgConfig.v4_prompt.use_coords} name='Use v4 prompt coords'/>
|
||||||
<!-- <Check bind:check={DBState.db.NAIImgConfig.v4_prompt.use_order} name='Use v4 prompt order'/>-->
|
<Check bind:check={DBState.db.NAIImgConfig.v4_prompt.use_order} name='Use v4 prompt order'/>
|
||||||
|
|
||||||
<!-- <Check bind:check={DBState.db.NAIImgConfig.v4_negative_prompt.legacy_uc} name='Use v4 negative prompt legacy uc'/>-->
|
<Check bind:check={DBState.db.NAIImgConfig.v4_negative_prompt.legacy_uc} name='Use v4 negative prompt legacy uc'/>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if DBState.db.NAII2I}
|
{#if DBState.db.NAII2I}
|
||||||
|
|||||||
@@ -155,23 +155,23 @@ export async function generateAIImage(genPrompt:string, currentChar:character, n
|
|||||||
"reference_information_extracted": db.NAIImgConfig.InfoExtracted,
|
"reference_information_extracted": db.NAIImgConfig.InfoExtracted,
|
||||||
"reference_strength": db.NAIImgConfig.RefStrength,
|
"reference_strength": db.NAIImgConfig.RefStrength,
|
||||||
//add v4
|
//add v4
|
||||||
"autoSmea": db.NAIImgConfig.autoSmea || false,
|
"autoSmea": db.NAIImgConfig.autoSmea,
|
||||||
use_coords: db.NAIImgConfig.use_coords || false,
|
use_coords: db.NAIImgConfig.use_coords,
|
||||||
legacy_uc: db.NAIImgConfig.legacy_uc || false,
|
legacy_uc: db.NAIImgConfig.legacy_uc,
|
||||||
v4_prompt:{
|
v4_prompt:{
|
||||||
caption:{
|
caption:{
|
||||||
base_caption:genPrompt,
|
base_caption:genPrompt,
|
||||||
char_captions: []
|
char_captions: []
|
||||||
},
|
},
|
||||||
use_coords: false,//db.NAIImgConfig.v4_prompt.use_coords || false,
|
use_coords: db.NAIImgConfig.v4_prompt.use_coords,
|
||||||
use_order: true//db.NAIImgConfig.v4_prompt.use_order || true
|
use_order: db.NAIImgConfig.v4_prompt.use_order
|
||||||
},
|
},
|
||||||
"v4_negative_prompt":{
|
"v4_negative_prompt":{
|
||||||
caption:{
|
caption:{
|
||||||
base_caption:neg,
|
base_caption:neg,
|
||||||
char_captions: []
|
char_captions: []
|
||||||
},
|
},
|
||||||
legacy_uc: false//db.NAIImgConfig.v4_negative_prompt.legacy_uc || false,
|
legacy_uc: db.NAIImgConfig.v4_negative_prompt.legacy_uc,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -211,6 +211,7 @@ export async function generateAIImage(genPrompt:string, currentChar:character, n
|
|||||||
if(refimgbase64 !== undefined){
|
if(refimgbase64 !== undefined){
|
||||||
reqlist.body.parameters.reference_image = refimgbase64
|
reqlist.body.parameters.reference_image = refimgbase64
|
||||||
}
|
}
|
||||||
|
console.log({img2img:reqlist});
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
if (db.NAIREF) {
|
if (db.NAIREF) {
|
||||||
@@ -227,8 +228,11 @@ export async function generateAIImage(genPrompt:string, currentChar:character, n
|
|||||||
reqlist = commonReq;
|
reqlist = commonReq;
|
||||||
reqlist.body.action = 'generate';
|
reqlist.body.action = 'generate';
|
||||||
reqlist.body.parameters.reference_image = base64img;
|
reqlist.body.parameters.reference_image = base64img;
|
||||||
|
console.log({generate:reqlist});
|
||||||
} else {
|
} else {
|
||||||
reqlist = commonReq;
|
reqlist = commonReq;
|
||||||
|
reqlist.body.action = 'generate';
|
||||||
|
console.log({nothing:reqlist});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -286,6 +286,27 @@ export function setDatabase(data:Database){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//add NAI v4 (사용중인 사람용 추가 DB Init)
|
||||||
|
if(checkNullish(data.NAIImgConfig.v4_prompt)){
|
||||||
|
data.NAIImgConfig.autoSmea = false;
|
||||||
|
data.NAIImgConfig.use_coords = false;
|
||||||
|
data.NAIImgConfig.legacy_uc = false;
|
||||||
|
data.NAIImgConfig.v4_prompt = {
|
||||||
|
caption:{
|
||||||
|
base_caption:"",
|
||||||
|
char_captions:[]
|
||||||
|
},
|
||||||
|
use_coords:false,
|
||||||
|
use_order:true
|
||||||
|
};
|
||||||
|
data.NAIImgConfig.v4_negative_prompt = {
|
||||||
|
caption:{
|
||||||
|
base_caption:"",
|
||||||
|
char_captions:[]
|
||||||
|
},
|
||||||
|
legacy_uc:false,
|
||||||
|
};
|
||||||
|
}
|
||||||
if(checkNullish(data.customTextTheme)){
|
if(checkNullish(data.customTextTheme)){
|
||||||
data.customTextTheme = {
|
data.customTextTheme = {
|
||||||
FontColorStandard: "#f8f8f2",
|
FontColorStandard: "#f8f8f2",
|
||||||
@@ -1429,10 +1450,8 @@ interface NAIImgConfigV4CharCaption{
|
|||||||
x: number,
|
x: number,
|
||||||
y: number
|
y: number
|
||||||
}[]
|
}[]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
interface ComfyConfig{
|
interface ComfyConfig{
|
||||||
workflow:string,
|
workflow:string,
|
||||||
posNodeID: string,
|
posNodeID: string,
|
||||||
|
|||||||
Reference in New Issue
Block a user