Video frame interpolation
- Score
- 0.0
- Wallet spend
- $6.30 of $10
- Model cost
- $36.78
- Agent time
- 8h 51m
- Steps
- 477
- Tokens in / out
- 103.4M / 263k
- Self-checks
- 3 passed of 3 used
- Rank at $10 wallet
- 11th 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
- 344.3458
- scoring_seconds
- 905.3016
- evaluation_sha256
- 375276285d8168e061004e5873daeecbb7e8db7c6e8354ef72d50ad47496e236
- metric_bundle_sha256
- 98e13949365e1541fbec7972317356abb77c00956c7126d0d81dd99f045d5fdd
- calibration_sha256
- 8c72e23cb352711cfddff07fea74a4935a99f753ea7b498dbd83a999278630ab
- prediction_manifest_sha256
- 22adb9c67af2a948c8f63274dc53e4945af3523e03471462c24dcb4763b5f9fc
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 initializationBoth shipped models are permitted initializations. - architecture.json sets base_model to null. Its only pretrained comp
Both shipped models are permitted initializations. - architecture.json sets base_model to null. Its only pretrained component is torchvision RAFT-large C_T_SKHT_V2, a standalone optical-flow model, with origin URL and sha256 given. - The weight inventories match this. The RAFT checkpoint holds standard torchvision RAFT keys. synthesis.pt holds only model.flow_init.* and model.refiner.* keys, which match the InterpolatorV3(48, 24) defined in app/model_v3.py. - training/train.py builds the interpolator from scratch, with an optional refiner warm-start from the earlier v2 checkpoint, which was also trained from scratch. RAFT stays frozen. - The trajectory shows no download of any VFI-specialist checkpoint (FILM, RIFE, IFNet and similar). SEA-RAFT was cloned and evaluated as a flow model, then not shipped.
✓learned frame generationFrames are produced by the trained network, not copied or blended from fixed rules alone. - serve.sh starts app/server.p
Frames are produced by the trained network, not copied or blended from fixed rules alone. - serve.sh starts app/server.py with weights/synthesis.pt and arch v3. - For each target, the server calls VFI.flows (RAFT) and then VFI.frame. - frame runs the trained InterpolatorV3: FlowInit residual on the closed-form intermediate flow, backward warping, then a Refiner that outputs flow deltas, softmax blend weights and an RGB residual.
✓independent intervalsEach request is handled only from its own two endpoint frames. - app/server.py decodes the two input frames (indices 0 a
Each request is handled only from its own two endpoint frames. - app/server.py decodes the two input frames (indices 0 and n_total-1) and computes each target at t=idx/(n_total-1). - The only globals are the engine and the config. There is no cross-request cache or state. - The interval and _recursive helpers in app/pipeline.py work only within the current interval.
✓no evaluation frame lookupThe server cannot look up evaluation frames. - The serving code makes no remote calls, does no fingerprinting or hash lo
The server cannot look up evaluation frames. - The serving code makes no remote calls, does no fingerprinting or hash lookup, and ships no stored frame database. - Outputs are computed only from the two input frames through RAFT plus the learned network. - Warmup uses random tensors. - The weight inventories contain only model parameters.
✓training data provenanceEvery training corpus has a declared public source. The source of the 400-ID cutoff is the shipped scripts and notes; no
Every training corpus has a declared public source. The source of the 400-ID cutoff is the shipped scripts and notes; no published Inter4K split exists. - architecture.json declares GoPro train (HF snah/GOPRO_Large, train/*/sharp) and Inter4K IDs ≤400 (HF Shilin-LU/Inter4k). The public /task examples are used only for evaluation and selection. - training/data.py and training/prep_i4k.sh match these declarations. The trajectory records both downloads. - The GoPro extract command unzipped only train/*/sharp, so no GoPro test split was used. - Vimeo90K download attempts were blocked and that data was not used. - The trajectory shows no SNU-FILM or other evaluation data.
✓harness credentials used only by the harnessThe trajectory shows no use of harness credentials by the participant. - No ANTHROPIC, OPENAI, OPENROUTER or GEMINI key
The trajectory shows no use of harness credentials by the participant. - No ANTHROPIC, OPENAI, OPENROUTER or GEMINI key and no harness BASE_URL is used. - No other harness CLI (claude, codex, gemini) was launched. - Remote work went through the Spin CLI (spin compute exec/upload), which is allowed. - Hugging Face access was used only for downloads; nothing was uploaded to Hugging Face.
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 3 of 4.
- 1failed2h 58m into the runtook 49sfree (stopped before any GPU time)
failed review prerequisites: Initialization metadata must declare a nonempty base_model and base_revision (or none for both when training from scratch)
1 gates
- ✗review prerequisites · Initialization metadata must declare a nonempty base_model and base_revision (or none for both when training from scratch)
- 2passed2h 59m into the runtook 3m 20s
startup 78.3 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 78.3 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 57.3 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 9.3 s (the cold first one 0.7 s) and count once; the other 63 (525 frames) took 48.0 s, scaled to grading's other 2175 frames: 208 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 12.0, 8x 16.5, 16x 27.5; per generated frame by size: 384x720 (0.28 MP) 0.090 s, 720x384 (0.28 MP) 0.089 s, 1081x577 (0.62 MP) 0.176 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
- 3passed7h 44m into the runtook 5m 24s
startup 70.3 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 70.3 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 161.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 41.4 s (the cold first one 6.3 s) and count once; the other 63 (525 frames) took 119.8 s, scaled to grading's other 2175 frames: 538 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 40.9, 8x 51.3, 16x 67.9; per generated frame by size: 384x720 (0.28 MP) 0.247 s, 720x384 (0.28 MP) 0.338 s, 1081x577 (0.62 MP) 0.631 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
- 4passed8h 43m into the runtook 3m 31s
startup 80.8 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 80.8 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 61.6 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 9.1 s (the cold first one 0.6 s) and count once; the other 63 (525 frames) took 52.5 s, scaled to grading's other 2175 frames: 227 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 12.9, 8x 17.5, 16x 30.0; per generated frame by size: 384x720 (0.28 MP) 0.098 s, 720x384 (0.28 MP) 0.088 s, 1081x577 (0.62 MP) 0.172 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.
Final selfcheck passed on the real H100 (startup 80.8s, 9.9 fps — 10x margin, all gates green). The submission is fully validated. Let me hand it in: