Inspiration

We run a faceless AI video studio — multiple YouTube channels, dozens of Veo clips a week. One night we found the same 8-second clip stored four times across our archive under different names. The clip cost money to generate; the copies cost money to confuse us. Cloud drives store outputs. Nobody was storing the thing that actually made them: the recipe — prompt, model, parameters, lineage.

What it does

RecipeVault is a vault for AI-generated media where the recipe is the asset:

  • Collect: drop a finished clip in — it's SHA-256 content-addressed, uploaded to Backblaze B2, and sealed with a Genblaze provenance manifest carrying its full recipe (prompt, model, params, parent).
  • Dedup before you pay: identical content is blocked before upload — the savings widget counts every blocked duplicate (in dollars for generated clips, in storage for imports), and every event is drillable to the exact block.
  • Recipe cards: search your vault by prompt, model, or hash. Every clip shows the recipe that made it.
  • One-word regeneration: edit "kitchen" → "greenhouse" on a card and hit Regenerate. An async job runs live Veo 3.1 (queued → generating (Ns…) → done with a live elapsed counter — honest states, no fake instant AI), and the new clip is born with a parent link in its manifest.
  • Prove without revealing: every asset gets a public verify page — hash, model, timestamp, lineage are public; the prompt stays redacted (verifiable via prompt_hash, owner-toggleable). Your provenance is public; your trade secrets are not.

Real numbers from our real studio: we scanned our production archive — 562 clips, and 49 of them were duplicate copies. Replaying that archive through RecipeVault blocked 36 duplicate ingests — 0.2 GB of duplicate storage, and $4.80 of would-be Veo re-generation (at today's veo-3.1-fast rate). We first computed that as $43.20 by pricing every duplicate as an AI regeneration — then caught ourselves: most of those duplicates were imported stock, not generated clips. The honest number is smaller. The vault labels the difference, and so do we.

How we built it

  • Genblaze SDK (Pipeline.ingest → ObjectStorageSink → S3StorageBackend.for_backblaze): every asset enters through Genblaze and exits with a signed provenance manifest on B2. The manifest is our database of record — SQLite is just an index.
  • Backblaze B2: content-addressed asset store (assets/xx/yy/<sha256>.mp4) + manifest store. The bucket is private; the app serves time-limited presigned URLs. B2's free egress (up to 3x monthly storage) is what makes public verify links economically sane.
  • FastAPI backend with an async job worker (real Veo 3.1 generation via Vertex AI), daily generation caps, and a judge-friendly demo mode (per-session cap with honestly-labeled cached fallback). The public demo is a single-owner instance — the owner API is intentionally open so judges can poke it.
  • React + Vite frontend: vault grid with lazy-loaded previews, recipe cards, live job states, savings drilldown, verify pages.
  • AI models used: Google Veo 3.1 (veo-3.1-fast-generate-001 and veo-3.1-generate-001) for video generation. The demo vault is our real production archive, honestly labeled: Veo clips with full recipes, legacy clips whose recipes predate the vault (labeled — losing them is why we built this), and imported stock clips (labeled with source queries, not recipes). A real studio archive is mixed; honest labeling is the product.
  • Knowledge is ours from months of studio operation; all code in this repo was written during the submission period.

Challenges we ran into

Genblaze is brand new and moving fast — we built on v0.4.0, and v0.5.0 shipped mid-hackathon carrying the fixes from our bug report — and we drove it somewhere new: Vertex AI auth mode. The VeoProvider crashed on poll ('str' object has no attribute 'name') and called a Gemini-Developer-only download API. We isolated three distinct bugs, filed issue #136 with repro code and our working fixes — and the maintainer merged PR #137 fixing all three the same day, acknowledging the external report. We believe we're the first team to push this SDK through Vertex to production.

Accomplishments that we're proud of

  • A vault where provenance isn't a feature — it's the storage layout.
  • Honest async UI: the regeneration in our demo is a real Veo 3.1 run, and the cut is labeled on screen — "about a minute later — real Veo 3.1, shown honestly" — because that's what production readiness looks like.
  • $4.80 saved is a small number. It's also a true number, measured on our own archive — we caught and corrected our own $43.20 overcount, because a provenance product that inflates its own metrics has no business existing. And it compounds weekly for any team that generates at volume.
  • Upstream contribution merged into the SDK this hackathon is about.

What's next

Multi-provider recipes (Lyria audio, image models), team vaults with per-member disclosure policies, and a CLI agent that watches your studio's output directory — because ours already wants it.

Built With

Share this project:

Updates

Submission history