What it is for
A place, a person, an object, seen from a viewpoint with light and depth. Whether a camera captured it or a hand or a program made it is a descriptor, not the type. No field carries a time.
Something made of marks, a screen or a chart, which is image/graphic. A photo of a screen is a scene whose objects hold the screen; a screenshot of a photo is a graphic whose depicts holds the photo.
time, camera motion, layout
Every image file starts with the same envelope: format, version, type, generated, source. What follows is this type's own.
What it is
| field | shape | meaning | |
|---|---|---|---|
| summary | O | string | What the image shows, in one paragraph. Doubles as alt text. |
| kind | O | string | What sort of scene image it is: a photograph, a painting, a render. |
| form | O | { size, angle, lens, depthOfField, lightKey, lightQuality, lightSource, timeOfDay, interior, setting } | The picture as a cinematographer would name it. |
| picture | M | { aspectRatio, orientation, palette [hex], warmth, saturation, tonalRange, luma, contrast, sharpness, clippedHighlights, crushedBlacks } | Colour and tone of the pixels. orientation is landscape, portrait or square; palette the dominant colours, most covering first. |
| quality[] | O | [ string ] | Conditions visibly there. |
Who and what is in it
| section | shape | meaning | |
|---|---|---|---|
| people[] | O | [ { label, description, box { x, y, w, h }, size, position, facesCamera, eyeline, expression } ] | The subjects, lettered left to right. expression in plain words, what the face shows. |
| bystanders[] | O | [ { text, box } ] | People who are not subjects. |
| clothing, background | O | string | What the subjects wear; what is behind them. |
| objects[] | O | [ { text, box } ] | Things worth naming, with a box each. Brands and models when legible. |
| details[] | O | [ string ] | Small things a viewer would miss at a glance. |
| text[] | O | [ { text, kind, x, y, style, language } ] | Everything written in the picture, read as it appears. |
Composition
A still is looked at long enough for the frame's construction to matter, and positions can be given exactly.
| field | shape | meaning | |
|---|---|---|---|
| text | O | string | The paragraph a photographer would write: where the subject sits, what leads the eye, what balances what. |
| devices[] | O | [ string ] | The framings in use: thirds, centred, symmetry, leading lines, a frame within the frame. |
| subject | O | { x, y, w, h } | null | The main subject's box; null when the picture has none (a texture, a sky). |
| focus | O | { x, y } | Where the eye lands first. |
| horizon | O | { y, tilt } | null | The horizon's height as a fraction and its tilt in degrees, positive clockwise; null when there is none. |
| layers | O | { foreground, midground, background } | What occupies each depth, in a few words each; an empty layer is an empty string. |
| negativeSpace | O | string | Where the empty area is. |
A scene answers "what does this picture show, and how is it built". summary doubles as alt text; boxes let software point at things; form and composition let an editor pick and place it.
Vocabularies
Closed lists. Each includes other; a reader that meets an unknown value treats it as other and keeps going.
Example
Illustrative and abbreviated.
{
"format": "smartmedia", "version": "1.1", "type": "image/scene",
"generated": { "at": "2026-09-14T10:05:40Z", "by": "smartmedia-api 0.1", "models": { "vision": "google/gemini-3.7-flash" } },
"source": { "name": "DSC_0412.HEIC", "bytes": 2410233, "sha256": "41f0…", "quickHash": "c93d…",
"image": { "format": "heic", "width": 4032, "height": 3024, "orientation": 1, "colorSpace": "Display P3", "bitDepth": 10, "hdr": true, "alpha": false },
"camera": { "make": "Apple", "model": "iPhone 17 Pro", "lens": "iPhone 17 Pro back camera 24mm f/1.78" },
"exposure": { "iso": 64, "shutter": 0.0005, "aperture": 1.78, "focalLength": 6.86, "focalLength35": 24, "flash": false },
"recorded": { "utc": "2026-09-06T17:52:10Z", "local": "2026-09-06T19:52:10", "offset": "+02:00", "timeOfDay": { "bucket": "golden hour", "minutesToSunset": 29 } },
"location": { "lat": 41.3809, "lon": 2.1911, "address": { "neighbourhood": "Barceloneta", "city": "Barcelona" },
"venue": { "name": "Platja de la Barceloneta", "reason": "Sand, sea and the W hotel's sail shape at the right edge." } } },
"summary": "A woman in a yellow raincoat stands at the water's edge on a wide beach at golden hour, her back to the camera, her reflection in the wet sand …",
"kind": "photograph",
"form": { "size": "wide", "angle": "eye level", "lens": "normal", "depthOfField": "deep", "lightKey": "side", "lightQuality": "soft",
"lightSource": "daylight", "timeOfDay": "golden hour", "interior": "exterior", "setting": "city beach" },
"picture": { "aspectRatio": 1.333, "orientation": "landscape", "palette": [ "#D9B98A", "#5C7C8E", "#F2C230" ], "warmth": 0.71, "luma": 0.58, "sharpness": 0.79 },
"composition": { "text": "The figure sits on the right third line with the horizon a third from the top; the wet sand's reflection doubles her.",
"devices": [ "thirds", "leading lines", "reflection", "negative space" ],
"subject": { "x": 0.61, "y": 0.42, "w": 0.09, "h": 0.34 }, "focus": { "x": 0.65, "y": 0.45 }, "horizon": { "y": 0.33, "tilt": -0.4 },
"layers": { "foreground": "wet sand with a reflection", "midground": "the woman and the shoreline", "background": "flat sea, a low sun to the left" },
"negativeSpace": "left" },
"people": [ { "label": "A", "description": "A woman in a yellow raincoat, barefoot.", "box": { "x": 0.61, "y": 0.42, "w": 0.09, "h": 0.34 },
"size": "wide", "position": "right", "facesCamera": false, "eyeline": "away", "expression": "Not visible; back to camera." } ],
"objects": [ { "text": "A sailboat, far out on the horizon", "box": { "x": 0.40, "y": 0.31, "w": 0.02, "h": 0.02 } } ],
"details": [ "Footprints lead from the bottom left corner to where A stands." ], "text": [], "quality": []
}