What began as an attempt to bring Git to the world of digital art evolved into something bigger: an AI-powered co-creator embedded right inside your canvas.
As artists and programmers, we often wondered—what if creative workflows had the same tooling as software development?
- What if you could branch your art to explore different styles without duplicating files or layers?
- What if you could commit versions of your work with thumbnails, timestamps, and layer states?
- What if you had an AI art copilot that could improve your sketches directly on the canvas, guided by prompts and layer data?
- What if you could receive spontaneous art critique using AI?
With Krita's Python plugins, we managed to bridge this gap, bringing common developer tools to an artist's world.
kritAI is a Krita plugin that fuses version control and AI assistance into your digital art workflow. It ships with two main components:
Choose from the following image generation modes to create/modify the layer that is generated on the canvas.

- Generate – Create a new image layer from a prompt.
- Vary – Generate image variations based on the current canvas.
- Edit – Paint a mask and prompt the AI to fill that region using selected layers for context.
- Committing – Save your current canvas and its layer structure with a commit message.
- Branching – Create branches to explore alternate versions or styles.
- Preview Version History – Visual tree view of all commits with thumbnails, timestamps, and messages.
- Server Upload – Upload your art, view art created by other users, and commit tree to the cloud!
- Python to develop Krita plugins
- PyQt for UI/UX design of the dockers
- OpenAI API (DALL-E) to retrieve the AI-generated image based on layer information and prompt
- Next.js for image hosting and MongoDB for image data storing
- AI image generation accuracy
- Learning new skills (ex. PyQt)
- Visualizing branch history to users through a graph
- AI image generation saved as a layer directly on the canvas
- Building a plugin that we would use IRL :)
- Visualizing branch history to users through a graph!!!
- Uploading commit history alongside Krita files to DB so others can "clone" both the
.krafile and its commits + branches
