-
-
ProofForge turns campaign briefs into evaluated, hash-bound media with inspectable provenance.
-
Every asset includes model lineage, parameters, evaluation metadata, durable URI, and SHA-256 digest.
-
ProofForge pipeline: structured brief, Genblaze generation, evaluation, and durable Backblaze B2 persistence.
Inspiration
Generative media is easy to create but difficult to audit. Creative teams often lose the connection between an asset, its prompt, model, parameters, evaluation, and storage location. ProofForge makes that history durable and verifiable.
What it does
ProofForge turns a structured campaign brief into multiple campaign-ready image variants. Each output receives quality metadata, accessible alt text, a SHA-256 digest, and a canonical Genblaze provenance manifest.
How we built it
ProofForge uses Python and FastAPI with a responsive HTML, CSS, and JavaScript interface. Its reproducible media engine creates campaign variants from a structured brief.
Genblaze RunBuilder and StepBuilder record the provider, model, prompt, parameters, status, asset size, and SHA-256 digest. Genblaze then creates a canonical manifest and verifies its integrity.
When scoped B2 credentials are configured, Genblaze's S3-compatible ObjectStorageSink uploads the generated assets and manifest to the private Backblaze B2 bucket using a hierarchical per-run layout. Public run c93fdd71-4860-47a2-80de-61eb94e4f307 successfully stored three assets in B2 with a verified manifest.
The repository also contains an optional GMI Cloud adapter with model fallback, ready for use when inference credits are available. The public judging workflow does not require paid inference services.
Challenges
The main challenge was preserving one provenance structure across local development and durable cloud storage. We also needed to keep credentials out of source control, make the public demo work without paid APIs, and ensure every generated asset remained hash-bound.
Accomplishments
- Working campaign brief and responsive variant gallery
- Canonical, verified Genblaze manifests
- SHA-256 coverage for every output
- Real Backblaze B2 asset and manifest persistence
- Scoped, temporary storage credentials
- Public Docker deployment with security headers
- Six automated tests
- Reproducible gallery and demo-video tooling
What we learned
Provenance is most useful when it is part of generation rather than added afterward. Durable storage, model metadata, evaluation, accessibility text, and integrity hashes should travel together from brief to bucket.
What's next
Next we will add richer automated evaluation and retry policies, activate additional Genblaze providers when free inference credits are available, and expand ProofForge to audio and video campaign packs.
Built With
- backblaze-b2
- css
- fastapi
- genblaze
- html
- javascript
- pillow
- python
Log in or sign up for Devpost to join the conversation.