0.0.3 • Published 1 year ago
typescript-stable-diffusion-prompt-parser v0.0.3
sd-prompt-parser
Stable Diffusion Prompt Parser
syntax
prompts | prompts | ...
a tag with default attention
(kind:'tag'
)(prompts ...)
(kind:'pw'
)(prompts ...:1.1)
(kind:'ew'
)[prompts ...]
(kind:'nw'
)<lora:filename:multiplier>
(kind:'lore'
)<hypernet:filename:multiplier>
(kind:'hypernet'
)
functions
tokenizePrompt
: convert fromstring
to[string, number][]
.TokenReader
: a class accepts[string, number][]
, offering:position():number|undefined
look():string|undefined
lookMany:string[]
next():void
parsePrompt
: convert fromstring|[string, number][]|TokenReader
toPrompt[]
, multiple prompts are separated by the|
characterprintPrompt
: convertPrompt
tostring
evaluatePrompt
: convert fromPrompt
toEvaluatedPrompt
Details of Prompt
and EvaluatedPrompt
please take a look at .d.ts files.
example
import {evaluatePrompt, parsePrompt} from 'typescript-stable-diffusion-prompt-parser';
const input = 'girl, highres, ((blue eyes))';
const evaluated = evaluatePrompt(parsePrompt(input)[0], 1.1 /* this is the default value, could be omitted */);
expects
{
tags:[{
tag:'girl',
weight:1,
}, {
tag:'highres',
weight:1,
}, {
tag:'blue eyes',
weight:1.21,
}],
loras:[],
hypernets:[],
}