A Live Photo is Apple's way of capturing a moment instead of a single frozen frame. When you take one on an iPhone or a supported iPad, the camera saves the full-resolution still you framed and, alongside it, a short motion video - roughly 1.5 seconds before and after the shutter - with its audio.
Crucially, a Live Photo is not one merged video file. It is a pair of files - a still and a movie - linked by a shared identifier so apps know they belong together. The still behaves exactly like an ordinary photo everywhere; the motion is there when software asks for it.
It starts right in the Camera app. Make sure Live Photo is turned on and you are in Photo mode, then take the shot as you normally would. The options that matter are all on one screen:
Figure: The iPhone Camera controls used to capture a Live Photo - turn Live Photo on, stay in Photo mode, and tap the shutter.
The effect feels like magic, but the mechanism is simple. While Live mode is on, the camera is already running and continuously buffering recent frames and audio in memory - even before you tap the shutter. The moment you press it, two things happen:
Figure: Live mode buffers continuously; the shutter picks the key photo and the surrounding window becomes the motion video.
Because the window extends before the shutter, a Live Photo often captures the instant that actually mattered - a smile, a wave, a splash - even if your timing was slightly off. That same property is what makes the format so useful downstream.
A single Live Photo exports as two files that always travel together:
.mov encoded with HEVC or H.264, carrying the short clip and its audio.Figure: Two paired files - a still and a motion video - matched by one content identifier.
Both files carry metadata worth preserving for any dataset: resolution, orientation, duration, codec and frame rate. Orientation in particular matters - the motion video is stored in the sensor's native landscape with a rotation flag, so a pipeline that ignores that flag will show portrait clips sideways. Collecting Live Photos well means keeping the pair intact and keeping this metadata correct.
A still photo gives a model one frame. A Live Photo gives it a frame plus the motion around it - and that extra temporal context is exactly what many modern models are hungry for. From one capture you can derive several supervision signals:
Figure: One Live Photo, many supervision signals.
In short, Live Photos let a dataset carry richer, more authentic signal per capture - without asking contributors to shoot full videos.
Knowing why Live Photos are valuable is one thing; collecting them at scale, from real devices, across the world is another. That is where HaiCrowd comes in.
HaiCrowd supports native Live Photo capture inside the data-collection app, so a global crowd of contributors can record genuine Live Photos on their own iPhone and iPad devices. The platform is built to keep the format intact end to end:
.mov upload together and stay matched by their shared identifier, with metadata preserved.The result: teams can gather authentic Live Photos across many devices, places and languages - the kind of diverse, real-world data that makes models robust - without building and maintaining native capture themselves.
Figure: A live_photo collection task in the HaiCrowd app - contributors tap Live Photo to capture, and progress is tracked through upload, QC and rework.
For the technically curious, Live Photo capture is built entirely on Apple's public frameworks - AVFoundation for capture and PhotoKit for display and export. At a high level, four pieces do the work:
Figure: The public AVFoundation / PhotoKit pipeline for a Live Photo.
AVCaptureSession - drives the camera and microphone with the .photo preset and provides the live preview.AVCapturePhotoOutput - the output that produces the result; the app checks isLivePhotoCaptureSupported and turns on isLivePhotoCaptureEnabled.AVCapturePhotoSettings - configured per shot; setting livePhotoMovieFileURL tells the system where to write the paired movie.AVCapturePhotoCaptureDelegate - receives the results through two callbacks: one delivers the processed still photo, the other reports the finished Live Photo movie once it is written.PHLivePhoto (PhotoKit) - recombines the still and movie so the pair can be displayed and played back as a single Live Photo, or exported.That is the whole shape of it: a session, a photo output with Live Photo enabled, per-shot settings that name the movie file, and a delegate that hands back the two paired files. Everything else - orientation handling, pairing, QC, delivery - is built on top.