Auto-Edited · 100% In Browser

HOW
LENS WORKS

LENS combines your GPS activity with your video — from any supported camera — to automatically generate a synced cinematic edit, entirely in your browser. Available on desktop and mobile.

Works with

Desktop vs Mobile

LENS runs on both desktop and mobile — each with a pipeline optimised for the platform. The output quality is equivalent; the main difference is audio and hardware requirements.

🖥️

Desktop

Chrome · Edge · Firefox

  • Full pipeline — all camera types
  • Audio: original video + cinematic music
  • Up to 60s highlight reel
  • MP4 download to computer
  • No minimum hardware

Best for: GoPro videos, long activities, maximum quality.

📱

Mobile

iOS Safari · Android Chrome

  • iPhone + Android (1080p limit)
  • GoPro videos (1080p H.264 / LRV)
  • Audio: Cinematic intro & brand exit sounds (Tone.js)
  • Up to 30s highlight reel
  • Saves to Photos / Gallery

Best for: quick edits on the go from your phone.

🔊 Audio support: Mobile video exports now include the cinematic soundtrack (intro/brand exit thuds and swells) rendered entirely on-device via Tone.js.

Device requirements

LENS uses WebCodecs — a modern browser API for hardware-accelerated video encoding. Older devices do not have this capability. Below are the minimum requirements for a reliable experience.

iPhone

iOS (Safari)

All browsers on iOS use WebKit — browser choice doesn't matter

Recommended (premium)

iOS 17.0+ · iPhone 11 or newer (A13 chip, 2019)

Minimum (may work)

iOS 16.4+ · iPhone XR / XS (A12, 2018)

Not supported

iOS 16.3 or older · iPhone 8/X or older

Why iPhone 11 / iOS 17? The A13 chip (iPhone 11, 2019) introduced dedicated hardware encoder and decoder pipelines that don't interfere with each other. Older chips may show encoding errors when decoding and encoding video simultaneously. iOS 17 also improves Video Toolbox memory management.

Max video format & file size on mobile

Max Resolution (All mobile devices)Up to 4K (optimized 30fps rendering)
GoPro Video CodecH.264 / LRV only · HEVC blocked
iOS 17+ / iPhone 11+ (premium)2 GB
iOS 16.4–16.x / iPhone XR/XS500 MB

Below minimum or file too large? Open lens.prorefuel.app on your desktop computer (Chrome) — no device or size restrictions.

iOS 18+ (future): Full audio support — your video's original sound included in the export.

Android

Android (Chrome)

Chrome auto-updates — browser version is usually not a concern

Recommended (premium)

Android 11+ · Chrome 114+ · 4 GB+ RAM

Minimum (may work)

Android 10 · Chrome 94+ · 3 GB RAM

Not supported

Android 9 or older · Chrome 93 or older

Why 4 GB RAM / Android 11? The video decoder buffers 3–5 frames at a time (not the full file), so file size ≠ RAM usage. The 4 GB requirement ensures headroom for concurrent H264 encoding + video decoding without OOM crashes. Android 11 improves media codec resource management.

Max video format & file size on mobile

Max Resolution (All mobile devices)Up to 4K (optimized 30fps rendering)
GoPro Video CodecH.264 / LRV only · HEVC blocked
Android 11+ / 4 GB RAM (premium)1.5 GB
Android 10 / 3 GB RAM1 GB

Below minimum or file too large? Open lens.prorefuel.app on your desktop computer (Chrome) — no device or size restrictions.

Android audio (coming soon): Android Chrome 94+ already supports AudioEncoder. Audio export is being rolled out.

Video file size reference

File size ≠ memory usage. LENS streams video on-demand, decoding only 3–5 frames at a time regardless of file size. The limits exist to protect older devices with less capable blob URL handling.

PlatformMax sizeMax resolution
🖥️ Desktop (Chrome / Edge / Firefox)No limitNo limit (up to 4K)
📱 iOS 17+ / iPhone 11+2 GBUp to 4K (30fps render)
📱 Android 11+ / 4 GB RAM1.5 GBUp to 4K (30fps render)
📱 iOS 16.4–16.x / iPhone XR/XS500 MB1080p recommended
📱 Android 10 / 3 GB RAM1 GB1080p recommended

Typical file sizes & mobile compatibility

iPhone 13 · 1080p60

~120 MB/min · Natively supported (~16 min max)

iPhone 15 · 4K30 HEVC

~600 MB/min · Natively supported (optimized 30fps canvas rendering)

GoPro Hero 12 · 4K30

~400 MB/min · Supports H.264 4K or lightweight .lrv files

Samsung S24 · 4K30

~300 MB/min · Natively supported (H.264 or local HEVC transcoder)

Mobile browsers have tight RAM constraints. LENS optimizes memory usage by driving drawing loops at exactly 30fps and freeing GPU buffers immediately.

💡 Tip: You don't need to import your entire ride. Select a 2–10 minute segment that covers your best moments. LENS will detect and highlight the most intense scenes from that window.

How it works in 3 steps

01

Import your GPS activity

You have two ways to provide your GPS activity data:

Option A — Connect directly to Strava:
Strava Direct Import

Click Import from Strava, authorise once, and LENS shows your 10 most recent activities. Pick one and LENS extracts the full GPS route, elevation, HR, cadence and power automatically — no file download needed.

On mobile, the authorization opens the Strava app directly if installed.


Option B — Upload a GPX file manually:

Export your activity as a .gpx file from any GPS app or device and drop it into LENS.

Garmin

Garmin

Garmin Connect → Activity → Export to GPX

Strava

Strava

Activity page → ••• → Export GPX (or use direct import above)

Suunto

Suunto

Export the *-track.gpx file (not the -route.gpx)

Also works with Wahoo, Polar, Coros, Komoot and any app that exports standard .gpx files.

02

Import your video

LENS supports three camera types — each synced differently:

GoPro

GoPro

GPS + accelerometer embedded in MP4 at 18 Hz — richest data, automatic precise sync

iPhone

iPhone

No GPS track in video — synced via CreateDate timestamp (UTC) matched to your activity

Android

Android

Same as iPhone — Samsung Galaxy, Google Pixel, and any Android phone

03

Generate the cinematic edit

LENS synchronizes both sources, detects the most intense moments — climbs, sprints, descents — and generates a 9:16 cinematic edit ready for Instagram Reels, TikTok, and YouTube Shorts. No uploads, no accounts, no waiting.

Output format:
DesktopMP4 · H264 · with audio (video + cinematic music)
MobileMP4 · H264 · silent (audio coming soon)

Supported video cameras

Each camera type uses a different sync strategy. GoPro is the gold standard — GPS is embedded in the video at high frequency. iPhone and Android rely on the creation timestamp instead.

GoPro
GoPro
Maximum Data · 18 Hz GPS
  • Formats.mp4, .lrv
  • Required codecH.264 — HEVC/H.265 not supported on Windows Chrome or mobile
  • GPS track18 Hz embedded in video
  • Accelerometer200 Hz
  • GyroscopeYes
  • BarometerYes
  • Sync methodGPS satellite clock — millisecond precision
  • Audio in output (desktop)Original video audio + cinematic music
  • Audio in output (mobile)Coming soon — currently silent
  • Compatible models: Hero 5 Black, Hero 7–13, Hero 12 Black, GoPro Max. Enable GPS in Settings → Preferences → GPS → On and wait for the solid satellite icon before recording.

    Important: Your GoPro clip must be at least 60 seconds long to allow GPS lock. A short clip may have no valid GPS data.

    ⚠ GoPro H.265 (HEVC) & 4K limits: Chrome on Windows/Linux cannot play H.265, and GoPro HEVC files are blocked on mobile devices to prevent browser memory crashes (OOM).

    1. On the camera: Preferences → Video → Codec → H.264 and record in 1080p.
    2. GoPro Quik App: Export or share your video as 1080p (this automatically encodes to H.264).
    3. Use GoPro .lrv (Low Resolution Video) files directly from the SD card.
    4. Open LENS on desktop Safari / Chrome on macOS to play original HEVC natively.

    Do not re-encode or edit before importing

    GoPro GPS data lives in a proprietary metadata track (GPMF) inside the original .mp4. Any re-encoding — exporting from CapCut, iMovie, the GoPro Quik app, or any video editor — permanently destroys this track. The resulting file looks like a normal video but contains zero GPS data. Always import the original file directly from the SD card or camera roll.

iPhone
iPhone
Timestamp sync
  • Formats.mov
  • GPS track in videoNot embedded
  • Sync methodCreateDate timestamp matched to GPX
  • Max resolution (mobile)1080p (4K must be downscaled)
  • Minimum deviceiPhone 11+ (recommended) · iPhone XR/XS (minimum)
  • Minimum iOSiOS 17.0+ (recommended) · iOS 16.4 (minimum)
  • Audio in output (desktop)Original video audio + cinematic music
  • Audio in output (mobile)iOS 18+: planned · iOS 16-17: silent
  • iPhones do not embed a continuous GPS track in the video. LENS reads the recording start time from the video metadata and aligns it with your GPS activity. Your iPhone's clock must be set to automatic (Settings → General → Date & Time → Set Automatically).

    Important: Start your GPS tracker (Garmin, Strava, etc.) before pressing record on your iPhone. The activity GPX must cover the time window of the video.

    💡 Tip for 4K iPhone Videos: To prevent memory crashes, tap Options at the bottom of the iOS photos picker and choose Most Compatible when selecting your video. iOS will automatically transcode and downscale the file to 1080p H.264.

Android
Android
Timestamp sync
  • Formats.mp4
  • GPS track in videoNot embedded
  • Sync methodRecording timestamp from video metadata
  • Max resolution (mobile)1080p (4K must be recorded/exported in 1080p)
  • Minimum AndroidAndroid 11+ (recommended) · Android 10 (minimum)
  • Minimum RAM4 GB+ (recommended) · 3 GB (minimum)
  • BrowserChrome 94+ required (Chromium-based: Edge, Brave also work)
  • Required codecH.264 (HEVC/H.265 not supported in Chrome on Windows)
  • Audio in output (desktop)Original video audio + cinematic music
  • Audio in output (mobile)Chrome 94+: coming soon · currently silent
  • Android phones record the end time of the video in the file metadata. LENS calculates the start time automatically (end time − duration). Keep your phone's clock synced to automatic time.

    Saves to Gallery: On Android, the video downloads to your Downloads folder. Your Gallery app automatically detects new videos there within seconds.

    ⚠ Google Pixel — H.265 (HEVC) recording: Pixel phones record in HEVC by default in several modes (4K, Top Shot, Night Sight). Chrome on Windows/Linux cannot play H.265 files. To fix:

    1. Camera app → SettingsVideo quality
    2. Disable “Efficient video format” — this forces H.264
    3. Record a new clip and use that file in LENS

    Alternative: convert the existing video to H.264 with HandBrake (free, cross-platform).

WhatsApp Videos
Activity Portrait
  • Formats.mp4 (Android) · .mov (iOS)
  • GPS in videoNot available — stripped by WhatsApp
  • Sync methodNone — GPX is the sole data source
  • Map in outputFull activity route (static, no real-time cursor)
  • Stats in outputDistance · Time · Speed · Elevation · HR

WhatsApp strips all GPS and timestamp data from videos before sending, for privacy reasons. LENS detects this automatically and switches to Activity Portrait mode — the GPX file provides all the data, and the WhatsApp video plays as the background footage. The output shows your full route on the map, and activity stats animate progressively during the clip.

Both .mp4 (received on Android or desktop) and .mov (saved from WhatsApp on iOS) are supported.

Content rights:When importing a video received via WhatsApp, you confirm that you have the right to use it (personal footage, with the creator’s permission, or content you own). LENS processes everything locally — your video is never uploaded to any server.

GPS trackers & apps

Your GPS device records the activity. LENS needs it exported as a .gpx file.

Garmin Connect
Garmin Connect

Works with all Garmin devices: Edge, Fenix, Forerunner, Venu, Epix, and more.

  1. Open Garmin Connect → Activities
  2. Select the activity recorded during your video
  3. ⚙ gear iconExport to GPX
Strava
Strava

Works with any activity synced to Strava, regardless of the recording device.

Recommended — Direct import

  1. Click Import from Strava in LENS
  2. Authorise once — no login needed if the app is installed
  3. Pick any of your last 10 activities — done

Or export manually

  1. Open the activity on Strava (web or app)
  2. Click the ··· menu (three dots)
  3. Export GPX
Suunto
Suunto

Suunto exports two separate GPX files — you need the track file, not the route file.

  1. Open Suunto app → select the activity
  2. Export / Share → GPX
  3. Use the file named *-track.gpx

Important

Do not use the *-route.gpx file — it has no timestamps.

Also supported

Wahoo (Activity → Share → GPX), Polar Flow, Coros, Komoot (Tour → Download GPX), and any app that exports standard .gpx files.

How the sync engine works

🛰️

GoPro: GPS satellite clock. The GoPro and your Garmin/Wahoo both reference the same GPS satellite clock. LENS matches them directly — no correction needed, millisecond precision.

⏱️

iPhone / Android: timestamp alignment. LENS reads the recording start time from the video metadata (UTC) and finds the matching window in your GPX activity. Your device clock must be set to automatic time.

🎯

Scene detection. LENS analyzes speed, elevation, gradient, heart rate, cadence, and power from the GPX — plus GoPro accelerometer/gyroscope when available — to identify the most intense moments.

🎬

Cinematic output, 9:16 format. Each detected scene maps to a specific video position. LENS cuts between scenes, overlays telemetry data, and composes the final video — entirely in your browser.

Enabling GPS on GoPro

GoPro needs GPS enabled and a satellite lock before recording starts.

1

Enable GPS in settings

Settings (wrench) → Preferences → GPS → On. On Hero 10+, GPS is always on when location is enabled via Quik pairing.

2

Power on outdoors with clear sky

Keep the GPS antenna (top edge of camera) unobstructed. Power on outside — indoors or in a bag it will never lock.

3

Wait for the solid GPS icon

A blinking icon means searching. A solid icon means lock acquired (10–30 seconds outdoors). Start recording only after lock, and record for at least 60 seconds.

Model notes

Hero 5 / 6: GPS off by default. Enable manually each session.

Hero 7 / 8 / 9: Setting persists. Check once and leave on.

Hero 10 / 11 / 12 / 13: Best GPS chip — faster lock, 18 Hz in all modes.

GoPro Max: GPS included. Same setup as Hero 7+.

Common issues

No GPS in this GoPro video

GPS was not enabled, never acquired a lock, or the video was re-encoded before importing. Always use the original, unedited .mp4 directly from the GoPro SD card — exporting through CapCut, iMovie, or the GoPro Quik app permanently erases GPS metadata. Enable GPS in Settings → Preferences → GPS → On, power on outdoors, wait for the solid satellite icon, then record for at least 60 seconds.

Video and GPX don't match

The video and GPX are from different days or sessions. Use the GPX from the same activity during which you recorded the video. Also check that your device clock is set to automatic time.

No scenes detected

The activity window covered by the video is too short or too flat. Try a longer video with varied terrain.

This is a Suunto route file

You uploaded the *-route.gpx — no timestamps. Upload the *-track.gpx file instead.

This GoPro video cannot be played in this browser

The video was recorded in H.265 (HEVC). Chrome on Windows/Linux cannot play H.265 files, and GoPro HEVC files are blocked on mobile due to memory constraints. Fix: On the camera, set Preferences → Video → Codec → H.264, export in 1080p from the GoPro Quik app, or use GoPro .lrv files. Alternatively, open LENS on Safari or Chrome on Mac — HEVC plays natively there.

Out of memory / Render crash on mobile

4K video encoding and decoding are supported on modern high-end devices. However, if your browser crashes during rendering, your device might be running out of memory. If this happens, select a 1080p video, export in 1080p, or on iOS, choose "Most Compatible" in the media picker options to auto-downscale the file.

Update required (mobile)

Your device doesn't meet the minimum requirements for the mobile pipeline. Open LENS on a desktop computer (Chrome recommended) for the full experience without restrictions.

Help & troubleshooting

Detailed explanations for every error message.

Wrong video format

Unsupported format. Use GoPro .mp4, iPhone .mov, or Android .mp4.

LENS accepts .mp4 from GoPro and Android, and .mov from iPhone. Do not re-encode — telemetry data is lost in conversion.

No GPS in GoPro video

No GPS data found in this GoPro file.

There are two causes for this error:

1 — Video was re-encoded or edited (most common)

Exporting through CapCut, iMovie, the GoPro Quik app, Adobe Premiere, or any video editor permanently destroys the GPMF metadata track that carries GPS. The file looks like a normal video but contains zero GPS data. Always import the original, unedited .mp4 directly from the SD card or camera roll.

2 — GPS was off or never locked

Enable GPS: Settings → Preferences → GPS → On. Power on outdoors with clear sky, wait until the GPS icon is solid (not blinking) — 10–30 seconds. Record for at least 60 seconds to accumulate valid GPS samples.

GPS signal too weak (GoPro)

GPS signal too weak — no valid fix was recorded.

Recording started before GPS lock. Wait until the GPS icon is solid (not blinking) — 10–30 seconds outdoors.

GoPro — H.265 video (HEVC)

This GoPro video cannot be played in this browser.

Some GoPro firmware versions allow recording in H.265 via Preferences → Video → Codec → H.265. Chrome on Windows/Linux cannot play H.265, and GoPro HEVC files are blocked on mobile due to strict browser memory limits that would cause silent tab crashes.

Fix / Workarounds:
  1. On the camera: Preferences → Video → Codec → H.264 and re-record.
  2. GoPro Quik App: Export or share your video as 1080p (this automatically encodes to H.264).
  3. GoPro Files: Use the .lrv (Low Resolution Video) files directly from the SD card.
  4. On desktop: Open LENS on Safari or Chrome on a Mac — HEVC plays natively there.

Pixel phone — H.265 video (HEVC)

H.265 (HEVC) video detected — not supported in Chrome on Windows.

Google Pixel records in H.265 (HEVC) by default in several modes — Top Shot (.TS.mp4), 4K30+, Night Sight, and Motion Video. Chrome on Windows and Linux cannot play H.265 without an OS-level codec. Chrome on macOS supports it. On mobile devices, 4K resolutions are blocked.

Fix on your Pixel:
  1. Camera app → SettingsVideo quality
  2. Disable “Efficient video format” (the HEVC option)
  3. Record/export in 1080p — LENS supports up to 1080p resolution on mobile.

Already recorded in HEVC? Convert to H.264 with HandBrake (free): File → Open Source → Presets → Fast 1080p30 → Start Encode.

Video and GPX from different sessions

This video and GPX file don't match.

Timestamps don't overlap. Ensure the GPX is from the same activity during which the video was recorded. For iPhone/Android, verify your device clock is set to automatic.

Date mismatch

Video (date) and GPX (date) appear to be from different days.

The video metadata shows a different date than the GPX. Common cause: the video was edited or trimmed after recording, which resets the metadata date. Use the original, unedited file. Also check your camera's date/time settings.

Wrong Suunto file

This is a Suunto route file, not a recording.

Use the *-track.gpx file (recorded activity with timestamps), not *-route.gpx (planned route without timestamps).

Empty or invalid GPX

No GPS track found in this file.

The GPX has no track points. Re-export from your app using GPX format.

No scenes found

No highlight scenes detected.

The activity is too short or too uniform. Use a longer recording with climbs, descents, or sprints.

Export failed or out of memory

Export failed / Not enough memory.

The browser ran out of memory. On desktop: close other tabs, reload, try again. On mobile: use desktop Chrome for best reliability, or ensure your Android has 4 GB+ RAM.

Mobile encoding error

Encoding failed. Please try again. (mobile)

The hardware video encoder encountered an error. This usually happens on older devices below the recommended minimum. Try again, or switch to desktop Chrome for reliable export.

Rendering 4K videos on mobile

Troubleshooting 4K video rendering on mobile

LENS natively supports 4K videos on modern, high-end mobile devices (with 6GB+ RAM) by using an optimized 30fps canvas pipeline. However, if your browser crashes during render, your device might be running out of memory.

How to prevent memory crashes on older/mid-range devices:
  1. On iPhone: Tap Options at the bottom of the photos picker and select Most Compatible before importing to auto-downscale to 1080p H.264.
  2. On GoPro: Export in 1080p from the GoPro Quik app, or record/copy the file as 1080p H.264.
  3. On Android: Record or export in 1080p resolution for mobile editing.

WhatsApp video detected

WhatsApp video — using Activity Portrait mode

WhatsApp removes all GPS and timestamp data from videos before sending. LENS detects this automatically and switches to Activity Portraitmode: your GPX provides all the data, and the video plays as background footage. The output includes your full route, distance, time, speed, elevation, and heart rate. No sync between video frames and GPS is possible — this is a limitation of WhatsApp’s privacy processing, not a LENS error.

Ready to generate your edit?

GoPro · iPhone · Android · Desktop Chrome · Free