Skip to content

Inspect ​

Read a file's metadata — grouped by container — without running a job. Read-only and fast: nothing is stored or enqueued. See the Inspecting metadata guide.

These routes require authentication with a key that carries the inspect:read scope (secret keys have it by default; management keys do not) and have their own per-account rate limit (see Rate limits).


Inspect an upload ​

POST /inspect

Read the metadata of an uploaded file. Accepts multipart/form-data. SDK: inspect() (TypeScript) / inspect() (Python).

Body ​

FieldTypeRequiredNotes
imagefileyesThe file to inspect (JPEG, PNG, WebP, TIFF, HEIC, AVIF, MP4, MOV).

Response — 200 OK ​

json
{
  "groups": {
    "EXIF (IFD0)": { "Make": "Apple", "Model": "iPhone 15 Pro" },
    "GPS": { "GPSLatitude": "37.7749 N" }
  },
  "tagCount": 84,
  "format": "jpeg",
  "dimensions": { "width": 4032, "height": 3024 }
}
FieldTypeNotes
groupsobjectcontainer label → { tag: value }.
tagCountintegerTotal tags across all groups.
formatstringDetected container (jpeg, heic, png, …).
dimensionsobject{ width, height } when resolvable.

Errors ​

StatuserrorWhen
400bad_requestNo file, or an unsupported file type.
429rate_limitedOver the inspect limit.

Inspect a variant ​

GET /inspect/result/{id}/{variant}

Read the metadata of a finished variant (0-based) of one of your jobs. The API reads the produced object server-side, so you can diff source-vs-result without a cross-origin fetch. Returns the same grouped shape as above. SDK: inspectResult(jobId, index) (TypeScript) / inspect_result(job_id, index) (Python).

Errors ​

StatuserrorWhen
404not_foundNo such job/variant, or not yours.

Other inspect routes ​

RouteSDK method (TypeScript / Python)
POST /inspect/forensics (field image)inspectForensics() / inspect_forensics()
POST /inspect/compare (fields original, variant)inspectCompare() / inspect_compare()

Forensics is described in the Inspecting metadata guide. Compare takes the two files and returns { detectionRisk, band, visual, matchThreshold }: a 0-100 risk, its band (low, medium or high), the perceptual-hash distances in visual, and the PDQ match threshold. The SDKs need version 2.1.0 or newer.

FluidGhost API — part of the Fluidvip ecosystem.