AI

AI画像生成比較:ComfyUI vs Automatic1111 vs InvokeAI でローカル画像生成を構築する

オープンソースラボ編集部2026年6月14日

AI画像生成比較:ComfyUI vs Automatic1111 vs InvokeAI でローカル画像生成を構築する

Stable Diffusion・FLUX・Pony Diffusionなどのオープンウェイト画像生成モデルをローカルで動かすOSSフロントエンドが急速に進化しています。ComfyUI(ノードベース・最高拡張性)・Automatic1111 WebUI(最も普及・豊富なExtension)・InvokeAI(プロ向けUI・ワークフロー管理)の3つが2026年のローカルAI画像生成のデファクトスタンダードです。

ローカルAI画像生成を選ぶ理由

  • コスト: Midjourney($10〜/月)→ローカル実行で$0(GPU電気代のみ)
  • プライバシー: 生成画像が外部サービスに送信されない・商用利用制限なし
  • カスタマイズ: LoRA・ControlNet・VAE・Inpaintingを自由に組み合わせる
  • 最新モデル: HuggingFace・CivitAIの最新モデルを即日使用できる

主要ツールの概要

ComfyUI

2023年公開、Python製のOSSです。GitHubスター64k+。ノードベースのビジュアルプログラミングで画像生成パイプラインを自由に設計できる次世代フロントエンドです。FLUX・SD3.5・SDXL・SVD(動画)・ControlNetの全てをノードで繋いで自在に組み合わせられます。

# ComfyUI のセットアップ(Windows・CUDA)
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI

# Python仮想環境でインストール
python -m venv .venv
.venv/Scripts/activate
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt

# モデルをダウンロードしてmodels/checkpoints/に配置
# FLUX.1-dev(最高品質)
huggingface-cli download black-forest-labs/FLUX.1-dev   --local-dir models/checkpoints/

# ComfyUI Manager(Extension管理)のインストール
cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager

# 起動
python main.py --listen 0.0.0.0 --port 8188
# ComfyUI API: Pythonから画像生成をバッチ実行
import json
import urllib.request
import urllib.parse
import websocket
import uuid
import time

SERVER_ADDRESS = 'localhost:8188'
CLIENT_ID = str(uuid.uuid4())

def queue_prompt(workflow: dict) -> dict:
    '''ワークフローをComfyUIキューに追加'''
    data = json.dumps({'prompt': workflow, 'client_id': CLIENT_ID}).encode('utf-8')
    req = urllib.request.Request(f'http://{SERVER_ADDRESS}/prompt', data=data)
    return json.loads(urllib.request.urlopen(req).read())

def get_images(ws: websocket.WebSocket, workflow: dict) -> dict:
    '''WebSocket経由で生成完了を待って画像を取得'''
    prompt_id = queue_prompt(workflow)['prompt_id']
    output_images = {}

    while True:
        message = ws.recv()
        if isinstance(message, str):
            data = json.loads(message)
            if data.get('type') == 'executed' and data['data'].get('prompt_id') == prompt_id:
                break
    return output_images

# FLUXワークフローJSONを動的に変更してバッチ生成
def generate_batch(prompts: list[str], output_dir: str = 'outputs'):
    with open('workflows/flux_dev.json') as f:
        base_workflow = json.load(f)

    ws = websocket.WebSocket()
    ws.connect(f'ws://{SERVER_ADDRESS}/ws?clientId={CLIENT_ID}')

    for i, prompt in enumerate(prompts):
        # ポジティブプロンプトノードを書き換え
        base_workflow['6']['inputs']['text'] = prompt
        # シードをランダムに変更
        base_workflow['25']['inputs']['noise_seed'] = int(time.time()) + i

        images = get_images(ws, base_workflow)
        print(f'[{i+1}/{len(prompts)}] 生成完了: {prompt[:50]}...')

    ws.close()

generate_batch([
    'a futuristic city at night, cyberpunk style, neon lights, 8k',
    'japanese garden in autumn, traditional architecture, golden hour',
    'abstract geometric patterns, vibrant colors, minimalist',
])

Automatic1111 WebUI (A1111)

2022年公開、Python製のOSSです。GitHubスター142k+。最も広く使われているSD WebUIで、豊富なExtension(ControlNet・ADetailer・RegionalPrompter)・インペインティング・アウトペインティング・img2imgが充実しています。

# Automatic1111 WebUI のセットアップ
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui

# モデルを配置
cp ~/models/sd_xl_base_1.0.safetensors models/Stable-diffusion/

# 起動(API有効化)
bash webui.sh --api --listen --xformers

# API経由で画像生成(Python)
import requests, base64, json

response = requests.post('http://localhost:7860/sdapi/v1/txt2img', json={
    'prompt': '(masterpiece:1.2), anime girl, detailed face, 4k, studio lighting',
    'negative_prompt': 'nsfw, bad quality, blurry, low resolution',
    'steps': 30,
    'cfg_scale': 7.0,
    'width': 1024,
    'height': 1024,
    'sampler_name': 'DPM++ 2M Karras',
    'hr_fix_upscale_by': 2.0,      # Hires.fix(高解像度)
    'denoising_strength': 0.4,
    'alwayson_scripts': {
        'controlnet': {
            'args': [{
                'enabled': True,
                'module': 'openpose',
                'model': 'control_v11p_sd15_openpose',
                'weight': 0.8,
            }]
        }
    }
})

img_data = base64.b64decode(response.json()['images'][0])
with open('output.png', 'wb') as f:
    f.write(img_data)

InvokeAI

2022年公開、Python製のOSSです。GitHubスター24k+。プロ向けの洗練されたUI・非破壊ワークフロー管理・Canvasでのインペインティングが特徴です。商業プロジェクトでの利用を想定した画像管理・メタデータ追跡・チーム共有機能が充実しています。

# InvokeAI セットアップ
pip install invokeai
invokeai-configure  # 対話式セットアップ(モデルダウンロード込み)
invokeai --web       # Web UI 起動

機能比較表

比較項目ComfyUIA1111InvokeAI
Extension数✅ 最多
ノードエディタ
API
動画生成
プロUI
GitHub Stars64k+142k+24k+

AI画像生成はLLM Toolsカテゴリ/categories/llm-toolsのAPIと組み合わせて「LLMでプロンプト最適化→ComfyUI APIで画像生成」の完全自動化パイプラインを構築します。DevOpsカテゴリ/categories/devopsのMinIO・S3と連携して生成画像を永続化・CDN配信するアーキテクチャが商業利用のベストプラクティスです。

FAQ

Q. ComfyUIとAutomatic1111のどちらを選べばいいですか?

A. 柔軟なパイプライン設計・バッチAPI実行・最新モデル(FLUX)対応ならComfyUI豊富なExtension・使いやすいWebUI・初心者向けならAutomatic1111が向いています。ComfyUI優位: ①ノードで全パイプラインを視覚的に管理②FLUX・SD3・SVD(動画)などの最新アーキテクチャへの対応が最速③APIのレスポンスがJSON(ワークフロー再現性が高い)④生産性・バッチ処理・CI/CD統合に適している。A1111優位: ①セットアップが最も簡単②Extension(ADetailer・RegionalPrompter・3Dモデル)が圧倒的に多い③Negative Promptの制御がシンプルなUIで行える。

Q. VRAM 4GB・8GBのGPUでも動作しますか?

A. 動作しますが、生成できるモデルと解像度に制限があります。VRAM 4GB: SD 1.5モデル(512x512)は動作可能→ComfyUIで--lowvramフラグを使用、SDXLは困難。VRAM 8GB: SDXL(1024x1024)が動作→QLoRAやSAGAttentionで最適化、FLUX-schnell(4ステップ)はVRAM 10GB+推奨。VRAM 12GB+: FLUX.1-dev(最高品質)が快適に動作。VRAM 4〜6GBでFLUXを動かすにはComfyUI + FP8量子化(flux_dev_fp8.safetensors)とCPUオフロードを組み合わせます(速度は低下)。

Q. ControlNetで構図をコントロールするには?

A. ControlNetに入力画像(ポーズ・エッジ・深度・法線マップ)を渡して構図を固定します。主要ControlNetモデル: ①Canny(エッジ検出)→輪郭・建築物の形状を固定②OpenPose→人物のポーズ(骨格キーポイント)を固定③Depth(深度マップ)→前後の奥行き構図を固定④Inpaint→指定領域のみ再生成。ComfyUIでのControlNet: ControlNetApplyAdvancedノードに入力画像→前処理(AIO Aux Preprocessor)→ControlNetモデルという流れ。A1111でのControlNet: ControlNet Extension(sd-webui-controlnet)をインストール→Generation設定のControlNetタブで画像アップロードとモデル選択。

Q. LoRAを追加して特定スタイル・キャラクターを固定するには?

A. CivitAIからLoRAをダウンロードしてモデルフォルダに配置、プロンプトで有効化します。手順(A1111): ①models/Lora/にLoRAファイル(.safetensors)を配置②プロンプトに<lora:filename:weight>を追加(例: <lora:anime_style_v2:0.7>)③weightは0.5〜1.0が一般的(高すぎると崩れる)。ComfyUI: Load LoRAノードをModel→KSamplerの間に挿入してLoRAファイルと強度を設定。スタック(複数LoRAの組み合わせ): <lora:lora1:0.6> <lora:lora2:0.4>のように複数指定可能(合計weightが1.0を超えないよう調整)。

まとめ

ユースケース推奨ツール
バッチ生成・FLUX・ノードベースComfyUI
Extension豊富・初心者・SD1.5/XLAutomatic1111
プロ向けUI・チーム・画像管理InvokeAI

関連外部リソース

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。