Skip to main content

Documentation Index

Fetch the complete documentation index at: https://crsdk.app/llms.txt

Use this file to discover all available pages before exploring further.

1. Install and start the server

Install the package (which includes the native binary and the CLI):
npm install camera-remote-web-api
Start the camera server in the background:
npx camera-server start
The server runs detached on port 8080 and discovers cameras connected via USB or network automatically. It survives after your terminal closes, so you only need to start it once. To check it’s running:
npx camera-server status
To stop it later:
npx camera-server stop

2. Discover Cameras

curl http://localhost:8080/api/cameras
Note the camera id from the response — you’ll use it in all subsequent calls.

3. Connect

curl -X POST http://localhost:8080/api/cameras/{id}/connection \
  -H "Content-Type: application/json" \
  -d '{"mode": "remote"}'

4. Take Control

curl -X PUT http://localhost:8080/api/cameras/{id}/priority-key \
  -H "Content-Type: application/json" \
  -d '{"setting": "pc-remote"}'
Priority key must be set to pc-remote before the camera accepts remote commands.

5. Shoot

curl -X POST http://localhost:8080/api/cameras/{id}/actions/af-shutter

6. Disconnect

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

Next Steps

API Reference

Full endpoint documentation with response formats

Connection Modes

remote, remote-transfer, and contents-transfer modes

Properties

Read and set ISO, shutter speed, aperture, and more

Live View

Stream real-time camera preview over HTTP