プロンプトもモデルもAPIも!Stable Diffusion web UIを使いこなす


プロンプトもモデルもAPIも!Stable Diffusion web UIを使いこなす

AUTOMATIC1111/stable-diffusion-webui

2025-09-23

Stable Diffusion web UIは、AUTOMATIC1111氏によって開発された、Stable Diffusionの強力なGUIツールです。コマンドライン操作に不慣れな人でも、直感的に画像を生成・編集できるため、AIアートを手軽に始めたい人にとって非常に便利なツールです。

ソフトウェアエンジニアの視点から見ると、このツールは単なる画像生成アプリではありません。さまざまな機能をGUIで操作できるため、プロトタイピングや実験を素早く行える研究開発ツールとしての側面も持っています。

このツールがエンジニアにとってどのように役立つか、その利点を以下にまとめます。

テキストから画像を生成する際、思い通りの画像を得るためには、プロンプトの調整が非常に重要です。このツールは、プロンプトの調整をGUIで簡単に行えるため、試行錯誤の時間を大幅に短縮できます。

例えば、

ネガティブプロンプト(生成したくない要素)の追加・削除

プロンプトの強調(())や重み付け(:)の調整

プロンプトのブレンド([]

といった操作を、コードを書くことなく直感的に試すことができます。

Stable Diffusionには、さまざまなモデルやLoRA(微調整モデル)が存在します。これらのモデルを切り替えたり、異なるモデルで生成した画像を比較したりする作業も、GUI上で簡単に行うことができます。

これにより、プロジェクトに最適なモデルを効率的に見つけることができます。

このツールの真価は、APIが提供されている点にあります。GUIで操作できる機能を、API経由でプログラムから実行できます。これにより、以下のようなことが可能になります。

バッチ処理
大量の画像を自動で生成する

Webサービスへの組み込み
AI画像生成サービスを開発する

ワークフローの自動化
プロジェクトのパイプラインに画像生成を組み込む

導入は非常に簡単です。基本的な手順は以下の通りです。

Pythonのインストール
Python 3.10.6を推奨します。

Gitのインストール
必須ではありませんが、最新版を簡単に取得するためにGitはインストールしておきましょう。

リポジトリのクローン
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

起動スクリプトの実行
webui-user.bat (Windows) または webui-user.sh (Linux/macOS) を実行

初回起動時に必要なパッケージやモデルが自動的にダウンロードされ、ブラウザでUIが開きます。

ここからは、APIを利用して画像を生成するPythonスクリプトの例を紹介します。これは、webui-user.sh--apiオプションを付けて起動していることが前提です。

import requests
import json
import base64
from PIL import Image
import io

# APIエンドポイント
url = "http://127.0.0.1:7860/sdapi/v1/txt2img"

# パラメータ設定
payload = {
    "prompt": "a photo of a cat, cute, detailed, high resolution",
    "steps": 25,
    "width": 512,
    "height": 512
}

# リクエスト送信
response = requests.post(url, data=json.dumps(payload))
response_data = response.json()

# 画像データのデコードと保存
for i, img_data in enumerate(response_data['images']):
    # Base64データをデコード
    image_bytes = base64.b64decode(img_data)
    
    # PILで画像を開く
    image = Image.open(io.BytesIO(image_bytes))
    
    # 画像をファイルに保存
    image.save(f"generated_image_{i}.png")
    print(f"画像が generated_image_{i}.png として保存されました。")

このコードは、指定したプロンプトとパラメータで画像を生成し、PNGファイルとして保存します。これを発展させれば、より複雑なワークフローを構築できます。

トランクス派エンジニア
「ねえ、最近さ、AIで画像作るツール、いろいろ出てきてるけど、やっぱりコマンドラインでさくっとやりたい派なんだよね。コード書く方が性に合ってるし。」

ブリーフ派エンジニア
「いやいや、ちょっと待ってよ。AIアートの世界も、GUIで直感的にできる方が断然いいって!俺が今ハマってるStable Diffusion web UI、これマジで革命的だから。 」

トランクス派エンジニア
「ふーん。結局GUIでしょ?そういうのって、細かい調整とか面倒じゃない?プロンプトだって、--negative-promptとか--cfg-scaleとか、コマンドで書いた方がスッキリするじゃん。」

ブリーフ派エンジニア
「いやいやいや、それが全然違うんだって!あのツール、スライダーでCFG ScaleとかStepsをサクサク変えられるし、ネガティブプロンプトなんてテキストエリアに書くだけだよ。いちいちコマンドのオプションを覚えておく必要がない。それに、APIがあるから、試行錯誤でGUIで納得のいく設定が見つかったら、それをそのままコードに落とし込める。これが最強のプロトタイピング手法なんだって!ね、俺がブリーフを愛用するのと同じで、実用性を追求したらこうなるんだよ。

トランクス派エンジニア
「API…なるほど。たしかに、GUIで手探りでいい感じの設定を見つけて、それをプログラムに組み込むっていうのは効率的かもな。…まあ、でも、俺はコマンドラインのシンプルな感じも捨てがたいけどね。お前がブリーフを履くのと同じで、俺はトランクスの開放感と自由さが好きなんだよ。 」

ブリーフ派エンジニア
「ほらね!どっちも良さがあるってことさ。でも、エンジニアとしての武器を増やすなら、このツールは絶対試した方がいいって!一緒にAIアートの新しい世界を切り開こうぜ!」

トランクス派エンジニア
「…わかったよ。お前がそこまで言うなら、ちょっと触ってみるかな。…ただし、ブリーフは履かないけどな。」


AUTOMATIC1111/stable-diffusion-webui




論理的な情報検索を実現:PageIndexによる次世代RAGシステムの構築

PageIndexは、従来のVector-Based RAG (Retrieval-Augmented Generation)とは一線を画す、新しい推論ベースのRAGフレームワークです。従来のRAGでは、ドキュメントを一定のサイズでチャンク(断片)に区切り、それをベクトル化(埋め込み)してデータベースに保存し、質問のベクトルと類似度の高いチャンクを検索していました。


妹に教わる、Gitとawesome-mcp-serversを使った開発のヒント

えっとね、そのpunkpeye/awesome-mcp-serversってやつ、何に使うのかってことだよね? プログラミングの世界って、なんだか秘密基地みたいでワクワクしちゃう! じゃあ、妹がプログラミングの冒険の地図を広げてあげるね!お兄ちゃん、ソフトウェアエンジニアのお仕事って、たくさんのプログラムを組み立てたり、他の人と協力して大きなシステムを作ったりするんだよね。 このawesome-mcp-serversはね、そんなお兄ちゃんの冒険を助けてくれる「お宝の地図」みたいなものなの!


vLLMの哲学をポケットに!Nano vLLMで実現する、シンプルかつ高効率なLLMサービング

「Nano vLLM」とは、大規模言語モデル(LLM)の推論(インファレンス)を超軽量かつ高速に行うためのライブラリです。まるで、今まで重い鎧を着ていた戦士(LLM)の鎧を、一瞬で超軽量で高機能な戦闘服に替えてしまう魔法のようなもの。特に、リソースが限られた環境(例えば、普通のPCやエッジデバイス、あるいはコストを抑えたいクラウド環境)で、LLMをサクサク動かしたいときに、この「Nano」な力が役立ちます。


コンテキストスイッチをゼロへ。Open-source AI Coworker「Rowboat」導入ガイド

「投資詐欺に注意」という標語のように、IT業界も「 AI ツールなら何でも魔法のように解決してくれる」という甘い言葉には注意が必要ですが、この Rowboat は、エンジニアにとってかなり「堅実で実利のある」ツールになり得るポテンシャルを秘めています。


コストゼロの開発術:free-llm-api-resourcesで賢くAIアプリを試作する

いいかい、今回俺たちが狙うのは「cheahjs/free-llm-api-resources」っていう、とんでもねえ「無料AIリソースのお宝リスト」だ。ソフトウェアエンジニアってのは、常に腕のいい道具を求めてるもんだが、こいつはその中でも「タダで使える」最高の道具箱なんだよ。


【実録】LobeHub導入ガイド:MCP対応エージェントで開発体験を劇的に変える方法

正直なところ、LLM(大規模言語モデル)を仕事で使うとき、「ブラウザのチャット画面とエディタを行き来するのが面倒だな」とか「自分専用の最強アシスタントをサクッと作りたいな」と思ったことはありませんか?LobeChatは、まさにその「痒い所に手が届く」エンジニア垂涎のツールなんです。


ソフトウェアエンジニア必見!リアルタイム物体検出NVR「Frigate」活用術

frigateは、IPカメラ用のNVR (Network Video Recorder) だ。だが、ただのNVRじゃねぇ。こいつの真骨頂は、リアルタイムのAIによるオブジェクト検出にある。つまり、カメラの映像から、人間、車、猫といった特定の物体を瞬時に見つけ出すことができるんだ。


もう迷わない!FastAPIエンドポイントをMCPツール化する手順

このライブラリは、皆さんが普段開発しているFastAPIのエンドポイントを、大規模言語モデル(LLM)が利用できる「ツール」として簡単に公開するためのものです。世の中にはさまざまなライブラリがありますが、このライブラリは、特に以下の点で皆さんの開発に役立ちます。


【動かぬ証拠】Goで組む、信頼できるAIエージェント:adk-goの導入と実践

google/adk-goは、Googleが提供するオープンソースのGo言語(Golang)用ツールキットで、複雑なAIエージェントを構築、評価、デプロイするために、「コードファースト」のアプローチを取っているのが特徴です。これは、あなたがより柔軟性とコントロールを持ってAIのロジックを設計し、インフラストラクチャとしてではなく、純粋なソフトウェアコンポーネントとして扱えるようにするためのものです。