Open source · MIT license · Open Source Higgsfield challenge entry

Lock the scene.
Animate the moment.

SceneLock turns reference photos into matching start and end frames (same characters, props and light), then animates between them, with no continuity drift.

SceneLock demo · 1:42

How it works

A four-stage pipeline on the Comfy Developer Platform. You bring photos of people who consented, or photos you have rights to.

1

Start frame

Character and location references go through an image model to make the opening still.

2

End frame

An edit of the chosen start frame, so the table, props, background and lighting stay locked and only the poses change.

3

First/last-frame video

Seedance animates between those two stills. The template locks the camera.

4

QA

ffmpeg grabs frames, then a contact sheet and 2x crops are written for a person to review and sign off.

Features

Built from lessons learned the hard way, and baked into every run.

๐Ÿ”’

Scene lock

The end frame is an edit of the start frame, not a new generation. That's what keeps the table identical.

๐Ÿง

1 or 2 people

A scene is a location plus 1 or 2 people. One-person and two-person example scenes ship with the repo.

โœ‹

Cost gate

The CLI prints an approximate credit total first, and --yes is required before any submit.

๐Ÿงช

Free dry-run

Dry-run fills the workflows without photos or a key, so you can check a scene before spending anything.

๐Ÿ”

Human-in-the-loop QA

Frame grabs, a contact sheet, zoom crops and drift checks. A person marks each flag CONFIRMED or NOT FOUND.

๐Ÿ–ฅ๏ธ

Local dashboard

Upload refs, edit the scene, preview prompts, dry-run or spend, and pick from a grid. The key stays in your environment.

Models & tools

Generations run through Comfy Cloud partner nodes.

Image

Nano Banana Pro

gemini-3-pro-image-preview via GeminiImage2Node makes the start frame and the end-frame edit.

Video

Seedance 1.5 Pro

seedance-1-5-pro-251215 via ByteDanceFirstLastFrameNode animates between the two frames.

Comfy Cloud API ComfyUI API-format workflows Python CLI Gradio dashboard ffmpeg SSIM drift checks MediaPipe (optional) pytest, no network

Try it yourself

SceneLock is open source under the MIT license. Clone the repo, run a free dry-run, and use your own Comfy Cloud account when you're ready.