Overview
The Alpha Camera REST API provides HTTP endpoints to control Sony cameras connected via USB or network. It runs as a local server and supports multi-camera simultaneous operation.
Connection Modes
Section titled “Connection Modes”| Mode | Capabilities |
|---|---|
remote |
Full camera control — shooting, settings, live view. Auto-transfers images to the host PC. |
remote-transfer |
Full camera control + explicit SD card file access. Most capable mode. |
contents |
SD card file access only. No shooting or settings control. |
Architecture
Section titled “Architecture”The Alpha Camera REST API is an HTTP + SSE server built on Sony’s native Camera Remote SDK. It translates RESTful requests into native SDK calls, enabling camera control from any language or tool that can make HTTP requests.
If you’d rather call typed methods than build URLs by hand, you can generate a client for your language directly from the OpenAPI specification.
To run the server itself, see Run the server.
Quick Start
Section titled “Quick Start”-
Discover cameras
Terminal window curl http://localhost:8080/api/cameras -
Connect
Terminal window curl -X POST http://localhost:8080/api/cameras/{id}/connection \-H "Content-Type: application/json" \-d '{"mode": "remote"}' -
Set Priority Key
Terminal window curl -X PUT http://localhost:8080/api/cameras/{id}/priority-key \-H "Content-Type: application/json" \-d '{"setting": "pc-remote"}' -
Configure settings
Terminal window curl -X PUT http://localhost:8080/api/cameras/{id}/properties/iso \-H "Content-Type: application/json" \-d '{"value": "400"}' -
Shoot
Terminal window curl -X POST http://localhost:8080/api/cameras/{id}/actions/af-shutter -
Disconnect
Terminal window curl -X DELETE http://localhost:8080/api/cameras/{id}/connection
Base URL
Section titled “Base URL”http://localhost:8080The server runs locally. The port is configurable via --port flag or the TypeScript CameraServer({ port }) option.
Response Format
Section titled “Response Format”All endpoints return JSON with a consistent shape:
{ "success": true, "message": "Description of what happened", "camera": { "connected": true, "model": "ILCE-9M3", "id": "D10F60149B0C" }, "data": { ... }}Errors return "success": false with an HTTP status of 400, 404, or 500.
Compatibility
Section titled “Compatibility”Not all APIs are supported on every camera model. See the Compatibility page for per-camera API support, connection mode requirements, and OS compatibility.