critique_composition
Identify framing issues and subject placement in an image, then explain why a weak composition looks off. Use it to get actionable visual feedback instead of just a numeric score.
Instructions
Critique an image's composition: framing, and, for low-scoring images, why it looks off.
Combines score_aesthetics (numeric quality), a rule-of-thirds/centeredness
check on the main subject's bounding box, and — only when the aesthetic
score is below low_score_threshold — a Moondream2 VQA explanation of what
specifically looks unbalanced. Use it over score_aesthetics alone when you
need to know why a shot is weak and where its subject sits in the frame,
rather than just how it scores.
Returns image_size, subject_box, aesthetics, and framing (with
thirds_offset near 0 meaning the subject sits on a rule-of-thirds power
point, and center_offset near 0 meaning it is dead-center instead).
Pass target_subject whenever you know what the subject is — from your own
context or a prior caption call. Auto-detection picks the largest,
most central region and degrades on busy scenes that fill the frame, where
no single region is the subject. If nothing can be located, returns a
soft-failure shape (image size, aesthetic score, and a "note") rather than
raising. Only the first page of a PDF is assessed.
Set style_context=true to also get the image's medium (style plus
style_distribution), so the aesthetic score is read in the context of its
medium — the documented photography bias means a non-photographic medium
should not be judged by the raw score.
Set compare_with to a reference image to switch to relative mode: both
images are critiqued and the result becomes
{image, reference, delta, preferred} (tie when |delta| < 0.05), plus a
cross_medium_warning when style_context=true and the two media differ.
Same like-with-like framing as score_aesthetics' compare_with; the
absolute score is not recalibrated, the relative delta is.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| src | Yes | Local file path or http(s) URL of the image to process. PDFs are also accepted and are rendered one image per page, so tools that return a list return one entry per page. | |
| compare_with | No | Path or URL of a reference image to compare against. When set, both the image and the reference are critiqued and the result becomes {image, reference, delta, preferred} (plus cross_medium_warning when style_context=true and the media differ). Same like-with-like framing as score_aesthetics' compare_with. Omit (default) for the single-image critique. | |
| style_context | No | When true, also classify the image's medium/genre (photograph, oil painting, ...) using the already-loaded CLIP backbone and add it to the result as `style` and `style_distribution`. The aesthetic head was trained on photographs, so a non-photographic medium is the context the score is read in. Default false omits the classification. | |
| target_subject | No | Name of the main subject, e.g. 'the dog'. Omit to auto-detect it. | |
| low_score_threshold | No | Below this aesthetic score, ask Moondream2 to explain why. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||