Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

captureMetadata

Returns the capture metadata from the C2PA manifest. Contains device info and camera settings recorded at capture time.

Usage

import { VerifiableFile } from "@succinctlabs/zcam1-verify";
 
const verifiable = new VerifiableFile(file);
const result = await verifiable.captureMetadata();
 
if (result.isOk()) {
  console.log("Captured at:", result.value.when);
  console.log("Parameters:", result.value.parameters);
}

Returns

ResultAsync<CaptureMetadata, Error> - The capture metadata object, or an error if not present in the manifest.

Example

import { VerifiableFile, type CaptureMetadata } from "@succinctlabs/zcam1-verify";
 
const input = document.querySelector<HTMLInputElement>("#file-input")!;
 
input.addEventListener("change", async () => {
  const file = input.files?.[0];
  if (!file) return;
 
  const verifiable = new VerifiableFile(file);
  const result = await verifiable.captureMetadata();
 
  if (result.isOk()) {
    const metadata = result.value;
    console.log("Captured:", new Date(metadata.when).toLocaleString());
    console.log("Parameters:", JSON.stringify(metadata.parameters, null, 2));
  } else {
    console.error("Error:", result.error.message);
  }
});

Notes

  • Returns an error if the C2PA manifest doesn't contain capture metadata
  • The parameters field contains detailed device and camera information
  • For photos, parameters is of type PhotoMetadataInfo
  • For videos, parameters is of type VideoMetadataInfo
  • All timestamps are in ISO 8601 format