Model or dataset
mirabarukaso/character_select_stand_alone_app avatar
mirabarukaso/character_select_stand_alone_app

Character Select SAA turns character sheets into a JSON payload for ComfyUI or Forge Neo

Character Select Stand Alone App with AI prompt and ComfyUI/WebUI API support for waiIllustriousSDXL, waiANIMA and others model

639 stars26 forksJavaScriptMIT

At a glance

What is it?
Character Select Stand Alone App is an Electron desktop tool that collects character entries, tag autocomplete and bounding boxes, then sends one JSON payload to a ComfyUI or Forge Neo image backend. It suits people generating many images of the same character set, and it drops A1111 support.
Who is it for?
Adopt Character Select SAA if you generate images of a large recurring character roster and you run either ComfyUI or Forge Neo, since the character CSV, the tag assist data and the region boxes are assembled for you and delivered as a single payload. Skip it if you are still on A1111, since it was removed from the supported list for lack of maintenance, or if you use the browser based SAAC and expect it to write back to your machine, because SAAC is read-only by default.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The app is a form that compiles into one JSON payload

Character Select SAA is an Electron desktop application, and the architecture is visible in the repository tree rather than described in prose. There are two entry points, index.html and index_electron.html, a main.js and a main-common.js pair, plus html, settings, models, scripts and data directories. The product name in package.json is Wai Character Select Stand Alone App and the package name is character_select. The useful mental model is a form that compiles: you pick a character, the app resolves the associated tags from a tag assist dataset, you optionally draw regions on a canvas, and the merged positive prompt is submitted as a single JSON payload. The backend receives one request rather than a prompt string you assembled by hand.

Two backends are supported, and the feature table is honest about the gaps

The README carries a verification table comparing ComfyUI and Forge Neo. Both list release numbers, ComfyUI at 0.41.1 and Forge Neo at 2.30.0, and both are marked yes for SDXL refiner, regional condition and couple, ControlNet and IPA, and ADetailer. The differences are stated rather than glossed over. Image Color Transfer is supported on ComfyUI but not on Forge Neo. API authentication is supported on Forge Neo but not on ComfyUI. MiraITU is listed as supported on ComfyUI and not on Forge Neo. The note underneath adds that Regional Condition and ADetailer on Forge Neo cover SDXL and Anima, while on ComfyUI it should support all diffusion models SAA supports and needs verifying. That asymmetry is the practical fact when choosing a backend.

A1111 was dropped, and ComfyUI Desktop is not supported

Two exclusions are stated in bold in the README, and they define the supported surface. A1111 was removed from the support list due to a lack of maintenance, with the note that it still works with SAA but will not be tested on it. ComfyUI Desktop does not support SAA. For anyone arriving from an Automatic1111 workflow, that is a hard boundary rather than a caveat, and it means the ComfyUI or Forge Neo backends have to be set up before the app is worth installing. The README also says to set up the Image API Interface first, and for ComfyUI to use the latest ComfyUI_Mira.

The thumbList is a HuggingFace dataset keyed to the model you run

Character thumbnails, the character CSV and the tag assist JSON are downloaded from a HuggingFace dataset, and the choice of list is tied to the model family. The default thumbList is based on waiIllustriousSDXL_v160, with two alternatives, waiANIMA_v10Base10 and waiNSFWIllustrious_v120, and selecting one downloads it automatically from HuggingFace. The manual download guide lists the exact filenames to place in the data folder for each of the three, and the update section warns that pulling a new version from GitHub will not update the dataset files: you have to delete danbooru_e621_merged.csv and the *_thumbs.json, *_characters.csv and *_tag_assist.json files yourself and restart the app so it fetches the latest database. A separate SAA Thumb Generator script under scripts/python/thumb-generator exists for building your own list.

Bounding boxes become regional condition, with 64 numbered regions

The bounding box feature is the most concrete piece of the mechanics in the README. You draw rectangles on a canvas that follows the current Width and Height, and the merged positive prompt is submitted as one JSON payload, with a header switch to enable it, while Regional Condition keeps that switch off. The behaviour is specified in detail: the canvas uses the current generation size, including the swap to the wider orientation, stays at or below 1:1 so a smaller generation size shows at native pixel size, dragging on empty space creates a box, dragging inside moves it and dragging an edge resizes it. Boxes are numbered from 01 up to 64, deleting one renumbers the rest in list order, and a new box is appended at the end. Tab walks outward through nested boxes under the pointer and Shift+Tab walks back.

Running locally is a clone, an install and an Electron start

The install path is short, and the README recommends the GitHub clone over the one-click package when you want the latest version.

bash
git clone https://github.com/mirabarukaso/character_select_stand_alone_app.git
cd character_select_stand_alone_app
npm install
npm start

The package scripts make clear what runs. The start script launches Electron on the current directory, and the test script uses the Node test runner with experimental module mocks.

json
  "scripts": {
    "test": "node --experimental-test-module-mocks --test",
    "start": "electron .",

Two packaging scripts exist for producing a build, one targeting win32 with a long list of ignore patterns for settings, model files, certificates and example images, and a simpler macOS variant. Dependencies include sharp for image work, onnxruntime-node for the tagger models, express with helmet and express-rate-limit for the local API surface, bcrypt and ws.

SAAC in the browser is read-only unless you flip a host switch

The browser based version, called SAAC, is documented separately in README_SAAC.md and there is an online Character Select on HuggingFace Space. The permissions are spelled out with unusual precision, and they are worth reading before you assume parity with the desktop app. SAAC is read-only by default. It can generate, load host settings, switch layout mode, and save only to saac_settings.json. A dragged layout is not written and a missing thumbList is not downloaded. The host SAAC read-only switch stays with the live host when switching settings, and you have to turn it off in host Settings if a client should write to that PC. There is also a Python based CLI tool for OpenClaw, the SAA Agent, published on ClawHub.

MIT licensing with a fast release cadence and a moving model target

The licence is MIT, which is the easy part of the adoption decision. The harder part is that the project tracks model ecosystems that move quickly. The default thumbnail list is tied to a specific checkpoint, waiIllustriousSDXL_v160, and the app exists to feed checkpoints that change name and version often, so the database and the app have to be updated together. Version 2.10.0 was released on 2026-10-17, after 2.9.4 in September 2026 and 2.9.3 a couple of days earlier, and the package manifest itself reads 2.10.1, which shows the code moving between the release tag and the repository. The last push was on 2026-10-18. The one-click package is explicitly described as possibly not being the latest version, which is the strongest argument for using the clone route.

Editorial conclusion

Adopt Character Select SAA if you generate images of a large recurring character roster and you run either ComfyUI or Forge Neo, since the character CSV, the tag assist data and the region boxes are assembled for you and delivered as a single payload. Skip it if you are still on A1111, since it was removed from the supported list for lack of maintenance, or if you use the browser based SAAC and expect it to write back to your machine, because SAAC is read-only by default. Verify first that your backend is on the supported list with the exact release named in the table, that you have set up the image API interface before starting the app, and that your thumbList matches the model you actually run, since the default list is built for waiIllustriousSDXL_v160.

Frequently asked questions

How do I install Character Select SAA?

Clone the repository, run npm install in the project directory and then npm start, which launches the Electron app. A one-click package bundle is also published on HuggingFace, but the README warns it may not be the latest version.

Which image backends does Character Select SAA support?

ComfyUI and Forge Neo. The README also states that ComfyUI Desktop is not supported and that A1111 was removed from the support list for lack of maintenance, although it still works.

Where does the character and tag data come from?

The thumbnail list, character CSV and tag assist JSON are downloaded from a HuggingFace dataset. The default is based on waiIllustriousSDXL_v160, with waiANIMA_v10Base10 and waiNSFWIllustrious_v120 as alternatives, and updating from GitHub does not update those dataset files.

Can the browser based SAAC write to my computer?

Not by default. SAAC is read-only and saves only to saac_settings.json, so a client cannot write to the PC unless you turn off the host SAAC read-only switch in host Settings.

Official sources

  1. Issues
  2. License: MIT
  3. mirabarukaso/character_select_stand_alone_app on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/mirabarukaso-character-select-stand-alone-app.svg)](https://hysenlabs.com/projects/mirabarukaso-character-select-stand-alone-app)

Was this useful?