English 日本語

Connecting an AI Backend to Manga Editor Desu

AI image generation in Manga Editor Desu is optional. Every editing feature works without it. When you do want generation, you supply the backend — the editor is a browser application and never generates images itself.

See also the feature reference and the FAQ.

The six supported services

ServiceWhere it runsNeedsHandles
ComfyUIYour machineA launch flagText-to-image, image-to-image, inpaint, upscale, background removal, angle regeneration
RunPod ComfyUIYour RunPod podThe pod URLSame as ComfyUI
SD WebUI (A1111 / Forge)Your machineLaunch flagsText-to-image, image-to-image, background removal, CLIP and DeepDanbooru interrogation, ADetailer
Fal.aiCloudAn API keyText-to-image, image-to-image, upscale, background removal
Grok (xAI)CloudAn API keyLanguage model tasks: prompts from text, prompts from images, story to panel prompts, dialogue polishing and translation
OllamaYour machineAn environment variableSame language model tasks as Grok

You do not have to pick one. Each task type is routed independently, so a local ComfyUI can generate images while Grok handles dialogue translation.

Why a launch flag is needed

Manga Editor Desu runs inside your browser, and browsers block a page on one address from calling a server on another address unless that server explicitly permits it. This is the CORS policy, and it is why a backend that works fine in its own web interface will still refuse the editor until it is started with the right flag.

The editor distinguishes between the possible failures rather than showing one generic error: it will tell you separately whether the server is unreachable, running but blocking the request through CORS, or missing an API key.

ComfyUI

Default address: http://127.0.0.1:8188

Start ComfyUI with the CORS header enabled:

python main.py --enable-cors-header

For the portable Windows build, add the flag to the run script:

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

Under Stability Matrix, put --enable-cors-header into Extra Launch Arguments in the package settings. Under Pinokio, add it to the launch arguments in start.js.

Workflows

ComfyUI generation is driven by workflows exported from ComfyUI in API format — not the ordinary workflow save. Import them in the Models and Workflows window, assign each a task type, and enable one workflow per type.

Default workflows ship for text-to-image, image-to-image, inpainting, upscaling, background removal and angle regeneration, covering SD 1.5, SDXL, Flux, Z-Image-turbo and Qwen-Image.

Inside an imported workflow the editor substitutes %prompt% and %negative% with the panel's prompts, fills width and height from the panel, randomises seed or noise_seed when it is set to -1 or 0, and supplies the uploaded source image or inpaint mask where the workflow expects one.

Node inputs are editable inline, with checkpoint, LoRA, sampler and VAE dropdowns populated from your running server. Nodes your server does not recognise are flagged before you generate.

SD WebUI (AUTOMATIC1111)

Default address: http://127.0.0.1:7860

Add the API and CORS flags to webui-user.bat on Windows or webui-user.sh on Linux and macOS:

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

Restart the WebUI afterwards. Models, samplers and upscalers are then read from the running server.

Forge

Forge uses the same flags as SD WebUI. Historically it also required a small patch to modules/initialize_util.py so that the CORS middleware was applied correctly.

That patch was documented in November 2024 and was submitted upstream. Recent Forge builds may no longer need it. Try the standard flags first, and only apply the patch if the connection is still blocked by CORS. The step-by-step patch is in the SD WebUI API guide.

RunPod ComfyUI

Enter the proxy address of your pod, in the form https://{pod-id}-8188.proxy.runpod.net. Behaviour is otherwise identical to a local ComfyUI, and RunPod keeps its own separate set of imported workflows.

Requests to a RunPod pod are sent without authentication. Anyone who learns the pod URL can reach it, so treat the address as a secret and shut the pod down when you are finished.

Fal.ai

Fal.ai is a paid cloud service. Create an API key in the Fal.ai dashboard and paste it into the connection panel. Available models are then listed for each task — text-to-image, image-to-image, upscaling and background removal are chosen separately.

Prompts and, for image-to-image work, your panel images are uploaded to Fal.ai.

Grok (xAI)

Default address: https://api.x.ai

Create an API key in the xAI console and paste it into the connection panel. No CORS configuration is needed. Two models are selected separately: a text model and a vision model, the latter used when an image is being read.

Where xAI publishes its rates, the editor records estimated spend per model on the dashboard. This is an estimate for your own reference, not a bill.

Ollama

Default address: http://127.0.0.1:11434

Ollama refuses browser requests until it is told which origins to accept. Set the environment variable, then restart Ollama:

# Windows
setx OLLAMA_ORIGINS "*"

# macOS
launchctl setenv OLLAMA_ORIGINS "*"

# Linux (systemd), in the service unit
Environment="OLLAMA_ORIGINS=*"

If * does not work in your setup, try OLLAMA_ORIGINS=null, which covers the case where the editor is opened directly from disk.

As with Grok, a text model and a vision model are selected separately. Ollama runs locally, so nothing is sent outside your machine and no cost is recorded.

Assigning tasks to services

The Generative AI Settings window has a matrix with one row per task and one column per service. Assign each task to whichever service should handle it; a dash marks a combination the service does not support.

TaskAvailable on
Text to ImageComfyUI, RunPod ComfyUI, SD WebUI, Fal.ai
Image to ImageComfyUI, RunPod ComfyUI, SD WebUI, Fal.ai
InpaintComfyUI, RunPod ComfyUI
UpscaleComfyUI, RunPod ComfyUI, Fal.ai
Remove BackgroundComfyUI, RunPod ComfyUI, SD WebUI, Fal.ai
Image to Image AngleComfyUI, RunPod ComfyUI
CLIP interrogationSD WebUI
DeepDanbooru interrogationSD WebUI
Text to PromptGrok, Ollama
Image to PromptGrok, Ollama
Dialogue & TranslationGrok, Ollama

Background removal on SD WebUI relies on the rembg extension being installed there. ADetailer likewise requires the ADetailer extension in SD WebUI or Forge.

Queueing and concurrency

Generation requests are queued per service. Local ComfyUI and SD WebUI process one request at a time. Fal.ai, Grok and Ollama accept a concurrency setting between 1 and 10.

Each queued task appears on the layer it belongs to, showing its position, live progress where the backend reports it, and a cancel control.

Cancelling a queued task removes it. Cancelling a task that is already running on ComfyUI sends a real interrupt. For a running cloud request the editor stops waiting for the result, but the remote job continues and you will still be charged for it.

What is sent where

Requests go only to the service you configured for that task. A local ComfyUI, SD WebUI or Ollama keeps everything on your machine. RunPod, Fal.ai and Grok are remote, and requests to them carry the prompts, story or dialogue text and any panel images the task involves.

API keys are stored unencrypted in browser storage, so avoid entering them on a shared computer. See the FAQ for the full data summary.

← Open Manga Editor Desu · Feature reference · FAQ