Skip to main content

Media

Two fields in the payload carry imagery for the case: macroscopicMedia at the top level of data (the lesion photo submitted for analysis, plus any detection annotations drawn over it), and result.observations (the array of every media that was actually sent to the algorithm for analysis).

macroscopicMedia​

Details the image of the lesion or body part that was submitted for analysis. The whole object is null when no image was captured.

"macroscopicMedia": {
"url": "https://bucket/diagnostic-report-medias/bbb.png",
"type": "Image",
"annotations": []
}
  • url: signed S3 URL to the captured image. Time-limited (about 30 minutes).
  • type: media format. One of "Image" or "Video". null when no media was attached (in that case the whole macroscopicMedia object is itself null).
  • annotations: array of detection objects overlaid on the image, possibly empty []. Each entry has the shape:
    • id: opaque 32-character identifier for the detection.
    • rect.topLeft.x, rect.topLeft.y, rect.width, rect.height: pixel-space bounding box.
    • type: detection label string. Opaque values with mixed casing, for example: "Lesion", "Suspicious lesion", "Acne lesion", "Actinic keratosis lesion", "New actinic keratosis lesion", "Treatment", "acne", "wheal", "drainingTunnel", "nonDrainingTunnel", "nodule", "abscess". Match on the exact string.
    • confidence: number between 0 and 1, or null.
  • Note: the whole macroscopicMedia object is null when no image was captured.

result.observations​

The observations field is an array of medias, each containing one field: media.

media: the media sent to the algorithm to be analyzed. It includes:

  • url: signed S3 URL to the image. Time-limited (about 30 minutes); download within the window if you plan to use it later.
  • type: media format. One of "Image" or "Video". Always present.
  • modality: how the image was captured. One of "None", "Clinical", "Dermoscopic", or null. null for video uploads or when image-validity (DIQA + modality detection) did not run. The value is "Dermoscopic", not "Dermoscopy".
  • diqaScore: Dermatology Image Quality Assessment score on a 0 to 100 scale (float). null for videos or when DIQA was not computed.
  • Each entry contains only the media key. The v3 response does not emit originalMedia (that field is v2-only).
"observations": [
{
"media": {
"type": "Image",
"modality": "Clinical",
"diqaScore": 86,
"url": "https://bucket/diagnostic-report-medias/bbb.png"
}
},
...
]