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
parametersfield contains detailed device and camera information - For photos,
parametersis of typePhotoMetadataInfo - For videos,
parametersis of typeVideoMetadataInfo - All timestamps are in ISO 8601 format