Move the AF frame
Move the centre of the autofocus frame. Send either absolute coordinates
(x 0-639, y 0-479) or normalized 0-1 values — the latter is usually
what you want when translating a tap or click on a live view.
The camera clamps, and does not tell you
The usable area is smaller than the full range: it is inset from the edges
and varies by model, aspect ratio and AF setting. A request inside
0-639/0-479 is always accepted with 200, then silently clamped.
Measured on an ILCE-7M4 with Tracking Expand Flexible Spot — every corner was requested and every one was pulled inward, symmetrically:
| Requested | Landed |
|---|---|
0, 0 | 65, 61 |
639, 0 | 574, 61 |
639, 479 | 574, 418 |
0, 479 | 65, 418 |
320, 240 | 320, 240 |
That is a usable area of x 65-574, y 61-418 — the middle 80% x 74% of
the coordinate space. Treat those numbers as illustrative, not a contract:
a different body, aspect ratio or AF area will inset differently.
A write is also ignored outright when the focus area has no movable box.
Always follow up with getAFAreaPosition to see where the frame
actually is rather than assuming the requested value took.
Requires priority key pc-remote.
Path Parameters
Camera identifier (e.g. D10F60149B0C)
Body
Supply either x and y, or a normalized object. If both are present,
normalized wins.
Frame centre X in the camera's AF coordinate space.
0 <= x <= 639Frame centre Y in the camera's AF coordinate space.
0 <= x <= 479Frame centre as 0-1 fractions of the live view — use this for a tap or click position without converting to the SDK's coordinate space.
Response
Accepted by the camera. The frame may have been clamped — confirm with
getAFAreaPosition.
Generic envelope returned by most camera operations. The shape of
data varies per endpoint — most operations return an empty or
null data; operations that return structured data document a
specific shape. SDK-generated types can treat data as an opaque
map for generic endpoints.

