ComfyUI Higgsfield Opensource Challenge Submission and demo ← Build log

Submission and demo

02 — Demo video script (< 2 minutes)

Hard limit: 2:00. The submission form rejects longer. Target 1:48. The one thing the video must land: we measure the frame and tell you how to fix it.


The rule for this video

Every other entry will show a pretty render. Renders are cheap and indistinguishable. We show arithmetic that is checkable by hand. The camera moves, the numbers move, and a frame that fails gets a specific correction in metres.

Do not spend a single second on a shot we cannot defend.


Shot list

0:00 – 0:12 · The problem (12s)

Visual: A re-shoot app UI. A camera orbits. The render is fine. Cut to the same frame with the subject's head clipped at the top edge — still "fine".

VO:

"Every re-shoot tool asks the same question: where do you want the camera? And then it just… renders. Nobody tells you whether the frame is actually any good."

On screen: headroom = 0.02 — FAIL — too tight / clipped top


0:12 – 0:30 · What we built (18s)

Visual: The director's panel. All nine rules listed, live. Move the camera — every value updates.

VO:

"This is ComfyUI-Cinematographer. It scores a camera setup against the rules a working cinematographer actually uses — headroom, rule of thirds, lead room, shot size, the 180-degree line — and for every rule it fails, it gives you the lever that fixes it."

On screen: the rule panel, green and red, updating as the camera moves.


0:30 – 0:52 · The proof (22s) — THE MOST IMPORTANT 22 SECONDS

Visual: Drag the camera. headroom goes red. The correction reads "too much headroom: raise the camera target or push in." Drag again — it goes green.

VO:

"Watch. Headroom is 0.83. The medium-shot band is 0.10 to 0.45. So it fails, and it tells me to raise the target or push in. I do that — and it passes. That's not a model's opinion. That's arithmetic you can check by hand."

On screen, held long enough to read:

headroom   0.834   FAIL   band [0.10, 0.45]
           → raise the camera target or push in
headroom   0.312   PASS

Do not rush this section. If the viewer believes only one thing, it must be this.


0:52 – 1:10 · Auto-frame, and the honest bit (18s)

Visual: Hit Auto-Frame. Camera flies to the solved pose. Badge reads CONVERGED · 3 iterations.

VO:

"It can also solve the pose for you. And here's the part most demos would hide: the original implementation of this solver ran twenty-four iterations and returned the twenty-fourth one unconditionally — no convergence test at all. Ours exits the moment the frame passes, and when it can't converge, it says so and names the rules still failing."

On screen: CONVERGED · 3 iterations, then a second run showing NOT CONVERGED · 24 iterations.

The NOT CONVERGED state is reproducible — use this exact recipe. It is reachable in 8 of 819 solver states across the panel's own slider range (subject height 1.20–2.10 m × 3 shot types × 3 angles), all of them short subjects at a high angle, so do not hunt for it live:

Reset  →  subject height 1.20 m  →  closeup  →  high  →  Auto-Frame

Result: NOT CONVERGED after 24 iteration(s) - still failing: headroom=0.612, shot_size=0.28, overall FAIL, reliability RED.

Read the residual off the panel; do not retype it. The engine prints only failures whose weight clears OVERALL_PASS_WEIGHT = 0.8, so the line is shorter than the rule panel. In this state headroom and shot_size both carry weight 1.0 and appear. The other seven rules are failing too — in_frame, rule_of_thirds, lead_room, negative_space, camera_angle, level, direct_address — but at weight < 0.8, so they are visible in the panel and absent from the residual. That gap is the honest part of the beat.

These numbers were re-derived, not remembered. Both the count and the residual come from driving web/panel_state.js — the panel's own state module, the same code a page click runs — and were confirmed independently by the Python engine with the same intent: 8 states, identical residuals in both languages. Two earlier drafts of this script were wrong for this recipe and are retracted: 54 of 1,377 (that sweep started at 0.50 m, below the slider's 1.20 m minimum, so it measured an unreachable space) and 7 of 819 / shot_size=0.346 (built with comp: 'centered', which Reset does not select). The recipe above is what the panel actually does.

This is the credibility beat. Do not cut it for time. The residual line is the point: the solver does not merely say "no" — it names the rules it could not satisfy and by how much.


1:10 – 1:28 · Continuity (18s)

Visual: Two shots in the continuity strip. Hit check. 180_axis goes red.

VO:

"And it checks the cut, not just the frame. Cross the action line and the subject's screen direction flips between shots. Cut on less than thirty degrees and it reads as a jump. Both are caught before you spend a single render."

On screen: 180_axis FAIL — axis crossed · 30_degree PASS — changed 55°

Two corrections to earlier drafts of this script. (1) The panel reads 55°, not 53° — read the number off the panel, do not retype it from memory. (2) The continuity strip also contains a failing cut that earlier drafts omitted; show it, because a strip where only one of two rules fires is the honest picture and it is the one the panel actually renders.


1:28 – 1:48 · The stack, and close (20s)

Visual: Node graph. LTX 2.3 → CrossView-Warp → MoGe-2. Then the licence table.

VO:

"It runs on LTX 2.3 with CrossView-Warp and MoGe-2 — and we deliberately don't use MiniMax H3, because the US is an excluded territory and local commercial use needs five thousand dollars a month. Every model here is one you can actually ship. Fourteen rules, all measured. Apache-2.0. The repo's in the description."

End card:

ComfyUI-Cinematographer
14 rules · measured, not guessed
Apache-2.0 · #OpenSourceHiggsfield

Production notes


The 15-second cut (for the social post)

If a short version is needed for #OpenSourceHiggsfield:

0:00 headroom FAIL with the correction visible 0:06 drag → PASS 0:10 Auto-Frame → CONVERGED, 3 iterations 0:13 end card

Text: "Every re-shoot tool asks where you want the camera. Ours tells you if the frame is any good — and how to fix it. 14 rules, measured. Apache-2.0. #OpenSourceHiggsfield"