Skip to content
neuwcodeboxPublic

About

Moru is a simple, local, conversational image-generation desktop app.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Moru

한국어

Moru is a Windows desktop app for creating and refining images through conversation. A local LLM or ChatGPT turns your request into an image prompt, then Anima or FLUX.2 produces the image on your computer.

Creating and refining images in Moru with natural-language requests

Getting started

You need Windows, an NVIDIA GPU with its drivers, and the Windows WebView2 Runtime.

Download portable build (Proton Drive)

Extract the entire Moru.7z archive and run Moru.exe. Python, Node.js, and ComfyUI are included. Download model files through the app or select your own; their use is governed by their distributors' licenses.

Projects, images, and settings are stored in data/; downloaded models are stored in models/. Move both folders with the app. Sign in to ChatGPT again when using a different computer.

Workflow

1. Prepare models

In Model setup, choose an image model and prepare its files. Moru supports Anima Turbo, Anima Aesthetic, and FLUX.2 klein 4B.

For automatic prompt writing, prepare a prompt writer. You can also use Direct input without one.

  • Local LLM: Prepare its model file to run it on your computer. Requests, prompts, and conversation history stay local, and prompt writing works offline.
  • ChatGPT: Sign in with your account and choose a GPT model. It runs no local LLM and requires an internet connection. Requests, prompts, and recent conversation text are sent to OpenAI, and ChatGPT plan usage and content policies apply.

2. Set generation options

In Generation settings, choose your prepared image model and prompt writer, then adjust image dimensions and generation options. You can enable or disable Danbooru tag search for Anima with either a local LLM or ChatGPT. Advanced settings control how much recent conversation to use and the reasoning options. Changes are saved when you close the settings window.

Switch between prepared prompt writers and Direct input beside the input box. Direct input trims surrounding whitespace and uses each message as a complete image prompt, without AI rewriting or tag search.

3. Create and refine an image

Describe a scene to have a prompt written and an image generated. When tag search is enabled for Anima, Moru looks up matching Danbooru tags online to inform prompt writing. After seeing the result, send a change request. Moru uses the current image's prompt and recent conversation to create a new image.

A blonde woman eating ramen at a convenience store.

Make it a rainy evening.

Give her a neutral expression.

Inpainting demo

Open Edit below an image to edit its full scene prompt or paint a Region and describe what to change and how, such as “Change this cup to blue.” Anima edits the painted region locally. Region editing requires a prepared local LLM or ChatGPT. Your selected prompt writer uses the text descriptions to prepare the edit and update the scene prompt for subsequent conversation. Images stay on your computer. The Sources menu shows information consulted during tag searches.

4. Compare results and explore another direction

  • Regenerate: Create another result with the same prompt and your current generation settings. Results from prompt and region edits also stay together as versions of the same conversation entry. Select the version you like to continue the conversation from it.
  • Fork: Copy the conversation up to the selected image into a new project. Try another style or scene while keeping the original project.

Click an image to zoom, pan, compare versions, or copy it to the clipboard in the full-screen viewer. Projects and results are saved locally so you can reopen them later and continue.

Prepare model files manually

If an in-app download fails, use the links under Model setup → Manual download, then use Select file to locate the file. You can keep its existing name and location.

Files for each model

Anima needs either the Turbo or Aesthetic weights and the shared text-understanding and image-decoding models. FLUX.2 klein 4B needs its three dedicated files. Prepare the prompt-writing GGUF when using a local LLM.

Model File to download
Local prompt model Qwen3.5-4B-Uncensored-HauhauCS-Aggressive-Q4_K_M.gguf
Anima text-understanding model qwen_3_06b_base.safetensors
Anima image-decoding model qwen_image_vae.safetensors
Anima Turbo anima-turbo-v1.1.safetensors
Anima Aesthetic anima-aesthetic-v1.1.safetensors
FLUX.2 klein 4B flux-2-klein-4b-fp8.safetensors
FLUX.2 text encoder (FP4) qwen_3_4b_fp4_flux2.safetensors
FLUX.2 VAE flux2-vae.safetensors

Run from source

Install Git, Python 3.12, uv, and Node.js 22.12 or later, then run these commands in PowerShell. Initial setup downloads dependencies and ComfyUI.

git clone https://github.com/neuwcodebox/moru.git
cd moru
uv sync --frozen --extra inference
uv run --extra inference python scripts/setup_comfyui.py
cd frontend
npm.cmd ci
npm.cmd run build
cd ..
uv run --extra inference python -m moru

For subsequent launches, run uv run --extra inference python -m moru from the repository folder. The same setup and workflow apply, with data/ and models/ stored in that folder.

Development

See TECH.md for development setup, tests, and portable builds, and SPEC.md for detailed product behavior.

License

Moru is licensed under GPL-3.0-or-later. Third-party libraries and models are covered by their own licenses.

About

Moru is a simple, local, conversational image-generation desktop app.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages