> ## Documentation Index
> Fetch the complete documentation index at: https://crsdk.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Properties

> Read and write camera properties — exposure, video, media, creative controls, and more

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](/web-api/overview) 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.

<CodeGroup>
  ```bash curl theme={null}
  curl http://localhost:8080/api/cameras/D10F60149B0C/properties/shutter-speed
  ```

  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "property": "shutter-speed",
      "value": "0x1007d",
      "formatted": "1/125",
      "writable": "true",
      "available_values": [
        { "value": "0x11f40", "formatted": "1/8000" },
        { "value": "0x10fa0", "formatted": "1/4000" },
        { "value": "0x107d0", "formatted": "1/2000" },
        { "value": "0x103e8", "formatted": "1/1000" },
        { "value": "0x101f4", "formatted": "1/500" },
        { "value": "0x100fa", "formatted": "1/250" },
        { "value": "0x1007d", "formatted": "1/125" }
      ]
    }
  }
  ```
</CodeGroup>

***

## Set Property

`PUT /api/cameras/{cameraId}/properties/{propertyName}` — set a camera property. Accepts hex values from `available_values` or human-readable strings.

| Format         | Example     | Description                                              |
| -------------- | ----------- | -------------------------------------------------------- |
| Hex            | `"0x1007d"` | Copy from GET response `available_values` — always works |
| Human-readable | `"1/125"`   | For shutter speed                                        |
| F-stop         | `"f/5.6"`   | For aperture                                             |
| Decimal        | `"400"`     | For ISO                                                  |
| String enum    | `"wide"`    | For focus area, drive mode, etc.                         |

<Tip>
  The safest approach: GET the property first, pick a `value` from `available_values`, and send it back in your PUT.
</Tip>

<CodeGroup>
  ```bash curl (Hex) theme={null}
  curl -X PUT http://localhost:8080/api/cameras/D10F60149B0C/properties/shutter-speed \
    -H "Content-Type: application/json" \
    -d '{"value": "0x100fa"}'
  ```

  ```bash curl (Human-Readable) theme={null}
  curl -X PUT http://localhost:8080/api/cameras/D10F60149B0C/properties/shutter-speed \
    -H "Content-Type: application/json" \
    -d '{"value": "1/250"}'
  ```
</CodeGroup>

<Warning>
  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.
</Warning>

***

## Get All Properties

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

<CodeGroup>
  ```bash curl theme={null}
  curl http://localhost:8080/api/cameras/D10F60149B0C/properties/all
  ```
</CodeGroup>

***

## Priority Key

<Warning>
  Priority key **must** be set to `pc-remote` before the camera accepts any property changes or shooting commands.
</Warning>

* `GET /api/cameras/{cameraId}/priority-key` — read current setting
* `PUT /api/cameras/{cameraId}/priority-key` — set `pc-remote` or `camera-position`

<CodeGroup>
  ```bash curl theme={null}
  curl -X PUT http://localhost:8080/api/cameras/D10F60149B0C/priority-key \
    -H "Content-Type: application/json" \
    -d '{"setting": "pc-remote"}'
  ```
</CodeGroup>

***

## 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.

<Tip>
  Properties marked **R/W** can be read and written. **Read-only** properties return data but reject SET requests. Some R/W properties may be read-only depending on the camera's current mode.
</Tip>

### Core Exposure

| Property                | R/W | Description                                |
| ----------------------- | --- | ------------------------------------------ |
| `iso`                   | R/W | ISO sensitivity (Auto, 125, 200, 400, ...) |
| `aperture`              | R/W | F-number (f/1.4, f/2.0, ..., f/22)         |
| `shutter-speed`         | R/W | Shutter speed (1/8000, ..., 30s, Bulb)     |
| `exposure-program-mode` | R/W | P, A, S, M, Auto, Movie modes              |
| `exposure-compensation` | R/W | Exposure bias (+/- EV steps)               |
| `exposure-step`         | R/W | EV step size (1/3 or 1/2)                  |
| `metering-mode`         | R/W | Multi, Center, Spot, Highlight, etc.       |
| `ae-lock`               | R/W | Auto-exposure lock (Off / On)              |

### Focus & Zoom

| Property                 | R/W       | Description                                    |
| ------------------------ | --------- | ---------------------------------------------- |
| `focus-mode`             | R/W       | Manual, AF-S, AF-C, AF-A, DMF                  |
| `focus-area`             | R/W       | Wide, Zone, Center, Flexible Spot, Tracking    |
| `focus-position`         | R/W       | Absolute position 0-65535                      |
| `focus-position-current` | Read-only | Actual lens position                           |
| `focus-driving-status`   | Read-only | Not Driving / Driving                          |
| `focus-distance`         | Read-only | Distance in 1/1000 meter units                 |
| `zoom-distance`          | Read-only | Focal length in 0.001mm units                  |
| `zoom-setting`           | R/W       | Optical Zoom / Clear Image Zoom / Digital Zoom |

### White Balance

| Property                   | R/W | Description                                     |
| -------------------------- | --- | ----------------------------------------------- |
| `white-balance`            | R/W | Auto, Daylight, Shade, Cloudy, etc.             |
| `white-balance-color-temp` | R/W | Color temperature in Kelvin (range: 2500-9900K) |
| `awb-lock`                 | R/W | Auto white balance lock (Off / On)              |

### Drive & Shutter

| Property                | R/W | Description                                          |
| ----------------------- | --- | ---------------------------------------------------- |
| `drive-mode`            | R/W | Single, Continuous Hi/Lo, Timer, Bracket             |
| `shutter-type`          | R/W | Auto, Mechanical, Electronic                         |
| `shutter-mode`          | R/W | Speed (shutter speed) / Angle (shutter angle)        |
| `shutter-angle`         | R/W | Shutter angle in degrees (when shutter-mode = Angle) |
| `silent-mode`           | R/W | Silent (electronic) shutter (Off / On)               |
| `flicker-less-shooting` | R/W | Anti-flicker shooting (Off / On)                     |

### Flash

| Property             | R/W | Description                           |
| -------------------- | --- | ------------------------------------- |
| `flash-mode`         | R/W | Off, Auto, Fill, Rear Sync, Slow Sync |
| `flash-compensation` | R/W | Flash exposure compensation (+/- EV)  |
| `wireless-flash`     | R/W | Wireless flash control (Off / On)     |

### Image Format

| Property                        | R/W | Description                                        |
| ------------------------------- | --- | -------------------------------------------------- |
| `file-format`                   | R/W | RAW, JPEG, RAW+JPEG, HEIF                          |
| `image-quality`                 | R/W | Fine, Standard, Extra Fine                         |
| `raw-compression`               | R/W | Uncompressed, Compressed, Lossless                 |
| `image-size`                    | R/W | L, M, S image resolution                           |
| `aspect-ratio`                  | R/W | 3:2, 16:9, 1:1, 4:3                                |
| `color-space`                   | R/W | sRGB, AdobeRGB                                     |
| `still-image-store-destination` | R/W | Host PC (`0x1`), Memory Card (`0x2`), Both (`0x3`) |

### Image Processing

| Property           | R/W | Description                                    |
| ------------------ | --- | ---------------------------------------------- |
| `dro`              | R/W | D-Range Optimizer (Off, Auto, Lv1-Lv5)         |
| `high-iso-nr`      | R/W | High ISO noise reduction (Off, Low, Normal)    |
| `long-exposure-nr` | R/W | Long exposure noise reduction (Off / On)       |
| `creative-look`    | R/W | ST, PT, NT, VV, VV2, FL, IN, SH, BW, SE        |
| `picture-profile`  | R/W | PP1-PP11, Off                                  |
| `aps-c-s35`        | R/W | APS-C / Super 35mm crop mode (Off / On / Auto) |

### Stabilization

| Property              | R/W | Description                                    |
| --------------------- | --- | ---------------------------------------------- |
| `image-stabilization` | R/W | SteadyShot for stills (Off / On)               |
| `movie-stabilization` | R/W | SteadyShot for video (Off / Standard / Active) |

### Video Recording

| Property                     | R/W       | Description                            |
| ---------------------------- | --------- | -------------------------------------- |
| `recording-state`            | Read-only | Not Recording / Recording              |
| `movie-file-format`          | R/W       | XAVC S 4K, XAVC S HD, XAVC HS 4K, etc. |
| `movie-recording-setting`    | R/W       | Resolution/bitrate combination         |
| `movie-recording-frame-rate` | R/W       | 24p, 30p, 60p, 120p, etc.              |
| `audio-recording`            | R/W       | Audio recording on/off                 |
| `audio-input-master-level`   | R/W       | Audio input level (range: 0-31)        |

### Timecode

| Property          | R/W | Description                            |
| ----------------- | --- | -------------------------------------- |
| `timecode-preset` | R/W | Timecode preset value                  |
| `timecode-format` | R/W | Drop Frame (DF) / Non-Drop Frame (NDF) |
| `timecode-run`    | R/W | Rec Run / Free Run                     |
| `timecode-make`   | R/W | Preset / Regenerate                    |

### CineEI & LUT

| Property                          | R/W       | Description                                                                 |
| --------------------------------- | --------- | --------------------------------------------------------------------------- |
| `movie-shooting-mode`             | R/W       | Normal / CineEI / CineEI Quick / Flexible ISO                               |
| `movie-shooting-mode-color-gamut` | R/W       | S-Gamut3.Cine, S-Gamut3, etc.                                               |
| `base-look-import-enable`         | Read-only | Whether base look import is available                                       |
| `embed-lut-file`                  | R/W       | Embed LUT in recording (Off / On)                                           |
| `pp-lut-base-look`                | R/W       | User base look selection for Picture Profile LUT                            |
| `exposure-index`                  | R/W       | Exposure Index in CineEI mode (e.g. 800 EI)                                 |
| `base-iso`                        | R/W       | Base ISO sensitivity (High / Low)                                           |
| `base-look-value`                 | R/W       | Active base look / LUT with real names (e.g. "s709", "User5:February.cube") |
| `shutter-angle`                   | R/W       | Shutter angle in 1/1000° units                                              |

### License & Image ID

| Property                     | R/W       | Description                                      |
| ---------------------------- | --------- | ------------------------------------------------ |
| `shooting-enable`            | R/W       | Enable/disable shutter operation (license-gated) |
| `image-id-string`            | R/W       | MakerNote string ID (Exif tag 0x2043, UTF-16)    |
| `image-id-string-max-length` | Read-only | Maximum string length the camera accepts         |
| `image-id-num`               | R/W       | MakerNote numeric ID (UInt64 range)              |
| `image-id-num-setting`       | R/W       | Enable/disable numeric ID writing (Off / On)     |

### Battery & Media

| Property                       | R/W       | Description                                  |
| ------------------------------ | --------- | -------------------------------------------- |
| `battery-remain`               | Read-only | Battery percentage (0-100%)                  |
| `overheating-state`            | Read-only | Camera thermal state                         |
| `media-slot1-status`           | Read-only | Slot 1 media status                          |
| `media-slot1-remaining-photos` | Read-only | Remaining photos on slot 1                   |
| `media-slot1-remaining-time`   | Read-only | Remaining recording time on slot 1 (seconds) |
| `media-slot2-status`           | Read-only | Slot 2 media status                          |
| `media-slot2-remaining-photos` | Read-only | Remaining photos on slot 2                   |
| `media-slot2-remaining-time`   | Read-only | Remaining recording time on slot 2 (seconds) |

***

## Notable property notes

### shutter-speed

<Warning>
  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"`.
</Warning>

### 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 (`0x41`–`0x44`) are used with [PPLUT workflows](/web-api/advanced-topics#pplut-workflow).

### movie-shooting-mode

Values: Normal (`0x0001`), CineEI (`0x0301`), CineEI Quick (`0x0302`), Flexible ISO (`0x0201`). See the [CineEI guide](/web-api/advanced-topics) for full workflows.

### pp-lut-base-look

Only writable when `picture-profile` is set to a Custom slot (`0x41`–`0x44` = 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

<Warning>
  Setting to Disabled (`0x2`) blocks all shutter operations via the SDK. License-gated — see [Guardrails](/web-api/advanced-topics).
</Warning>

### 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`

<Note>
  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.
</Note>

### 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).

<Warning>
  `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.
</Warning>

<Note>
  For typed property getters and setters, use the SDK pages: [TypeScript](/sdk/typescript), [Python](/sdk/python), or [Swift](/sdk/swift).
</Note>
