https://www.brainiac.software/api/v1/evidence-intelligence/file-hash-manifest$0.04 USDCBuild evidence file hash manifest
Hash uploaded evidence bytes locally with md5, sha1, sha256, and sha512. Hash matches verify cryptographic integrity only, not factual authenticity.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==",
"expectedSha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"role": "duplicate-candidate",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "manifested",
"fileCount": 2,
"items": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"role": "",
"parentId": "",
"size": 70,
"hashes": {
"md5": "2cd8bde463f5d82aae0f0cec061d6b8f",
"sha1": "b2bbe763c7e1828c750d53f78550709a6fea19be",
"sha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"sha512": "fcba48f85167b732f75c33a2232a87e393441948350f265737a483c8b4923fbc2d7dd4ea1ebf00bb774d8cb09c016610abfbc3d4597ebe2d16e81bb92cb3aa48"
},
"expectedSha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"sha256MatchesExpected": true,
"comparedToExpected": true,
"cryptographicIntegrityVerified": true,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"role": "duplicate-candidate",
"parentId": "",
"size": 70,
"hashes": {
"md5": "2cd8bde463f5d82aae0f0cec061d6b8f",
"sha1": "b2bbe763c7e1828c750d53f78550709a6fea19be",
"sha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"sha512": "fcba48f85167b732f75c33a2232a87e393441948350f265737a483c8b4923fbc2d7dd4ea1ebf00bb774d8cb09c016610abfbc3d4597ebe2d16e81bb92cb3aa48"
},
"expectedSha256": "",
"sha256MatchesExpected": false,
"comparedToExpected": false,
"cryptographicIntegrityVerified": false,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/file-hash-manifest" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==",
"expectedSha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"role": "duplicate-candidate",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/metadata-extract$0.04 USDCExtract evidence metadata
Extract container metadata from uploaded files locally. Missing EXIF or GPS fields are not invented.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"capturedAt": "2026-10-01T12:00:00.000Z",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "extracted",
"fileCount": 1,
"items": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"size": 70,
"metadata": {
"container": "png",
"width": 1,
"height": 1,
"bitDepth": 8,
"colorType": 6,
"capturedAtSupplied": "2026-10-01T12:00:00.000Z"
},
"c2paPresent": false,
"locationClueCount": 0,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/metadata-extract" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"capturedAt": "2026-10-01T12:00:00.000Z",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/c2pa-provenance-verify$0.05 USDCVerify C2PA provenance markers
Look for local C2PA/JUMBF markers in uploaded bytes. Marker presence is not a factual authenticity determination.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "checked",
"fileCount": 1,
"presentCount": 0,
"items": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"present": false,
"markerCount": 0,
"notes": [
"No local C2PA/JUMBF marker bytes were found.",
"Marker presence or absence is cryptographic/structure evidence only and is not a factual authenticity determination."
],
"cryptographicIntegrityVerified": false,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [
{
"kind": "observation",
"code": "c2pa_absent",
"subject": "EV-1",
"detail": "No local C2PA/JUMBF markers were found. Absence does not prove inauthenticity."
}
],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/c2pa-provenance-verify" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/chain-of-custody-build$0.04 USDCBuild evidence chain of custody
Order supplied custody events per evidence id and compare optional hashAfter values to current sha256 digests.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"custodyEvents": [
{
"id": "CUS-1",
"evidenceId": "EV-1",
"actor": "Officer A",
"action": "collected",
"at": "2026-10-01T13:00:00.000Z",
"hashAfter": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
},
{
"id": "CUS-2",
"evidenceId": "EV-1",
"actor": "Lab B",
"action": "received",
"at": "2026-10-02T09:00:00.000Z",
"hashAfter": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "built",
"evidenceCount": 1,
"items": [
{
"evidenceId": "EV-1",
"filename": "scene.png",
"eventCount": 2,
"hashBreakCount": 0,
"currentSha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"events": [
{
"id": "CUS-1",
"actor": "Officer A",
"action": "collected",
"at": "2026-10-01T13:00:00.000Z",
"note": "",
"hashAfter": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"source": ""
},
{
"id": "CUS-2",
"actor": "Lab B",
"action": "received",
"at": "2026-10-02T09:00:00.000Z",
"note": "",
"hashAfter": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"source": ""
}
],
"cryptographicIntegrityVerified": true,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/chain-of-custody-build" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"custodyEvents": [
{
"id": "CUS-1",
"evidenceId": "EV-1",
"actor": "Officer A",
"action": "collected",
"at": "2026-10-01T13:00:00.000Z",
"hashAfter": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
},
{
"id": "CUS-2",
"evidenceId": "EV-1",
"actor": "Lab B",
"action": "received",
"at": "2026-10-02T09:00:00.000Z",
"hashAfter": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/image-source-timeline-build$0.04 USDCBuild image source timeline
Combine caller-supplied capture times, local EXIF timestamps, and custody events into an image timeline.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"capturedAt": "2026-10-01T12:00:00.000Z",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"custodyEvents": [
{
"id": "CUS-1",
"evidenceId": "EV-1",
"actor": "Officer A",
"action": "collected",
"at": "2026-10-01T13:00:00.000Z"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "built",
"imageCount": 1,
"items": [
{
"id": "EV-1",
"filename": "scene.png",
"parentId": "",
"pointCount": 2,
"points": [
{
"at": "2026-10-01T12:00:00.000Z",
"kind": "captured_at_supplied",
"detail": "Caller-supplied capture time",
"source": "caller"
},
{
"at": "2026-10-01T13:00:00.000Z",
"kind": "custody",
"detail": "collected by Officer A",
"source": "custody"
}
],
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/image-source-timeline-build" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"capturedAt": "2026-10-01T12:00:00.000Z",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"custodyEvents": [
{
"id": "CUS-1",
"evidenceId": "EV-1",
"actor": "Officer A",
"action": "collected",
"at": "2026-10-01T13:00:00.000Z"
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/video-keyframe-extract$0.05 USDCExtract video keyframe evidence
Inspect local video container metadata and hash caller-supplied keyframe image files. Frames are not decoded by external services.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "VID-1",
"filename": "clip.mp4",
"mediaType": "video/mp4",
"fileBase64": "AAAAHGZ0eXBtcDQyAAAAAWlzb21tcDQyAAAC1G1vb3Y="
},
{
"id": "KF-1",
"filename": "frame-01.png",
"mediaType": "image/png",
"role": "keyframe",
"parentId": "VID-1",
"capturedAt": "2026-10-01T12:00:01.000Z",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "extracted",
"videoCount": 1,
"keyframeCount": 1,
"items": [
{
"videoId": "VID-1",
"filename": "clip.mp4",
"mediaType": "video/mp4",
"container": {
"container": "mp4",
"majorBrand": "mp42",
"topLevelBoxes": [
"ftyp"
],
"note": "MP4 boxes were inspected locally. Decoded video frames are not invented and no external transcoder was used."
},
"keyframeCount": 1,
"keyframes": [
{
"id": "KF-1",
"filename": "frame-01.png",
"size": 70,
"sha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"width": 1,
"height": 1,
"capturedAt": "2026-10-01T12:00:01.000Z"
}
],
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [
{
"kind": "observation",
"code": "no_external_decode",
"subject": "VID-1",
"detail": "Video container metadata was inspected locally. Frames were not decoded by an external forensic or AI service."
}
],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/video-keyframe-extract" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "VID-1",
"filename": "clip.mp4",
"mediaType": "video/mp4",
"fileBase64": "AAAAHGZ0eXBtcDQyAAAAAWlzb21tcDQyAAAC1G1vb3Y="
},
{
"id": "KF-1",
"filename": "frame-01.png",
"mediaType": "image/png",
"role": "keyframe",
"parentId": "VID-1",
"capturedAt": "2026-10-01T12:00:01.000Z",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/visual-location-clue-extract$0.04 USDCExtract visual location clues
Extract embedded GPS or location text clues from local image metadata. Missing coordinates are not invented.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "extracted",
"fileCount": 1,
"withCluesCount": 0,
"items": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"clueCount": 0,
"clues": [],
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [
{
"kind": "missing",
"code": "location_clues",
"subject": "EV-1",
"detail": "No embedded location clues were found in local metadata."
}
],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/visual-location-clue-extract" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/duplicate-cluster$0.03 USDCCluster duplicate evidence
Cluster uploaded evidence files that share the same sha256 digest. Duplicates are cryptographic only.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "clustered",
"clusterCount": 1,
"items": [
{
"sha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"count": 2,
"fileIds": [
"EV-1",
"EV-2"
],
"filenames": [
"scene.png",
"scene-copy.png"
],
"cryptographicDuplicate": true,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/duplicate-cluster" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/integrity-recheck$0.03 USDCRecheck evidence integrity
Compare current local hashes to caller-supplied expected digests. A match verifies cryptographic integrity only.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"expectedHashes": [
{
"evidenceId": "EV-1",
"algorithm": "sha256",
"digest": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "rechecked",
"fileCount": 1,
"matchCount": 1,
"items": [
{
"id": "EV-1",
"filename": "scene.png",
"compared": true,
"matches": true,
"cryptographicIntegrityVerified": true,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"checks": [
{
"algorithm": "sha256",
"expected": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"actual": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"matches": true
}
]
}
],
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/integrity-recheck" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"expectedHashes": [
{
"evidenceId": "EV-1",
"algorithm": "sha256",
"digest": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
}
]
}
JSONhttps://www.brainiac.software/api/v1/evidence-intelligence/forensic-report$0.08 USDCBuild forensic evidence report
Aggregate hash, metadata, C2PA, custody, timeline, keyframe, location, duplicate, and integrity results. Distinguishes cryptographic integrity from factual authenticity.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
files | No | array; Array |
custodyEvents | No | array; Array |
expectedHashes | No | array; Array |
asOf | No | string |
Request exampleJSON
{
"asOf": "2026-11-01",
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"capturedAt": "2026-10-01T12:00:00.000Z",
"expectedSha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"custodyEvents": [
{
"id": "CUS-1",
"evidenceId": "EV-1",
"actor": "Officer A",
"action": "collected",
"at": "2026-10-01T13:00:00.000Z",
"hashAfter": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
}
],
"expectedHashes": [
{
"evidenceId": "EV-1",
"algorithm": "sha256",
"digest": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T21:00:00.000Z",
"status": "reported",
"asOf": "2026-11-01",
"fileCount": 2,
"sections": {
"hashManifest": {
"fileCount": 2
},
"metadata": {
"fileCount": 2
},
"c2pa": {
"presentCount": 0
},
"custody": {
"evidenceCount": 2
},
"imageTimeline": {
"imageCount": 2
},
"keyframes": {
"videoCount": 0,
"keyframeCount": 0
},
"locations": {
"withCluesCount": 0
},
"duplicates": {
"clusterCount": 1
},
"integrity": {
"matchCount": 1
}
},
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"role": "",
"parentId": "",
"size": 70,
"hashes": {
"md5": "2cd8bde463f5d82aae0f0cec061d6b8f",
"sha1": "b2bbe763c7e1828c750d53f78550709a6fea19be",
"sha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"sha512": "fcba48f85167b732f75c33a2232a87e393441948350f265737a483c8b4923fbc2d7dd4ea1ebf00bb774d8cb09c016610abfbc3d4597ebe2d16e81bb92cb3aa48"
},
"expectedSha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"sha256MatchesExpected": true,
"comparedToExpected": true,
"cryptographicIntegrityVerified": true,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"role": "",
"parentId": "",
"size": 70,
"hashes": {
"md5": "2cd8bde463f5d82aae0f0cec061d6b8f",
"sha1": "b2bbe763c7e1828c750d53f78550709a6fea19be",
"sha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"sha512": "fcba48f85167b732f75c33a2232a87e393441948350f265737a483c8b4923fbc2d7dd4ea1ebf00bb774d8cb09c016610abfbc3d4597ebe2d16e81bb92cb3aa48"
},
"expectedSha256": "",
"sha256MatchesExpected": false,
"comparedToExpected": false,
"cryptographicIntegrityVerified": false,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"integrity": [
{
"id": "EV-1",
"filename": "scene.png",
"compared": true,
"matches": true,
"cryptographicIntegrityVerified": true,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"checks": [
{
"algorithm": "sha256",
"expected": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"actual": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"matches": true
},
{
"algorithm": "sha256",
"expected": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"actual": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"matches": true
}
]
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"compared": false,
"matches": false,
"cryptographicIntegrityVerified": false,
"factualAuthenticityClaimed": false,
"checks": []
}
],
"duplicates": [
{
"sha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"count": 2,
"fileIds": [
"EV-1",
"EV-2"
],
"filenames": [
"scene.png",
"scene-copy.png"
],
"cryptographicDuplicate": true,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"c2pa": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"present": false,
"markerCount": 0,
"notes": [
"No local C2PA/JUMBF marker bytes were found.",
"Marker presence or absence is cryptographic/structure evidence only and is not a factual authenticity determination."
],
"cryptographicIntegrityVerified": true,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"present": false,
"markerCount": 0,
"notes": [
"No local C2PA/JUMBF marker bytes were found.",
"Marker presence or absence is cryptographic/structure evidence only and is not a factual authenticity determination."
],
"cryptographicIntegrityVerified": false,
"factualAuthenticityClaimed": false,
"externalAiUsed": false,
"externalForensicServiceUsed": false
}
],
"distinction": {
"cryptographicIntegrity": "Hash and custody-hash comparisons speak only to whether bytes are unchanged.",
"factualAuthenticity": "This report does not claim that images, videos, or events are factually authentic."
},
"externalAiUsed": false,
"externalForensicServiceUsed": false,
"filesSentExternally": false,
"factualAuthenticityClaimed": false,
"paidProviderUsed": false,
"apiKeyRequired": false,
"findings": [
{
"kind": "observation",
"code": "c2pa_absent",
"subject": "EV-1",
"detail": "No local C2PA/JUMBF markers were found. Absence does not prove inauthenticity."
},
{
"kind": "observation",
"code": "c2pa_absent",
"subject": "EV-2",
"detail": "No local C2PA/JUMBF markers were found. Absence does not prove inauthenticity."
},
{
"kind": "missing",
"code": "timeline_points",
"subject": "EV-2",
"detail": "No capture, EXIF, or custody timestamps were available for this image."
},
{
"kind": "missing",
"code": "video_or_frames",
"subject": "",
"detail": "Supply a video file and/or keyframe image files for keyframe evidence extraction."
},
{
"kind": "missing",
"code": "location_clues",
"subject": "EV-1",
"detail": "No embedded location clues were found in local metadata."
},
{
"kind": "missing",
"code": "location_clues",
"subject": "EV-2",
"detail": "No embedded location clues were found in local metadata."
},
{
"kind": "missing",
"code": "expected_hash",
"subject": "EV-2",
"detail": "No expected hash was supplied for integrity recheck."
}
],
"limitations": [
"Evidence bytes are processed only in this local request path. Files are not sent to external AI or forensic services.",
"Cryptographic hash matches verify byte integrity only. They do not prove factual authenticity of depicted events or authorship.",
"C2PA checks look for local provenance markers and structure hints in the uploaded bytes. Marker presence is not a factual authenticity determination.",
"Video keyframes are taken only from caller-supplied frame files or container metadata. Frames are not decoded by an external service and are not invented.",
"Location clues come from embedded metadata or labeled caller fields. Missing GPS is not invented."
]
}cURL
curl -i -X POST "https://www.brainiac.software/api/v1/evidence-intelligence/forensic-report" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"asOf": "2026-11-01",
"files": [
{
"id": "EV-1",
"filename": "scene.png",
"mediaType": "image/png",
"capturedAt": "2026-10-01T12:00:00.000Z",
"expectedSha256": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
},
{
"id": "EV-2",
"filename": "scene-copy.png",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
],
"custodyEvents": [
{
"id": "CUS-1",
"evidenceId": "EV-1",
"actor": "Officer A",
"action": "collected",
"at": "2026-10-01T13:00:00.000Z",
"hashAfter": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
}
],
"expectedHashes": [
{
"evidenceId": "EV-1",
"algorithm": "sha256",
"digest": "c414cd0e204de974f73753c7e28d7638e7b3691bb8b1a2bab6b25bb7fed7ce77"
}
]
}
JSON