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.
| Service | Where it runs | Needs | Handles |
|---|---|---|---|
| ComfyUI | Your machine | A launch flag | Text-to-image, image-to-image, inpaint, upscale, background removal, angle regeneration |
| RunPod ComfyUI | Your RunPod pod | The pod URL | Same as ComfyUI |
| SD WebUI (A1111 / Forge) | Your machine | Launch flags | Text-to-image, image-to-image, background removal, CLIP and DeepDanbooru interrogation, ADetailer |
| Fal.ai | Cloud | An API key | Text-to-image, image-to-image, upscale, background removal |
| Grok (xAI) | Cloud | An API key | Language model tasks: prompts from text, prompts from images, story to panel prompts, dialogue polishing and translation |
| Ollama | Your machine | An environment variable | Same 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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
| Task | Available on |
|---|---|
| Text to Image | ComfyUI, RunPod ComfyUI, SD WebUI, Fal.ai |
| Image to Image | ComfyUI, RunPod ComfyUI, SD WebUI, Fal.ai |
| Inpaint | ComfyUI, RunPod ComfyUI |
| Upscale | ComfyUI, RunPod ComfyUI, Fal.ai |
| Remove Background | ComfyUI, RunPod ComfyUI, SD WebUI, Fal.ai |
| Image to Image Angle | ComfyUI, RunPod ComfyUI |
| CLIP interrogation | SD WebUI |
| DeepDanbooru interrogation | SD WebUI |
| Text to Prompt | Grok, Ollama |
| Image to Prompt | Grok, Ollama |
| Dialogue & Translation | Grok, 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.
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.
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.