- ローカルで実行しているStableDiffusionWebUIをWebAPIを通して自作のPythonプログラムから叩いてみた
Stable Diffusion WebUIのセットアップ
- 任意のフォルダで下記コマンドを実行し,StableDiffusionWebUIをDLしてくる
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
- 下記コマンドでwebuiを起動するbatファイルを実行す
cd stable-diffusion-webui
.\webui-user.bat
WebAPI機能を有効化する
- WebAPI機能を有効にするとPython等のプログラムからStableDiffusionを実行できる
-WebAPI機能を有効にするにはwebui-user.batをメモ帳等で開き,6行目に--apiを追加する
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--api
call webui.bat
- 上記の変更が完了したらStaebleDiffusionWebUIを再起動する
sdwebuiapiをインストールする
- Stable Diffusion WebAPIのAPI呼び出しを簡単にするラッパーライブラリのsdwebuiapiを使うと簡単にPythonからSDを呼び出せる
- 下記コマンドをコマンドプロンプトで実行する
pip install webuiapi
画像生成を行うpythonの自作プログラムを書く
- 次にStableDiffusionをPythonで実行するプログラムを書く
import webuiapi
api = webuiapi.WebUIApi()
PROMPT= "masterpiece, best quality, shinkai makoto, boy"
result1 = api.txt2img(prompt=PROMPT)
result1.image.save("testsd.png")
- 上記のプログラムをVSCode上で作成し,実行するとカレントディレクトリにtestsd.pngというファイルで生成されたイラストが確認できる