Xora
High-Performance Media Workflows

Video Editor Proxy API

Generate frame-accurate, lightweight edit proxies in milliseconds. Eliminate seeking lag on browser-based timelines with GOP-optimized compression profiles.

Why Browser Timelines Lag

Standard video codecs (like H.264/MP4) use temporal compression. To save space, they only store full image frames (Keyframes or I-frames) every few seconds, representing intermediate frames as differences between them (P-frames and B-frames).

When a user scrubs back and forth on a web-based video editing timeline, the browser's video decoder has to decode multiple preceding frames just to render a single frame. This creates noticeable timeline lag, dropped frames, and a frustrating editing experience.

Standard Compression vs. Editing Proxies

Standard H.264 (Temporal)

Keyframe (I) Diff (P) Diff (P) Keyframe (I)

Laggy scrubbing: Decoders must recalculate differences between I-frames.

Xora Proxy Recipe (Intra-only)

I-Frame I-Frame I-Frame I-Frame

Instant scrubbing: Every single frame is independent and seekable instantly.

Xora's Editing Proxy Recipe

We consolidate the complex math of frame-accurate encoding into a single, pre-optimized preset.

01

Intra-only GOP

Forces Group of Pictures (GOP) size to 1 (-g 1). Every single frame is encoded as a full keyframe, enabling zero-latency random seeking.

02

Ultra-Low Bitrates

Leverages optimized resolution downscaling (typically 360p or 480p) and balanced CRF profiles to keep proxy files up to 95% smaller than the source.

03

Web-Compatible audio

Forces audio downmixing to AAC stereo at 44.1kHz, ensuring complete browser playback compatibility across Safari, Chrome, and Firefox.

FFmpeg Arguments Decoded

Under the hood, Xora maps your request to highly optimized FFmpeg parameters. If you prefer raw control over presets, you can submit these parameters manually in our custom mode.

  • -g 1 / -keyint_min 1: Forces every frame to be a keyframe (intra-frame).
  • -vf "scale=848:480": Downscales the resolution to a uniform 480p format.
  • -pix_fmt yuv420p: Ensures pixel format compatibility with HTML5 canvas and video elements.
  • -movflags +faststart: Relocates index metadata to the front of the file.
Manual FFmpeg Mode Equivalent Args Array
{
  "mode": "ffmpeg",
  "ffmpeg": {
    "args": [
      "-i", "{{in_1}}",
      "-vf", "scale=848:480",
      "-c:v", "libx264",
      "-g", "1",
      "-keyint_min", "1",
      "-pix_fmt", "yuv420p",
      "-crf", "26",
      "-movflags", "+faststart",
      "{{out_1}}"
    ]
  }
}

Trigger Proxy Generation Instantly

Call the pre-built proxy recipe inside your media upload handler in under 5 lines of code.

Node.js Upload Webhook Handler JavaScript
const triggerProxyJob = async (videoUrl) => {
  const response = await fetch('https://api.xora.sh/v1/jobs', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer rmux_live_k8a9f...',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      mode: 'recipe',
      recipe: {
        name: 'proxy',
        input: videoUrl,
        output: 'proxies/seekable-timeline.mp4',
        options: {
          resolution: '480p'
        }
      }
    })
  });
  
  return await response.json();
};

Ready to optimize your video timeline?

Sign up to generate frame-accurate timeline proxies in the cloud with zero infrastructure setups.