English | <a href="https://github.com/Yiling-J/forgery/raw/v1.1.0/README_CN.md">中文</a>
Build, remix, and re-style characters with AI
Forge characters, not chaos. Forgery helps you extract equipments (props, clothing, accessories) from character images, save them as reusable items, and then generate new character looks by applying selected equipments + pose/expression controls using AI image generation.
git clone https://github.com/yourname/forgery.git
cd forgery
bun install
bun run prisma migrate dev # Initialize local SQLite DB
bun run dev
# server available at http://localhost:3000
If you have cloned the repository or have the docker-compose.yml file:
docker compose up -d
# server available at http://localhost:3000
You can run the latest version directly without cloning the repository:
mkdir -p data
docker run -d \
-p 3000:3000 \
-v $(pwd)/data:/app/data \
--name forgery \
yilingj/forgery:latest
# server available at http://localhost:3000
Forgery requires API keys for AI generation services (Google Gemini and/or OpenAI).
For text generation, Gemini 3 Flash or GPT-5 Mini are typically sufficient for most use cases.
For image generation, Nano Banana Pro delivers the highest-quality results and is generally the best choice. However, if cost is a concern, you can consider Nano Banana (non-Pro) or GPT Image 1.5 as more budget-friendly alternatives.
Keep in mind that Nano Banana (non-Pro) may struggle during the look generation step, especially when the prompt includes multiple pieces of equipment or complex visual elements.
For the Extract Asset step, Nano Banana (non-Pro) is typically good enough for most cases. We recommend starting with it; if you are not satisfied with the result, you can re-extract using Nano Banana Pro.
Your data is stored locally in data folder. To back up your library, character assets, and configuration, simply copy the data folder.
To restore, place the folder back in the root directory (or your Docker volume path) before starting the application.
A modular pipeline built on a modern stack:
data/files) for storing optimized WebP images.$ claude mcp add forgery \
-- python -m otcore.mcp_server <graph>