Video frame interpolation
- Score
- 72.0
- Wallet spend
- $31.65 of $50
- Model cost
- $16.17
- Agent time
- 10h 26m
- Steps
- 478
- Tokens in / out
- 50.9M / 525k
- Self-checks
- 3 passed of 4 used
- Rank at $50 wallet
- 5th of 14
Score
72.0raw metric 0.7204
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
- 341.0374
- scoring_seconds
- 805.2471
- evaluation_sha256
- 375276285d8168e061004e5873daeecbb7e8db7c6e8354ef72d50ad47496e236
- metric_bundle_sha256
- 98e13949365e1541fbec7972317356abb77c00956c7126d0d81dd99f045d5fdd
- calibration_sha256
- 8c72e23cb352711cfddff07fea74a4935a99f753ea7b498dbd83a999278630ab
- prediction_manifest_sha256
- 4a4f634e8e84057f3848129ab9d45642ec1afef788a2189695a2ef38073ed723
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 served model is built from four pieces, and none of them started from video-frame-interpolation weights. (1) SEA-RAF
The served model is built from four pieces, and none of them started from video-frame-interpolation weights. (1) SEA-RAFT M is a standalone optical-flow model, taken from MemorySlices/Tartan-C-T-TSKH-spring540x960-M at a pinned revision. (2) Frozen DINOv2 ViT-S/14 is a general self-supervised image encoder. (3) The refiner U-Net and (4) the MetricNet confidence network are trained from random initialization. Both evidence/pretrained_manifest.json and architecture.json list only flow, SSL and LPIPS/AlexNet components; PWC-Net and WAFT were used only as development comparators and are not shipped. The weight inventories match this: sea_raft.safetensors holds RAFT tensors (cnet.*, fnet.*) and refiner.safetensors holds custom U-Net tensors. The trajectory shows the SEA-RAFT and WAFT source being cloned and SEA-RAFT metadata fetched from Hugging Face. No video-frame-interpolation repositories (RIFE, GIMM and similar) were cloned or downloaded.
✓learned frame generationserve.sh runs code/server.py, which calls Interpolator.interpolate. That method estimates flow with SEA-RAFT, predicts c
serve.sh runs code/server.py, which calls Interpolator.interpolate. That method estimates flow with SEA-RAFT, predicts confidence with MetricNet, extracts endpoint context with RAFT fnet plus DINO, and then for each target time forward-splats and inverse-warps the endpoints and passes them through the learned refiner. The result is averaged with a reversed-endpoint run. config.json enables the refiner, metric, context and semantic components. Every frame is produced by learned networks that load the shipped weights; none is copied or looked up.
✓independent intervalsserver.py decodes only the request's input_frames and computes times as target_indices/(frame_count-1). interpolator.py
server.py decodes only the request's input_frames and computes times as target_indices/(frame_count-1). interpolator.py runs per request on those two endpoint tensors. There is no cross-request cache, no shared sequence state, and nothing that reads neighbouring intervals. A lock only serializes inference.
✓no evaluation frame lookupThe serving path makes no remote calls and reads no frame files. It uses only the request payload and the shipped weight
The serving path makes no remote calls and reads no frame files. It uses only the request payload and the shipped weights, with no hash or lookup table of evaluation frames. The training data contains no SNU-FILM or other test splits: the trajectory's SNU-FILM steps were web research only, and the vimeo-90k-test-full repository was only listed, never downloaded.
✓training data provenanceEvery training source is declared in evidence/data_manifest.json and architecture.json, and each has a retained script a
Every training source is declared in evidence/data_manifest.json and architecture.json, and each has a retained script and log. (1) Vimeo90K: Hugging Face mirrors (bijinc mini/medium), filtered by download_training.py to sequence IDs in the official sep_train list; the official trainlists themselves were downloaded at trajectory#52. (2) GoPro: download_gopro.py extracts only members under train/. (3) DAVIS 2017: download_davis.py extracts only sequences in the official 2017 train.txt, checks for overlap with 2016 val, and its log records 60 sequences. (4) The task-provided public samples, which the policy explicitly allows. No test or validation split, and no SNU-FILM/GoPro test footage, is used.
✓harness credentials used only by the harnessSearches of the trajectory found no use of ANTHROPIC, OPENAI, OPENROUTER or GEMINI keys or of *_BASE_URL variables, and
Searches of the trajectory found no use of ANTHROPIC, OPENAI, OPENROUTER or GEMINI keys or of *_BASE_URL variables, and no launch of codex, claude or gemini CLIs. The only credentials handled were the spin-provided storage_session.json S3 credentials, used to move artifacts to the leased compute machine; that is task infrastructure, not harness LLM credentials. No Hugging Face uploads were found.
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 4 of 4.
- 1failed8m 27s into the runtook 6m 40s
failed startup: Server did not become healthy in 300s (last /health probe: RuntimeError: Submission HTTP request failed: ConnectionRefusedError: [Errno 111] Connection refused); end of its log: vision==0.22.1) Processing ./wheels/mpmath-1.3.0-py3-none-any.whl (from sympy>=1.13.3->torch==2.7.
2 gates
- ✓review prerequisites
- ✗startup · Server did not become healthy in 300s (last /health probe: RuntimeError: Submission HTTP request failed: ConnectionRefusedError: [Errno 111] Connection refused); end of its log: vision==0.22.1) Processing ./wheels/mpmath-1.3.0-py3-none-any.whl (from sympy>=1.13.3->torch==2.7.1) Processing ./wheels/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (from jinja2->torch==2.7.1) Installing collected packages: nvidia-cusparselt-cu12, mpmath, typing-extensions, sympy, setuptools, safetensors, pillow, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufile-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, fsspec, filelock, einops, triton, nvidia-cusparse-cu12, nvidia-cufft-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, torch, torchvision Successfully installed MarkupSafe-3.0.3 einops-0.8.1 filelock-3.32.3 fsspec-2026.7.0 jinja2-3.1.6 mpmath-1.3.0 networkx-3.6.1 numpy-2.5.2 nvidia-cublas-cu12-12.8.3.14 nvidia-cuda-cupti-cu12-12.8.57 nvidia-cuda-nvrtc-cu12-12.8.61 nvidia-cuda-runtime-cu12-12.8.57 nvidia-cudnn-cu12-9.7.1.26 nvidia-cufft-cu12-11.3.3.41 nvidia-cufile-cu12-1.13.0.11 nvidia-curand-cu12-10.3.9.55 nvidia-cusolver-cu12-11.7.2.55 nvidia-cusparse-cu12-12.5.7.53 nvidia-cusparselt-cu12-0.6.3 nvidia-nccl-cu12-2.26.2 nvidia-nvjitlink-cu12-12.8.61 nvidia-nvtx-cu12-12.8.55 pillow-12.3.0 safetensors-0.5.3 setuptools-78.1.0 sympy-1.14.0 torch-2.7.1+cu128 torchvision-0.22.1+cu128 triton-3.3.1 typing-extensions-4.16.0 Traceback (most recent call last): File "/submission/code/server.py", line 15, in <module> from interpolator import Interpolator File "/submission/code/interpolator.py", line 11, in <module> from raft import RAFT File "/submission/code/sea/raft.py", line 8, in <module> from corr import CorrBlock File "/submission/code/sea/corr.py", line 4, in <module> from u ...[clipped]
- 2passed19m 1s into the runtook 3m 44s
startup 71.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 71.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 66.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 11.8 s (the cold first one 2.3 s) and count once; the other 63 (525 frames) took 54.5 s, scaled to grading's other 2175 frames: 238 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 16.5, 8x 19.6, 16x 29.0; per generated frame by size: 384x720 (0.28 MP) 0.105 s, 720x384 (0.28 MP) 0.123 s, 1081x577 (0.62 MP) 0.170 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
- 3passed38m 18s into the runtook 3m 13s
startup 58.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 58.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 53.7 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 10.6 s (the cold first one 3.4 s) and count once; the other 63 (525 frames) took 43.1 s, scaled to grading's other 2175 frames: 189 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 14.9, 8x 14.9, 16x 22.7; per generated frame by size: 384x720 (0.28 MP) 0.086 s, 720x384 (0.28 MP) 0.081 s, 1081x577 (0.62 MP) 0.132 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
- 4passed10h 18m into the runtook 3m 18s
startup 59.0 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 59.0 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 64.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 12.3 s (the cold first one 3.8 s) and count once; the other 63 (525 frames) took 52.3 s, scaled to grading's other 2175 frames: 229 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 17.4, 8x 18.1, 16x 27.9; per generated frame by size: 384x720 (0.28 MP) 0.104 s, 720x384 (0.28 MP) 0.098 s, 1081x577 (0.62 MP) 0.158 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 /workspace/output/ with the learned interpolation system and complete pretrained-component and training provenance. No specialist VFI weights are used.
Final offline H100 self-check passes:
- Startup: 59 seconds
- Generation rate: 9.82 frames/second
- Projected 2,250-frame time: 229 seconds, including transport and export, based on 600 sampled frames
Official quality score is not available locally.