annotate
Add boxes, arrows, text, highlights, and callouts to screenshots with precise positioning, anchors, and offsets for clear visual communication.
Instructions
Smart unified annotation tool with flexible positioning and anchor support.
Position formats:
Named: "top-left", "center", "bottom-right", "top-left-quarter", etc.
Percentage: "50%, 30%" (from top-left corner)
Pixels: "100px, 200px" or "100, 200" (absolute x, y)
Anchor controls which part of the annotation aligns to the position:
"top-left": annotation's top-left corner at position
"center": annotation's center at position (default)
"bottom-right": annotation's bottom-right corner at position
Offset allows fine-tuning: offset_x=10 moves 10px right, offset_y=-5 moves 5px up.
Examples:
annotate(img, "box", "50%,10%", width=200, height=50, anchor="top-center")
annotate(img, "text", "100px,50px", text="Label", anchor="top-left", offset_x=5)
annotate(img, "callout", "center", text="Note", offset_y=-20)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Text content (for text/callout types) | |
| color | No | Color | red |
| width | No | Width in pixels | |
| anchor | No | Anchor point: which part of element aligns to position (top-left, center, bottom-right, etc.) | center |
| height | No | Height in pixels | |
| radius | No | Radius for circles | |
| image_id | Yes | ID of the image to annotate | |
| offset_x | No | Horizontal offset in pixels (positive=right) | |
| offset_y | No | Vertical offset in pixels (positive=down) | |
| position | No | Position: named, percentage ('50%,30%'), or pixels ('100px,200px' or '100,200') | center |
| font_size | No | Font size for text | |
| line_width | No | Line width | |
| auto_adjust | No | Auto-adjust to stay within bounds | |
| end_position | No | End position for arrows/lines | |
| annotation_type | Yes | Type of annotation |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Status message | |
| image_id | Yes | Image ID that was annotated |