Presets & autotune

Longpipe ships seven model presets covering different speed/quality tradeoffs. The default ('auto') picks one for the user’s hardware automatically.

The presets

PresetInputEncoderDecoderTarget
xl512×288full2× channelsM-series Mac, dGPU laptops
large256×144fullstandardMid-range laptops
medium256×144fullstandard, fp16Mid-range laptops
compact256×144fullsmallConstrained laptops
small256×144smallstandardChromebooks, low-end Windows
xs192×108smallstandardLowest-end constrained
xxs128×72smallstandardFallback / mobile

All trained on the same data, exported with the same op fusions, evaluated against the same val set. See MODEL_PLAN.md in the repo for architecture details.

Autotune (preset: 'auto')

On init, the worker microbenchmarks each preset on the real device. It picks the largest preset whose model + composite cost fits a target framerate budget (~15 ms/frame headroom for 60fps display).

Autotune runs once at startup. Cost: ~200ms additional init time for the sweep.

Adaptive (runtime)

When preset: 'auto' and adaptive: true (the default), Longpipe also adjusts at runtime:

Disable with adaptive: false.

Pinning a preset

new EffectsPipeline(stream, { preset: 'large' })  // disables autotune & adaptive
new EffectsPipeline(stream, { preset: 'auto', adaptive: false })  // autotune once, then stay