English 日本語

Manga Editor Desu へのAIバックエンド接続

Manga Editor Desu のAI画像生成は任意の機能です。編集機能はすべてAIなしで動作します。生成を利用する場合、バックエンドはご自身で用意していただく必要があります。エディタはブラウザアプリケーションであり、それ自体が画像を生成することはありません。

あわせて 機能リファレンスよくある質問 もご覧ください。

対応する6つのサービス

サービス動作場所必要なもの担当できる処理
ComfyUIお使いのマシン起動オプションText2Image、Image2Image、インペイント、高解像度化、背景削除、アングル再生成
RunPod ComfyUIご自身のPodPodのURLComfyUIと同じ
SD WebUI(A1111 / Forge)お使いのマシン起動オプションText2Image、Image2Image、背景削除、CLIP・DeepDanbooru解析、ADetailer
Fal.aiクラウドAPIキーText2Image、Image2Image、高解像度化、背景削除
Grok(xAI)クラウドAPIキー言語モデル処理:文章からのプロンプト生成、画像からのプロンプト生成、ストーリーからコマのプロンプト、セリフの推敲・翻訳
Ollamaお使いのマシン環境変数Grokと同じ言語モデル処理

1つに絞る必要はありません。処理の種類ごとに独立して振り分けられるため、画像生成はローカルのComfyUI、セリフの翻訳はGrok、といった構成が可能です。

起動オプションが必要な理由

Manga Editor Desu はブラウザ内で動作します。ブラウザは、あるアドレスのページから別のアドレスのサーバーへのアクセスを、そのサーバーが明示的に許可しない限り遮断します。これがCORSの仕組みです。バックエンド自身のWeb画面では問題なく動作していても、適切なオプションを付けて起動するまでエディタからの接続が拒否されるのはこのためです。

エディタは失敗の内容を1つのエラーにまとめず、サーバーに到達できないのか、起動しているがCORSで遮断されているのか、APIキーが未設定なのかを区別して表示します。

ComfyUI

既定のアドレス: http://127.0.0.1:8188

CORSヘッダーを有効にして起動します。

python main.py --enable-cors-header

Windows版のポータブルビルドでは、起動スクリプトにオプションを追加します。

.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --enable-cors-header

Stability Matrix をお使いの場合は、パッケージ設定の Extra Launch Arguments--enable-cors-header を入力します。Pinokio の場合は start.js の起動引数に追加します。

ワークフロー

ComfyUI による生成はワークフローによって制御されます。読み込めるのは ComfyUI から API形式で書き出したものです。通常のワークフロー保存とは異なる点にご注意ください。使用モデル・ワークフロー設定の画面から読み込み、処理の種類を割り当てて、種類ごとに1つを有効化します。

Text2Image、Image2Image、インペイント、高解像度化、背景削除、アングル再生成の既定ワークフローを同梱しており、SD 1.5、SDXL、Flux、Z-Image-turbo、Qwen-Image に対応しています。

読み込んだワークフロー内では、%prompt%%negative% がコマのプロンプトに置換され、widthheight にはコマの寸法が入り、seed または noise_seed-10 の場合はランダム化され、ワークフローが必要とする箇所にはアップロードされた元画像やインペイントのマスクが供給されます。

ノードの入力値はその場で編集でき、チェックポイント・LoRA・サンプラー・VAEの選択肢は稼働中のサーバーから取得されます。サーバーが認識できないノードは生成前に印が付きます。

SD WebUI(AUTOMATIC1111)

既定のアドレス: http://127.0.0.1:7860

Windows では webui-user.bat、Linux と macOS では webui-user.sh に、APIとCORSのオプションを追加します。

set COMMANDLINE_ARGS=--api --cors-allow-origins *

追加後、WebUIを再起動してください。モデル、サンプラー、アップスケーラーは稼働中のサーバーから読み込まれます。

Forge

Forge も SD WebUI と同じオプションを使用します。従来はこれに加えて、CORSミドルウェアが正しく適用されるよう modules/initialize_util.py への小さな修正が必要でした。

この修正は2024年11月時点のもので、本家へ提出済みです。最近のForgeでは不要になっている可能性があります。まず標準のオプションのみで試し、それでもCORSで遮断される場合にのみ適用してください。手順は SD WebUI API設定ガイド に記載しています。

RunPod ComfyUI

https://{pod-id}-8188.proxy.runpod.net の形式で、Podのプロキシアドレスを入力します。動作はローカルのComfyUIと同一で、ワークフローはRunPod専用のセットとして別管理されます。

RunPodのPodへのリクエストは認証なしで送信されます。PodのURLを知っている人は誰でもアクセスできるため、アドレスは秘密として扱い、使い終わったらPodを停止してください。

Fal.ai

Fal.ai は有料のクラウドサービスです。Fal.aiのダッシュボードでAPIキーを作成し、接続設定に貼り付けてください。その後、処理ごとに利用可能なモデルが一覧表示されます。Text2Image、Image2Image、高解像度化、背景削除はそれぞれ個別に選択します。

プロンプトと、Image2Imageの場合はコマの画像がFal.aiへアップロードされます。

Grok(xAI)

既定のアドレス: https://api.x.ai

xAIのコンソールでAPIキーを作成し、接続設定に貼り付けてください。CORSの設定は不要です。モデルはテキスト用と画像認識用を個別に選択し、画像を読み取る処理では後者が使われます。

xAIが単価を公開している範囲で、モデル別の概算費用がダッシュボードに記録されます。これはご自身の把握のための推定値であり、請求額ではありません。

Ollama

既定のアドレス: http://127.0.0.1:11434

Ollama は受け付けるオリジンを指定するまでブラウザからのリクエストを拒否します。環境変数を設定してから Ollama を再起動してください。

# Windows
setx OLLAMA_ORIGINS "*"

# macOS
launchctl setenv OLLAMA_ORIGINS "*"

# Linux(systemd)サービスユニットに記載
Environment="OLLAMA_ORIGINS=*"

お使いの環境で * がうまく機能しない場合は OLLAMA_ORIGINS=null をお試しください。エディタをローカルファイルとして直接開いている場合はこちらが該当します。

Grokと同様、テキスト用と画像認識用のモデルを個別に選択します。Ollama はローカルで動作するため、マシンの外へ送信されるものはなく、費用も記録されません。

処理ごとのサービス割り当て

生成AI設定のウィンドウには、行が処理、列がサービスのマトリクスがあります。各処理をどのサービスで実行するかを指定してください。「—」はそのサービスが対応していない組み合わせを示します。

処理利用できるサービス
Text2ImageComfyUI、RunPod ComfyUI、SD WebUI、Fal.ai
Image2ImageComfyUI、RunPod ComfyUI、SD WebUI、Fal.ai
インペイントComfyUI、RunPod ComfyUI
高解像度化ComfyUI、RunPod ComfyUI、Fal.ai
背景削除ComfyUI、RunPod ComfyUI、SD WebUI、Fal.ai
アングル再生成ComfyUI、RunPod ComfyUI
CLIP解析SD WebUI
DeepDanbooru解析SD WebUI
文章を英語プロンプト化Grok、Ollama
画像からプロンプト化Grok、Ollama
セリフの推敲・翻訳Grok、Ollama

SD WebUI での背景削除には、SD WebUI 側に rembg 拡張機能が導入されている必要があります。同様に ADetailer にも、SD WebUI または Forge 側の ADetailer 拡張機能が必要です。

キューと同時実行数

生成リクエストはサービスごとにキューイングされます。ローカルの ComfyUI と SD WebUI は1件ずつ処理します。Fal.ai、Grok、Ollama では1〜10の同時実行数を設定できます。

キュー内の各タスクは対象のレイヤー上に表示され、順番、バックエンドが進捗を返す場合はその進捗、そして取り消し操作が確認できます。

待機中のタスクを取り消すとキューから削除されます。ComfyUI で実行中のタスクを取り消した場合は、実際に中断信号が送られます。一方、クラウドサービスで実行中のリクエストについては、エディタが結果の受け取りを中止するだけで、リモート側の処理は継続し、料金も発生します。

送信先について

リクエストは、その処理に割り当てたサービスにのみ送信されます。ローカルの ComfyUI、SD WebUI、Ollama を使う場合、すべてお使いのマシン内で完結します。RunPod、Fal.ai、Grok はリモートであり、リクエストにはその処理に関わるプロンプト、ストーリーやセリフのテキスト、コマの画像が含まれます。

APIキーは暗号化されずにブラウザへ保存されるため、共用のコンピューターでの入力は避けてください。データの取り扱い全般については よくある質問 をご覧ください。

← Manga Editor Desu を開く機能リファレンスよくある質問