Show HN: Klad, a paint app your coding agent can drive (source-available) (github.com)

1 points by ambewas ↗ HN
I've been developing applications for a long time and have turned to game development as well lately. One of the things that frustrated me the most was that using AI agents for game development is very annoying in the art department. Your only options right now are to either use an image genAI model and roll the dice every time you want to make an edit, or have your agent draw with something like vectors.

I was looking for an application that would allow me to ask an agent to make a first draft of whatever art I needed with actual brushes, and then be able to go in myself and edit every last stroke or layer that it created.

Klad is that application. Written in Rust, it can be fully controlled by an agent through the CLI, and every function is available in a nice UI as well: a brush engine, frame-by-frame animation (and bones/IK), vectors, text layers, colours, layer effects, infinite undo (even after re-opening the file!),…

Why I think it's useful for a wider audience: Adobe showed agents editing Photoshop files at MAX this week, with a private beta planned for early 2027.

Klad is built on the same core idea, with editable paint strokes as core architecture, and it works today.

Clone the repo to try it out: https://github.com/klad-app/klad

You can basically point Claude to the repo, ask it to build it, and pick up the drawing skills. Then ask it to make any drawing you want! (After that, you or the agent can change absolutely every brush stroke in the app again, which makes edits a breeze.)

The quality of the drawings really depends on the agent you use. I have tried it with Claude Fable 5.2 since it came out on Monday, and the drawings are already quite impressive. I'm confident that this will only improve.

I use it every day on Mac, so that definitely works well. It builds on Linux too (tablet pen pressure still needs some work there). Windows builds in CI, I haven't used it there myself yet but I have some reports that it works perfectly fine.

Coming up next is support for pixel art. I'm in the testing phase with this right now, and I expect it to go live in the repo sometime this weekend.

Klad is source-available rather than open source: free to build and use for individuals and small companies, and I plan to sell pre-built binaries later, the way Aseprite does. The file format, CLI reference and agent skill are MIT.

What I want to hear from people who try it: Can your agent work out the CLI without help, and where does it get confused? Can you go in and change one of its strokes easily?

The command reference and guides are available at https://klad.studio

I'll be here answering any questions about the technical side as well, as it's a pretty interesting challenge to build a performant engine with editable brush strokes that render as paint.

29 comments

[ 5.7 ms ] story [ 60.8 ms ] thread
[delayed]
I was so incredibly tired of trying to get an actual "usable" result through a generative image model. Its always impressive results, but the fact that they're just pixel blobs, makes them entirely unpractical.

I have no idea how an agent would leave a watermark in Klad. It's got no agent inside, and every mark that an agent made would have possibly been made by a human as well. I guess they would have to really specifically target Klad to be able to make a watermark happen...

Very cool. Can't wait to try this!
please do, and since it's so early, I am very eager for your feedback!
This looks very interesting, so the outputs are svg? Will definitely give it a try
Hmm this is interesting, perhaps you could pair it with image gen and add code to seperate the layers instead of individual brush strokes. Could be very token costly. Will try though
The project looks really cool. Do you have an average measure of the time taken for a generation and the number of tool calls?
I have been meaning to find/build a tool that would sit in between the pre-production assets of a movie clip (script, characters, locations, prop assets) and the moment you press generate.

I envisioned it as some sort of a flipbook that would allow me to *cheaply* get a low-res idea of what the 'generate' click would get me, without having to burn movie making tokens.

This may not be exactly it, but it nudged me into a direction. Thanks!

I will give it a try and report back.

Nice job~~

So I've done a little bit of testing. When I loaded up the editor, I expected it to communicate with the installed binaries for my large language models, or possibly use a BYOK (bring your own key) approach. But once I understood that it's driven from the command line and you see the changes happen in the editor that gets spun up, I had no problems.

I've been experimenting a fair amount with LLMs driving procedural graphics myself, although my experiments have been mostly limited to relatively low-resolution stuff, such as EGA adventure game graphics.

So I decided to put Klad through a relatively hard test: I took a reference picture of an illustrated squirrel and asked it to recreate it, then set up the rigging for a basic walk cycle. This was using Fable 5.2 high.

Then I did the same thing, but with a more traditional approach, using standard generative models to manually create a walk cycle. This was all done relatively quickly, so bear that in mind.

Here are the results. I still think these are early days, and LLM-driven graphics are only going to improve.

And there are obvious advantages to a procedural system with rigging: Much easier to maintain consistency, palette control, and the ability to make precise alterations without having to deal with any kind of conventional in-painting nonsense.

https://imgpb.com/vJFpP

I have been trying to build something similar as well. Is there a browser version to try or an MCP?
No browser version unfortunately. It's a pretty heavy thing to do to render thousands of brush strokes and keep them all editable. So it is written in rust, with highly optimized memory management. I don't think a browser app could deliver the necessary performance.

I am still waiting on apple for signing a build, but once I can I will release binaries as well. There's an email list you can sign up on the site, if you're interested to be notified. Once the binary is out, an MCP will be as well. Right now it's a cli and a UI app you can build yourself.

But if you want to try a headless version, just point your favorite LLM to it and ask it to build it in a sandbox

Sorry if I missed it, but how is it different from having the "agent" write SVG code?
No problem, it's easy to miss. But the underlying architecture here is each brush stroke is represented as data, like a vector in SVG, but rendered as a pixel brush. That means you can also do other things like smudges, paint blending, etc... Which you can't do with SVG.

The other thing is that this is also a first class drawing app with pen support. So you don't have to use an agent, and you can still profit from the editability. Or start a drawing yourself and have an agent come in later..

I had a similar idea, but for photo manipulation.

I like photography, but I'm relatively poor on the photo editing. I was hoping to build an MCP server around Gimp/Darktable/RawTherapee. The idea would be that the user would describe changes he wanted to see in the image (brighten up the shirt), and the LLM would pick appropriate tools to select the region and make the edit.

At the time I looked into it, it didn't seem that Darktable/RawTherapee provided APIs to hook into. Then life got busy.

Amazing thank you! This is going to be fun when creating hobby games
Neat, any plans to take a swing at sculpting? Frontier models are still not great at that
No, not yet. But maybe it's something that could be a fit for klad in the future. I think it's a whole thing though.. gotta think it through but I see no reason as to why the klad file format could not support an extra dimension as well... I'll think about it!
How does the licensing work with your model?
Klas does not contain a model itself. You steer it with your own LLM. The source code is licensed as source available, meaning you are able to build it from source and use it for your own projects. Commercial use is allowed for smaller companies up till 500k revenue in the past year.

Should all be there in a license file on GitHub!

Don't all of the ArtCraft creative apps (the Adobe clones) have first-class support for AI agents? That could be more feature-complete than rolling your own editor.
They have more features, yes, but the architecture of klad is different from the ground up.

I explicitly designed the klad file format to be git compatible, which matters for agents that can easily track changes, but it is also a lightweight format that describes every brush stroke in a drawing rather than recording pixels.

The latter means every single one of the strokes an agent or you make, remains editable even thousands in. You can move every one, change the colour, transform it like a vector... And all the pixel rendering replays for the chunks it was in, in pretty much real time.

This then enables much deeper control for any changes you or an llm want to make, and I think this fundamentally makes klad positioned much better for agents drawing than any existing adobe clone.

I could be wrong about this, of course. Time will tell. For now I have received positive reports from people especially about the editability and consistency that comes with this format

(comment deleted)
nice work, I am experimenting with it, like the concept of it so far!
Cool! Glad you're enjoying it.

Small note, if you do end up creating something with it, feel free to submit your project to our "made with klad" page. I'll happily link to whatever it is you end up making

Wow looks really cool! Really useful :)