クリエイターの教科書

ChatGPT, Stable Diffusion, Visual Studio, Excelなど教科書

【Stable Diffusion WebUI】Pythonから直接実行するには?[webuiapi]

Stable Diffusion WebUIの本体の描画機能をPythonからコールして実行する方法です。

Stable Diffusion WebUI、Pythonから実行するには?

Stable Diffusion WebUIは便利ですが、プロンプトを変えて出力を自動化したい場合はPythonからそれを直接コールできた方が楽です。

 

webuiapiというライブラリを使うと、Pythonコードも楽です。

GitHub - mix1009/sdwebuiapi: Python API client for AUTOMATIC1111/stable-diffusion-webui

 

(1)

まずはインストール。

pip install webuiapi

 

(2)

次にWebUIの起動バッチを修正。

APIが利用できるように引数に--apiを付けます。

 

(3)

ではWebUIを起動します。

 

(4)

WebUIのあるフォルダにpythonファイルを作成。

以下はプロンプトの内容で「test.png」を作成するというものです。

import webuiapi
api = webuiapi.WebUIApi()
PROMPT="1girl, simple white background"
result1 = api.txt2img(prompt=PROMPT)
result1.image.save("test.png")

 

(5)

つくったPYファイルを実行。

問題なければWebUIの実行プロンプトの方で画像生成のバーが出現。

 

終わると「test.png」も作成されていました。

 

利用モデルは?

現在WebUIで使用しているモデルがそのまま反映されます。

たぶん指定可能。

 

ConnectionRefusedError: [WinError 10061] 対象のコンピューターによって拒否されたため、接続できませんでした。?

最初はPYファイルを実行すると接続できないエラーがでました。

 

これはどうやらPYファイルが

Stable Diffusion WebUIの実行オブジェクトに接続できなかったというもののようです。

 

何度かやっているうちに直ったのでどれが効果あるかわかりませんが、

・先にWebUIを起動しておく

・PYのほうのプロンプトを管理者権限で実行しておく

など試してみましょう。

 

下記記事ではControlNetの利用にも対応しています。

参考:

もうすぐ実写AITuber登場。Stable Diffusionでリアルタイム画像生成をしてみた | さくらのナレッジ

SOOS • webuiapi • Python • Package

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ