Analysis

Analyze a photo (v2)

Registry v2 analyze endpoint. Superset of /v1/analyze with bespoke extraction (extract.prompt / extract.schema / extract.schemaId).

Delta billing

The registry projection tracks which lenses have already been analyzed for each (userId, sha256) photo. By default only newly-requested lenses are billed; previously-analyzed lenses are served from the projection at zero cost.

Set refresh: true to force every requested lens to re-run (full billing). Bespoke extraction modes (extract.*) always bypass the registry path and bill normally: 5 credits per call regardless of cache state.

Bespoke extraction

Pass extract.prompt (natural-language) for AI-generated schemas, extract.schema for an inline JSON Schema, or extract.schemaId for a previously-saved schema. Exactly one of the three is required when using extract.

post/v2/analyze

Request

  • Base URL: https://api.phototology.com
  • URL: https://api.phototology.com/v2/analyze
  • Auth: HTTP bearer

Request body

imageUrlstring uri
imageBase64string
presetstring
modulesstring[]
modulesAddstring[]
modulesRemovestring[]
moduleOptionsobject
refreshboolean

Response

Analysis completed successfully. Response shape matches /v1/analyze; bespoke output appears under output.bespoke. On a full cache hit, meta.cacheHit is true and usage.creditsCharged is 0. A content-safety block returns 200 with output.moderation.safe: false (same contract as /v1/analyze; see its moderation-block example).

idstring required
object'analysis' required
livemodeboolean required
schemaVersionstring required
createdAtstring required
outputobject required
outputSchema'photo' | 'vehicle' required
warningsstring[] required
embeddingnumber[]

Changes

No recorded changes to this operation across all 1 revision of this API.