Repository navigation
Description
Problem
Generated images and video accumulate without ever being curated. The failure
is public: a widely-circulated account describes generating over 200,000 images
and having no idea what to do with them, with the only observable outcome being
a filling hard drive.
(https://cyberneticforests.substack.com/p/500000-jpgs)
Curation does not happen because there is nowhere for a selection to go.
Photography developed a culling market — Aftershoot, Narrative Select,
FilterPixel — because photographers deliver a set. Selecting is work that pays
for itself only when something is delivered. Generated output has had no
comparable exit, so it is neither selected nor deleted.
That has changed. There are now two exits, and both demand the same two things.
The two exits
| Exit | What it demands |
|---|---|
| Commercial | Raw output does not sell. Adobe Stock is roughly 48% AI-generated with about 29M AI images uploaded monthly; royalties floor around $0.33 per licence. What sells is a small, deliberately-shaped set with metadata and a human pass. Platform policy diverges sharply — Adobe accepts AI with mandatory disclosure, Shutterstock does not accept externally-generated AI at all, Getty bans it. |
| Re-input (img2img / img2video / LoRA) | Training a LoRA on a previous LoRA's own output amplifies its artifacts and narrows diversity each generation. Every practical guide mitigates this the same way: discard hard, by hand, anything with a baked-in artifact. |
Commercial output needs provenance because protection attaches to the human
layer — selection, arrangement, editing — and that layer has to be evidenced.
The US Supreme Court denied certiorari on 2026-03-02, leaving the human
authorship requirement in place, and the practitioner guidance is explicit that
drafts, edit history and provenance metadata are what makes a registration
defensible.
(https://www.morganlewis.com/pubs/2026/03/us-supreme-court-declines-to-consider-whether-ai-alone-can-create-copyrighted-works)
Re-input needs selection because model collapse is not hypothetical, and the
discard criterion there is factual (artifacts), not aesthetic — which makes it
automatable.
Why holding the outputs at all is justified
A recurring argument says the outputs are disposable because seed plus workflow
reproduces them. That is false in practice.
- PyTorch does not guarantee reproducibility across releases, commits, or
platforms, and results may differ between CPU and GPU execution with an
identical seed.
(https://huggingface.co/docs/diffusers/en/using-diffusers/reusing_seeds) - Community investigation isolated the GPU itself as the deciding factor,
observing a constant style shift across a 500-image batch when the card
changed, while CUDA, driver and OS versions had no effect.
(The fight against non-deterministic results AUTOMATIC1111/stable-diffusion-webui#9371) - The cause is floating-point associativity and kernel selection, not a bug
awaiting a fix, so bit-exact reproduction across different GPUs is not
achievable.
A recipe is therefore not a substitute for the output. Each generated asset is
a one-off, which is a stronger justification for keeping it than a photo
library has.
Gaps observed (August 2026)
- Video provenance is empty. C2PA 2.1 covers MP4/MOV via JUMBF, and
Premiere can sign on export, but ComfyUI + VideoHelperSuite emits neither a
manifest nor a watermark, frame-level provenance is lost at combine, ffmpeg
preserves nothing across a re-encode, and no signing path was found for
DaVinci Resolve. - No ComfyUI-oriented asset manager exposes an API. The closest local-first
one indexes in place, auto-watches an output folder and parses workflow JSON,
but ships neither a REST surface nor MCP. - Nothing carries both embeddings and lineage. Products have one or the
other. - Index-in-place is no longer a differentiator. It is now the standard
pitch against Eagle's copy-on-import model.
Open
- Tag-based vectorisation. Turning tags plus recognised content into text
and vectorising it, rather than embedding raw pixels. Model choice is the
blocking decision because changing it forces a full re-index. - Eager collection. Pulling from local folders and browser cache rather than
waiting for import. The scope of what is collected has to be declared, not
just toggled. - Automatic secret flagging must warn, not block. Windows Recall filtered by
blocking capture and was repeatedly shown to miss credentials and identifiers
in ordinary applications, which turns every miss into an incident. Warning
keeps both error directions survivable: a miss still collects, a false
positive still keeps.
(https://www.tomshardware.com/software/windows/windows-recall-ai-may-sometimes-capture-intricate-credit-card-details-even-when-microsofts-sensitive-information-filter-is-enabled-in-windows-11) - Which exit to close first.
Not in scope
Deciding whether Asterism should pursue adoption or standardisation. The
position is unchanged: build the better tool, treat uptake as an outcome.
Children
- Write AI-disclosure provenance on export: IPTC 2025.1 and C2PA, including video #14 — Write AI-disclosure provenance on export: IPTC 2025.1 and C2PA,
including video. Now scoped to writing and re-applying: the export-path
wiring, signing as configuration, and re-application from stored state. - Model what a file already discloses, and judge it separately from whether its signer is trusted #18 — Model what a file already discloses, and judge it separately from
whether its signer is trusted. Split out of Write AI-disclosure provenance on export: IPTC 2025.1 and C2PA, including video #14: the write side has a
vocabulary and the read side has none. - Extract generator parameters (model, seed) from stored metadata behind their own port #19 — Extract generator parameters (model, seed) from stored metadata behind
their own port. Split out of Write AI-disclosure provenance on export: IPTC 2025.1 and C2PA, including video #14 after measurement showed extractability is
decided per file rather than per generator family. - Verify disclosure with an implementation that is not ours, and measure what a re-encode loses #20 — Verify disclosure with an implementation that is not ours, and measure
what a re-encode loses. Split out of Write AI-disclosure provenance on export: IPTC 2025.1 and C2PA, including video #14: most "external" C2PA validators are
the same implementation, and the re-encode claim had no assertion behind it. - Let a line release what it holds, signed with the history that chose it #254 — Let a line release what it holds, signed with the history that chose
it. The commercial exit, answering this umbrella's "which exit to close
first": there is no operation that sends a finished set anywhere, and the
evidence the exit needs has to travel inside the file rather than sit in a
row here. Supersedes Record what leaves the store and what comes back — delivery and re-input as first-class traces #31.
Verification
Umbrella issue. Implementation issues split from here carry their own
verification.
Activity