Skip to main content
Shooting, focus, zoom, and movie-record commands. All actions require the camera to be connected and priority-key set to pc-remote. See the auto-generated API reference for full request/response schemas.

Shutter

POST /api/cameras/{cameraId}/actions/shutter — take a single photo, or control continuous shooting with {"action": "down"} / {"action": "up"}.
For continuous shooting, set drive mode to a continuous mode first (e.g. Continuous Hi).

Half-Press (Focus Lock)

POST /api/cameras/{cameraId}/actions/half-press — half-press the shutter button to lock autofocus (S1 press). No body required.

AF + Shutter

POST /api/cameras/{cameraId}/actions/af-shutter — autofocus then immediately capture in one operation. No body required.

Zoom

POST /api/cameras/{cameraId}/actions/zoom — control power zoom lenses. Requires a power zoom lens to be attached. Body: direction (in or out), speed (normal or fast).

Focus Near/Far

POST /api/cameras/{cameraId}/actions/focus-near-far — move focus in discrete steps. Range: -7 (near, max speed) to +7 (far, max speed). Magnitude controls speed. 0 is not valid.
For absolute focus positioning, use PUT /api/cameras/{id}/properties/focus-position with a value from 0 (infinity) to 65535 (closest).

Movie Recording

POST /api/cameras/{cameraId}/actions/movie-rec — start or stop video recording. This is a toggle action — call once to start recording, call again to stop. Uses the SDK’s hold-style command (Down to start, Up to stop). Monitor recording state via the recording-state property or propertyChanged SSE events.
Ensure the camera is in a video-capable exposure mode (e.g. Movie mode 0x80500x8055) before triggering. Check recording-state to confirm the current state.
For typed action helpers, use the SDK pages: TypeScript, Python, or Swift.