-
Notifications
You must be signed in to change notification settings - Fork 0
JSON Schema
McAmner edited this page Jun 2, 2026
·
1 revision
Schema version: mq-image.analysis.v1
Produced by mq-image analyze <image> --json
mq-image analyze image.jpg --jsonUnique object labels, no raw detections. Confidence threshold: 0.25.
mq-image analyze image.jpg --exhaustive --json
mq-image analyze image.jpg --exhaustive --conf 0.05 --jsonAll detections preserved — duplicates, confidence, bbox, area.
Confidence threshold: 0.05 (unless --conf overrides).
{
"objects": ["string"],
"palette": ["#rrggbb"],
"brightness": "dark | mid-tone | bright",
"contrast": "low contrast | moderate contrast | high contrast",
"depth": "shallow depth of field | moderate depth | deep / sharp throughout",
"composition": "string",
"symmetry": 0.0,
"rule_of_thirds": 0.0,
"prompt": "string",
"mode": "summary",
"vision_mode": "local-fast",
"vision_model": "bakllava",
"detections": [],
"limitations": ["string"],
"text_regions": [],
"unclassified_regions": [],
"content_flags": {
"nudity": { "detected": false, "confidence": null },
"full_nudity": { "detected": false, "confidence": null },
"sexual_activity": { "detected": false, "confidence": null },
"source": "not_implemented",
"note": "string"
}
}{
"objects": ["string"],
"palette": ["#rrggbb"],
"brightness": "dark | mid-tone | bright",
"contrast": "low contrast | moderate contrast | high contrast",
"depth": "shallow depth of field | moderate depth | deep / sharp throughout",
"composition": "string",
"symmetry": 0.0,
"rule_of_thirds": 0.0,
"prompt": "string",
"mode": "exhaustive",
"vision_mode": "cloud-verify",
"vision_model": "gpt-4.1",
"detections": [
{
"label": "string",
"confidence": 0.0,
"bbox": [0.0, 0.0, 0.0, 0.0],
"area_percent": 0.0,
"source_model": "yolov8n"
}
],
"limitations": ["string"],
"text_regions": [],
"unclassified_regions": [],
"content_flags": {
"nudity": { "detected": false, "confidence": null },
"full_nudity": { "detected": false, "confidence": null },
"sexual_activity": { "detected": false, "confidence": null },
"source": "not_implemented",
"note": "string"
}
}| Field | Type | Notes |
|---|---|---|
objects |
string[] | Unique labels; summary: highest-conf only; exhaustive: deduped from detections |
palette |
string[] | Hex colors, most dominant first |
brightness |
string |
dark / mid-tone / bright
|
contrast |
string |
low contrast / moderate contrast / high contrast
|
depth |
string |
shallow depth of field / moderate depth / deep / sharp throughout
|
composition |
string | Human-readable composition description |
symmetry |
float | 0.0–1.0 horizontal symmetry |
rule_of_thirds |
float | 0.0–1.0 alignment score |
prompt |
string | Reverse prompt string |
mode |
string |
summary or exhaustive
|
vision_mode |
string |
local-fast, local-deep, or cloud-verify
|
vision_model |
string | Backend model used for the semantic caption |
detections |
object[] | Raw detections; empty in summary mode |
detections[].confidence |
float | YOLOv8n confidence score |
detections[].bbox |
float[4] |
[x1, y1, x2, y2] in pixels |
detections[].area_percent |
float | Detection area as % of image area |
detections[].source_model |
string | Model that produced the detection |
limitations |
string[] | Always present; describes what the tool cannot see |
text_regions |
object[] | OCR output — not yet implemented |
unclassified_regions |
object[] | Regions outside model classes — not yet implemented |
limitations is always present. It explicitly states what the tool cannot see or did not analyze.
Fields stable from v0.1.0. New fields may be added in minor versions. Field removals require major version bump.