0.0.3 • Published 1 year ago

typescript-stable-diffusion-prompt-parser v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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 from string to [string, number][].
  • TokenReader: a class accepts [string, number][], offering:
    • position():number|undefined
    • look():string|undefined
    • lookMany:string[]
    • next():void
  • parsePrompt: convert from string|[string, number][]|TokenReader to Prompt[], multiple prompts are separated by the | character
  • printPrompt: convert Prompt to string
  • evaluatePrompt: convert from Prompt to EvaluatedPrompt

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:[],
}
0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago