Skip to main content
Every property supports hex values from the GET response — hex always works. Many properties also accept human-readable formats ("1/125", "f/2.8", "400"). Always GET the property first to see what your specific camera supports. See the auto-generated API reference for full request/response schemas.

Get Property

GET /api/cameras/{cameraId}/properties/{propertyName} — returns current value, human-readable format, writability flag, and all values the camera currently accepts.

Set Property

PUT /api/cameras/{cameraId}/properties/{propertyName} — set a camera property. Accepts hex values from available_values or human-readable strings.
The safest approach: GET the property first, pick a value from available_values, and send it back in your PUT.
The server validates against the camera’s current available_values and checks writability before sending to the SDK. If the property is not writable (e.g. shutter speed in Aperture Priority mode), you’ll get a 400 error.

Get All Properties

GET /api/cameras/{cameraId}/properties/all — returns all mapped properties with their current formatted values.

Priority Key

Priority key must be set to pc-remote before the camera accepts any property changes or shooting commands.
  • GET /api/cameras/{cameraId}/priority-key — read current setting
  • PUT /api/cameras/{cameraId}/priority-key — set pc-remote or camera-position

The key also changes what the camera reports

Holding pc-remote is not only about whether a write is accepted — it changes what the camera reports. Measured on an ILCE-7M5 over USB in remote connection mode, SDK V2.02.00: the same property, read seconds apart, nothing else changed. The subsequent PUT /properties/focus-area then succeeded.
writable: false is a statement about the current session, not about the body. A client that enumerates properties immediately after connecting — while the key is still camera-position — will conclude the camera does not support features it does support. Claim pc-remote first whenever a read is going to drive a capability list or a settings UI.
An empty available_values has the same ambiguity: it means either “this is a range property” or “this is gated by the current priority key.” Re-read after claiming pc-remote before concluding anything about the camera. This was measured on one body and one property — treat the shape of the behaviour as the finding, not the specific values. It applies to bodies that implement the priority key; FX3 and cinema bodies do not, and auto-enter PC Remote on USB.

Property Reference

All 56 properties organized by category. Every property supports hex values from the GET response — hex always works. Always GET the property first to see what your specific camera supports.
Properties marked R/W can be read and written. Read-only properties return data but reject SET requests. Some R/W properties report as read-only depending on the camera’s current mode — or on which priority key you hold.

Core Exposure

Focus & Zoom

White Balance

Drive & Shutter

Flash

Image Format

Image Processing

Stabilization

Video Recording

Timecode

CineEI & LUT

License & Image ID

Battery & Media

Camera Settings File


Notable property notes

shutter-speed

Shutter speed is only writable in Manual (M) or Shutter Priority (S) mode. In P or A mode, the camera controls it and writable will be "false".

exposure-compensation

Values are signed — the server formats them as EV (e.g. “+1.0 EV”, “-2.0 EV”, “0.0 EV”). The step size depends on exposure-step (1/3 or 1/2 EV). Negative values use two’s complement (e.g. 0xf830 = -2.0 EV).

white-balance-color-temp

Range property. Min 2500K, Max 9900K, Step 100K. Set white-balance to Color Temp (0x8003) first, then adjust the temperature.

still-image-store-destination

Set to 0x1 (Host PC) or 0x3 (Both) for auto-transfer in remote mode. Also requires SetSaveInfo path to be configured.

shutter-angle / shutter-mode

Primarily available on cinema cameras (FX3A, FX3, FX2, FX30). Set shutter-mode to Angle (0x2) first. Values are in 1/10 degree units (e.g. 1800 = 180.0°). Value 0x0 = Off.

creative-look / picture-profile

Available look/profile slots vary by camera — A9 III supports 9 looks, A7 IV supports 8 looks; FX30 supports 13 profiles, A9 III supports 9, A7 IV supports 3. Custom slots (0x410x44) are used with PPLUT workflows.

movie-shooting-mode

Values: Normal (0x0001), CineEI (0x0301), CineEI Quick (0x0302), Flexible ISO (0x0201). See the CineEI guide for full workflows.

pp-lut-base-look

Only writable when picture-profile is set to a Custom slot (0x410x44 = Custom 1–4). Shows PPLUT 1–8 as options. May appear read-only in getAllProperties — use an individual GET for accurate state.

exposure-index / base-iso

Set movie-shooting-mode to CineEI (0x0301) first. The available EI values depend on base-iso — always re-read exposure-index after changing base-iso.

base-look-value

Requires CineEI mode (movie-shooting-mode = 0x0301). The first request may take ~3 seconds as the server fetches display strings from the camera. Returns real LUT names (e.g. “User5:February.cube”) when available; falls back to “Preset 1”, “User 5”, etc.

shooting-enable

Setting to Disabled (0x2) blocks all shutter operations via the SDK. License-gated — see Guardrails.

image-id-string

  • Stored as UTF-16BE in the SDK, decoded to UTF-8 in the API response
  • Maximum length from image-id-string-max-length (default 64, up to 128 chars)
  • Setting an empty string "" clears the Exif tag from subsequent images
  • With a license enabled, supports alphanumeric + symbols: . - _ ' @ ! ? # $ % & * + / = ^ { | } ~ ( ) : ; < > [ \ ] space
The string is embedded in the next image after setting. If you shoot immediately after setting, it may not be recorded — wait for the property change confirmation via SSE propertyChanged event.

image-id-num / image-id-num-setting

Enable numeric ID writing first (image-id-num-setting = 0x2), then set image-id-num (UInt64 range, decimal strings only — no hex).
image-id-num-setting resets to Off when the camera is powered off or PC Remote is disconnected. You must re-enable it each session.

camera-setting-save-enable / camera-setting-read-enable / camera-setting-save-read-state

The camera’s own gates on Save & Recall Settings. Read all three before calling settings download or upload — a 400 from either endpoint almost always means one of these is 0 rather than that the request was bad.
The camera will not enable either flag without recording media present, and on a two-slot body the card must be in slot 1. An ILCE-7M4 with a card only in slot 2 reports camera-setting-save-enable: 0.
For typed property getters and setters, use the SDK pages: TypeScript, Python, or Swift.