@omersalkanovic/node-sd-webui
TypeScript icon, indicating that this package has built-in type declarations

0.0.16 • Public • Published

Node Stable Diffusion Web UI Client

npm version

A Node.js client for using Automatic1111's Stable Diffusion Web UI.

Current Features

This project is a work in progress. Current features include:

  • [x] txt2img generation
  • [x] img2img generation
  • [x] pngInfo support

Extensions

  • [x] ControlNet support both txt2img and img2img

Getting Started

Requirements

Installation

Add node-sd-webui to your project.

Using npm:

npm i -S node-sd-webui

Using yarn:

yarn add node-sd-webui

Using pnpm:

pnpm add node-sd-webui

Usage

txt2img

The txt2img function allows you to generate an image using the txt2img functionality of the Stable Diffusion WebUI.

Basic Example:

import sdwebui from 'node-sd-webui'
import { writeFileSync } from 'fs'

sdwebui()
  .txt2img({
    prompt: 'A photo of a mushroom',
  })
  .then(({ images }) => writeFileSync('path/to/image.png', images[0], 'base64'))
  .catch((err) => console.error(err))

Another example with a few more options:

import sdwebui, { SamplingMethod } from 'node-sd-webui'
import { writeFileSync } from 'fs'

const client = sdwebui()

try {
  const { images } = await client.txt2img({
    prompt: 'A photo of a mushroom, red cap, white spots',
    negativePrompt: 'blurry, cartoon, drawing, illustration',
    samplingMethod: SamplingMethod.Euler_A,
    width: 768,
    height: 512,
    steps: 20,
    batchSize: 5,
  })

  images.forEach((image, i) =>
    writeFileSync(`path/to/image-${i}.png`, images[i], 'base64')
  )
} catch (err) {
  console.error(err)
}

Readme

Keywords

none

Package Sidebar

Install

npm i @omersalkanovic/node-sd-webui

Weekly Downloads

1

Version

0.0.16

License

MIT

Unpacked Size

35.8 kB

Total Files

30

Last publish

Collaborators

  • omersalkanovic