Exposes User DataReadonly Exposes User DataheightImage height in pixels.
Readonly Exposes User DataimageRaw image bytes (JPEG compressed or packed YUV). For JPEG: contains the raw JPEG file bytes. For YUV: packed Y plane (wh) followed by UV data (wh/2), no stride padding. Use with Base64.encode() for ML/LLM APIs.
Lazily materialized: the underlying bytes are owned by the Frame, but the JS-visible TypedArray is allocated on first access. Reading imageData on every streaming frame is therefore safe — no allocation occurs unless you actually read it. Treat the array as read-only: writes mutate the Frame's shared buffer and corrupt later reads of the same frame (including CameraModule.Frame#texture created after the write).
Readonly Exposes User DatatextureGPU texture of the frame image (RGBA for color/IR, single-channel for grayscale). Lazily materialized on first access — neural-net consumers that only read imageData pay no upload cost.
For frames delivered by a CameraModule.StreamingSession, the
underlying GPU texture is reused across frames in the same session
(the pixel buffer is updated in place). Hold the result only long
enough to read or render the current frame; if you need to keep a
historical frame's pixels around, copy them into a separate Texture
before the next onNewFrame fires.
Readonly Exposes User DatawidthImage width in pixels.
Exposes User DataGet a frame metadata value by key.
Metadata key (e.g. CameraModule.MetadataKey.Iso).
The metadata value, or undefined if the key is not available for this frame.
StaticgetReturns the name of this object's type.
Returns true if the object matches or derives from the passed in type.
Returns true if this object is the same as other. Useful for checking if two references point to the same thing.
Camera frame data delivered via CameraModule.StreamingSession#onNewFrame, or returned by CameraModule.CaptureSession#capture.
Remarks
Contains the captured image as both raw bytes (CameraModule.Frame#imageData) and a GPU texture (CameraModule.Frame#texture). Use raw bytes for efficient ML/LLM pipelines (no GPU round-trip). Use texture for display, ML components, or RemoteMediaModule.
Snap OS
Example