Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Cinemory — your memories, made into film

[![CI](https://github.com/upgradedev/cinemory/actions/workflows/ci.yml/badge.svg)](https://github.com/upgradedev/cinemory/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![Live app](https://img.shields.io/badge/live-Cloud%20Run-4285F4)](https://cinemory-595784992266.europe-west1.run.app)
[![Demo video](https://img.shields.io/badge/demo-YouTube-FF0000)](https://youtu.be/mqBw1hc8TxY)
[![Devpost](https://img.shields.io/badge/Devpost-submission-003E54)](https://devpost.com/software/cinemory)

> Turn a set of photos into a scored, cinematic video reel — generated with
> [Genblaze](https://github.com/backblaze-labs/genblaze), stored on
> [Backblaze B2](https://www.backblaze.com/cloud-storage), and sealed with
Expand All @@ -26,7 +32,7 @@ Built for the [Backblaze Generative Media Hackathon](https://backblaze-generativ
- **Demo video:** [`demo/cinemory-demo.mp4`](demo/cinemory-demo.mp4) (2:50, of
which 95.9s — 56.5% — is live screen capture of this deployed app doing the
real thing, shot as one unbroken five-photo run).
YouTube link: *TODO(owner): paste the URL after upload.*
Watch it on YouTube: **https://youtu.be/mqBw1hc8TxY**

**Check that the live app really is this commit.** The image is stamped at
build time, so you can confirm the deployment matches what you are reading
Expand Down
18 changes: 17 additions & 1 deletion demo/STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,23 @@ _Last updated: 2026-08-03. Deadline: 2026-08-03 5:00pm EDT. $10k. Greece-eligibl
> were true on that date and are very likely superseded. If two entries
> disagree, the higher one wins.

## 2026-08-03: demo reshot against the shipped product (canonical)
## 2026-08-03: video published, project SUBMITTED (canonical)

> The demo video is on YouTube at **https://youtu.be/mqBw1hc8TxY** and Devpost
> submission **1108702** (https://devpost.com/software/cinemory) is
> **submitted**, not a draft: video link, gallery images and T&C are all in.
> The owner checklists further down this file that still say "upload the video"
> and "3/5 steps" are dated history and are closed by this entry. One of them
> also calls the video 2:17, which was true of a cut two entries ago; the
> shipped cut is 2:50, described in the entry below.
>
> `README.md` now carries a badge row (CI, MIT licence, live Cloud Run app,
> YouTube demo, Devpost) directly under the title.
>
> Everything about the video's *content* is unchanged from the entry below,
> which remains the description of the cut that shipped.

## 2026-08-03: demo reshot against the shipped product

> The cut below was accurate when it was made and had gone stale in a day. Four
> things shipped after it and the video contradicted all of them: the photo cap
Expand Down
39 changes: 20 additions & 19 deletions demo/SUBMISSION.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
the reel playing, Provenance verified 12/12. The narration covers all four
judged criteria by the clock: utility **52.8s**, Genblaze **19.1s**,
production readiness **59.1s**, Backblaze B2 **38.6s**.
`TODO(owner): paste YouTube URL` — Devpost requires a publicly hosted
YouTube/Vimeo/Youku link; the repo mp4 alone does not satisfy that rule.
Hosted at **https://youtu.be/mqBw1hc8TxY**, which is what satisfies Devpost's
publicly-hosted YouTube/Vimeo/Youku rule; the repo mp4 alone does not.
- **Deadline:** 2026-08-03 5:00pm EDT. Per the rules the app must stay freely
testable through **2026-08-11 5:00pm EDT** — keep the Cloud Run service up
through judging.
Expand All @@ -34,11 +34,11 @@

## Devpost form — field map (copy-paste)

> **Draft filled 2026-07-21** — submission **1108702**
> (https://devpost.com/software/cinemory), DRAFT with **3/5 steps done**.
> Missing only the **Video demo link** (YouTube upload pending) and the
> owner-only T&C acceptance + final **Submit**. Gallery/thumbnail assets are
> rendered (7 PNG, 1200×800) and held outside the repo.
> **SUBMITTED 2026-08-03** — submission **1108702**
> (https://devpost.com/software/cinemory). The video demo link
> (https://youtu.be/mqBw1hc8TxY), the gallery/thumbnail assets (7 PNG,
> 1200×800, held outside the repo) and the T&C acceptance are all in. The
> field map below is kept as the record of what went into the form.

| Devpost field | Source |
|---|---|
Expand All @@ -51,7 +51,7 @@
| Genblaze usage + AI models | section "How Genblaze is used" + models table below |
| Built with | python · fastapi · react · typescript · genblaze · backblaze-b2 · gmi-cloud · ffmpeg · cloud-run · firebase-hosting · firebase-auth |
| Try it out links | repo + live app + mirror (top of this doc) |
| Video URL | `TODO(owner): paste YouTube URL` |
| Video URL | https://youtu.be/mqBw1hc8TxY |

---

Expand Down Expand Up @@ -327,22 +327,23 @@ python -m cinemory.cli --name demo --chapters 3 --per-chapter 2 --bridges
- Demo video recorded + committed (`demo/cinemory-demo.mp4`, 2:50) — ElevenLabs
voice-over, guarded by an A/V-sync CI gate (the `demo-video` job) so audio,
video and captions cannot drift out of sync.
- **Devpost draft filled** — submission 1108702
(https://devpost.com/software/cinemory), DRAFT with 3/5 steps done; gallery
+ thumbnail assets rendered (held outside the repo).
- **Devpost SUBMITTED** — submission 1108702
(https://devpost.com/software/cinemory); gallery + thumbnail assets uploaded
(held outside the repo).
- Docs, Dockerfile, `.env.example`, security scans all green.

**The GMI-credits blocker is CLOSED (2026-07-22)** — the account was funded
and real live generation is proven (see above). Nothing code-side remains.

**Owner checklist — ONLY these three remain (in order):**
1. **Upload the demo video to YouTube** (public or unlisted) and paste the URL
into the Devpost "Video demo link" field and this doc. Devpost requires a
publicly hosted YouTube/Vimeo/Youku link; the repo mp4 does not satisfy it.
2. **Add the gallery images** (the 7 rendered 1200×800 PNGs, held outside the
repo) to the Devpost form.
3. **Accept the T&C and Submit the project on Devpost** — the draft is already
filled (field map at the top of this doc). Deadline 2026-08-03 5:00pm EDT.
**Owner checklist — all three are done (2026-08-03):**
1. **The demo video is on YouTube** at https://youtu.be/mqBw1hc8TxY, and that
URL is in the Devpost "Video demo link" field and in this doc. Devpost
requires a publicly hosted YouTube/Vimeo/Youku link; the repo mp4 alone
does not satisfy it.
2. **The gallery images are uploaded** (the 7 rendered 1200×800 PNGs, held
outside the repo).
3. **The T&C are accepted and the project is submitted on Devpost**, inside the
2026-08-03 5:00pm EDT deadline.

Housekeeping after this PR merges: one Cloud Run redeploy to pick up the P0
fixes (1024×576 synth default, presign region/SigV4, `--timeout 600`), then
Expand Down
8 changes: 5 additions & 3 deletions demo/video-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,9 @@ ellipsis rather than a value that goes stale on the very next deploy. See
why: committing a video that pins a commit hash changes the commit a redeploy
stamps, so the drift cannot be fixed by recapturing.

## The one remaining manual step
## Where the video is published

Upload `cinemory-demo.mp4` to YouTube (unlisted or public) and paste the URL into
the Devpost submission and `demo/SUBMISSION.md`.
`cinemory-demo.mp4` is on YouTube at **https://youtu.be/mqBw1hc8TxY**, and that
URL is in the Devpost submission and in `demo/SUBMISSION.md`. Rebuilding the
video does not update the published copy, so a rebuild that changes the cut
needs a re-upload.
Loading