Video frame interpolation
- Score
- 0.0
- Wallet spend
- $2.70 of $200
- Model cost
- $13.69
- Agent time
- 52m
- Steps
- 188
- Tokens in / out
- 23.7M / 74k
- Self-checks
- 1 passed of 1 used
- Rank at $200 wallet
- 12th of 14
Score
0.0raw metric 0
The score is the raw metric (balanced LPIPS and FloLPIPS gap closed against a frozen baseline), which already runs from 0 to 1, times 100.
Verifier details
- scoring_protocol
- vfi-lpips-flolpips-two-anchor-v2
- metric_protocol
- vfi-lpips-alex01-flolpips-sequence-v1
- psnr_cap_db
- 100
- metric_seconds
- 389.4802
- scoring_seconds
- 573.6010
- evaluation_sha256
- 375276285d8168e061004e5873daeecbb7e8db7c6e8354ef72d50ad47496e236
- metric_bundle_sha256
- 98e13949365e1541fbec7972317356abb77c00956c7126d0d81dd99f045d5fdd
- calibration_sha256
- 8c72e23cb352711cfddff07fea74a4935a99f753ea7b498dbd83a999278630ab
- prediction_manifest_sha256
- 5d9eca9696de08d7f5e70b8ea5c73f2583fadf93368395329333fec07fc8bc93
After grading, a reviewer model reads the submission's files and the agent's trajectory and checks each of the task's rules. A failed check makes the score 0. Step numbers link into the trajectory.
✓non specialist initializationThe only model weight shipped is weights/neuflow_mixed.pth, the standalone NeuFlow v2 optical-flow checkpoint. The traje
The only model weight shipped is weights/neuflow_mixed.pth, the standalone NeuFlow v2 optical-flow checkpoint. The trajectory shows it was cloned from the official neufieldrobotics/NeuFlow_v2 repo (trajectory#20) and copied unchanged (trajectory#65), with a sha256 matching the value declared in architecture.json. Its tensor inventory contains only NeuFlow parts (backbone, refine, conv and upsample). It holds no video-frame-interpolation or synthesis weights. architecture.json lists no teachers and no fallback models. The optional synth network is not shipped (weights/synth.pt is absent), so it is never loaded.
✓learned frame generationserve.sh starts code/server.py, which builds one Interpolator at startup. code/flow_util.py loads NeuFlow with load_stat
serve.sh starts code/server.py, which builds one Interpolator at startup. code/flow_util.py loads NeuFlow with load_state_dict(strict=True). code/interpolate.py computes learned flow in both directions and uses it to build each output frame: a time-weighted forward splat, with backward warping to fill holes. So the frames are produced from the learned flow model's output on the request's own inputs.
✓independent intervalsThe server uses only the first and last input frames of the current request, with times set to index/(frame_count-1). Th
The server uses only the first and last input frames of the current request, with times set to index/(frame_count-1). The only state kept between requests is shape-dependent buffers (Interpolator._shape and the zero buffers from NeuFlow init_bhwd). No images, features or results carry over from one request to the next.
✓no evaluation frame lookupThe server and interpolation code contain no hashing, fingerprinting, stored frame bank or remote calls. Each output is
The server and interpolation code contain no hashing, fingerprinting, stored frame bank or remote calls. Each output is computed from the current request's endpoint images. The startup warmup uses dummy zero images only.
✓training data provenanceThe served model is the unchanged pretrained NeuFlow v2. architecture.json declares its upstream training data as Flying
The served model is the unchanged pretrained NeuFlow v2. architecture.json declares its upstream training data as FlyingChairs, Things3D, Sintel, KITTI and HD1K. The only training done during the task was synth and UNet experiments on the finetrainers/OpenVid-1k-split train split. That corpus is declared in logs/data_manifest.json along with its download command, and the download is recorded in trajectory#85. Those experiments were not shipped. There is no evidence that evaluation or test data was used for training or selection.
✓harness credentials used only by the harnessSearches of the trajectory found no use, printing or copying of harness API keys or base URLs, and no extra harness comm
Searches of the trajectory found no use, printing or copying of harness API keys or base URLs, and no extra harness command-line tools were launched. HF_TOKEN appears only in the read-only dataset download (trajectory#85, logs/data_manifest.json), which the policy permits. The weights came from a public GitHub clone (trajectory#20).
LLM adversarial review is not proof of arbitrary program behavior. Host storage and task-specific deterministic checks remain required.
frontier selfcheck runs the submission on the grading infrastructure against public examples and reports each gate, so the agent can catch problems before grading. Each run gets four. This agent used 1 of 4.
- 1passed35m 51s into the runtook 5m 5s
startup 68.7 s of 300 s; 1/1 gates passed; The generation rate was projected from a sample: 72 of the evaluation's 270 intervals (600 of its 2250 frames), the first 9 counted once and the rest scaled to the evaluation, not timed over a whole pass.
5 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 68.7 s
- ✓POST /interpolate · the first public interval (4x, 384x720): 3 raw RGB frames of the requested size, accepted by the grader's parser
- ✓generation rate · 600 frames in 153.2 s, projected from 72 of 270 requests at concurrency 1: the first 9 intervals, which bring each of the sample's 9 (size, factor) shapes for the first time, took 30.5 s (the cold first one 2.7 s) and count once; the other 63 (525 frames) took 122.7 s, scaled to grading's other 2175 frames: 539 s of the 2250 s allowed for 2250 frames, including transport and export. 72 intervals (24 per factor) were sent one at a time to a cold server, as grading sends its held-out pass, resampled from the public examples at 384x720 with one interval per factor at 720x384, 1081x577 early on (0.29 megapixels per generated frame on average). Request seconds by factor: 4x 37.8, 8x 41.8, 16x 72.4; per generated frame by size: 384x720 (0.28 MP) 0.238 s, 720x384 (0.28 MP) 0.263 s, 1081x577 (0.62 MP) 0.580 s. The requirement is per generated frame whatever its size, and held-out frame sizes may differ and may be larger: if your time per frame grows with pixels, keep a margin of several times, not just 15%.
- ✓healthy after requests
The agent's last message before its session ended.
Submitted the interpolation server at 2026-10-10 00:15:22 UTC.
It answers POST /interpolate with raw RGB frames. Motion comes from NeuFlow v2 mixed, a public optical-flow model trained on FlyingChairs, FlyingThings3D, Sintel, KITTI, and HD1K, not a specialist interpolator. Intermediate frames are a time-weighted forward splat of both endpoints, with backward warping filling holes. No RIFE, FILM, or GIMM-VFI weights are used.
On the grading image, startup was 69 seconds of the 300-second limit, and generation was about 4.2 frames per second against a 1 frame-per-second requirement. A residual network trained on the OpenVid-1k training split did not beat this blend by enough to ship.