Skip to content

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.

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.

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.

  1. Discover cameras

    Terminal window
    curl http://localhost:8080/api/cameras
  2. Connect

    Terminal window
    curl -X POST http://localhost:8080/api/cameras/{id}/connection \
    -H "Content-Type: application/json" \
    -d '{"mode": "remote"}'
  3. 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"}'
  4. Configure settings

    Terminal window
    curl -X PUT http://localhost:8080/api/cameras/{id}/properties/iso \
    -H "Content-Type: application/json" \
    -d '{"value": "400"}'
  5. Shoot

    Terminal window
    curl -X POST http://localhost:8080/api/cameras/{id}/actions/af-shutter
  6. Disconnect

    Terminal window
    curl -X DELETE http://localhost:8080/api/cameras/{id}/connection
http://localhost:8080

The server runs locally. The port is configurable via --port flag or the TypeScript CameraServer({ port }) option.

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.

Not all APIs are supported on every camera model. See the Compatibility page for per-camera API support, connection mode requirements, and OS compatibility.