Nobody's first generation is the keeper. You get the composition right and the mood wrong, fix the mood and lose the composition, and somewhere around the fourth attempt you realize the second one was closest. Most AI image tools treat each attempt as an isolated event: change the prompt, press the button, and the previous result scrolls away into a flat history. Kaka Camera is built around the opposite idea. Every generation is a version in a chain, and iterating grows the chain instead of replacing anything.
What a version chain actually is
The data model is deliberately simple: every task record is a version. The first run of an idea is the root of its chain — version 1, with no parent. When you iterate from a task, the new run stores a reference to the root and takes the next version number: 2, 3, 4. There is no separate “history” object to keep in sync, and no special case for the original. A chain is just a set of ordinary tasks that know which root they belong to.
Creating either kind of task goes through the same single request. Leave out the task reference and you start a new chain; include it and you extend an existing one. The app never has to decide between two different code paths, which is the kind of simplicity that survives contact with real users.
Why branch instead of overwrite
Three reasons, in ascending order of how much they cost us.
Regret is real. AI generation is stochastic: the same prompt twice does not give the same image twice. If a rerun replaced the previous result, the normal act of tweaking a tag could destroy the best image you had made so far. Keeping every version means the boldest experiment costs points but never costs work.
Comparison is the tool. Prompt craft is mostly “change one thing and look”. A chain keeps the before and after side by side with their exact prompts, so you can learn which tag did what instead of trusting memory.
The marketplace depends on it. A completed task can be published as a prompt template, and templates themselves have versions that share a lineage. Chains are what let a good result become a product and then keep improving without breaking the people already using it.
What iterating costs
Each new version is a real task and is priced like one: base cost plus the template author's copyright fee, deducted when you confirm. That is the honest answer — iteration is not free, because generation is not free. What the chain gives you in return is precision: you rerun only the step that was wrong, with everything else already in place, and the confirmation screen always shows the cost before the points move.
The cheapest way to use chains is the one the user guide recommends: explore at draft quality, where a run costs a fraction of standard, and only climb to standard or HD once the prompt is settled. A three-version chain — draft, draft, HD — usually costs less than two blind standard runs.
The same idea, one level up
Workflows — our multi-step templates — follow the same philosophy. A workflow run is prepaid in full, its steps execute in dependency order with independent ones in parallel, and a failed step is retried before the task is allowed to fail. Then the whole run sits in your task list like any other task, ready to be versioned. Pipelines are not a separate kingdom with their own rules; they are just bigger links in the same chain.
If you take one thing from this post: do not treat a so-so result as a dead end. Open it, start a new version, change the one thing that bothered you. That is what the app is built around.
New here? The user guide has the hands-on walkthrough, and the 1.6 release notes cover what is new in the current version.