Skip to main content

GetImageConfig / SetImageConfig

Get or set image parameters (brightness, contrast, saturation, etc.).

Endpoint

FieldValue
MethodPOST or GET (Get) / POST (Set)
URL (Get)http://<host>[:port]/GetImageConfig[/channelId]
URL (Set)http://<host>[:port]/SetImageConfig[/channelId]
ProductsIPC, NVR
Channel IDOptional (default 1)

Image Parameters

FieldTypeRangeDefaultDescription
brightuint80--10050Brightness level
contrastuint80--10050Contrast level
saturationuint80--10050Color saturation
hueuint80--10050Color hue
mirrorSwitchboolean--falseHorizontal mirror
flipSwitchboolean--falseVertical flip
IRCutModeenumauto, day, night, time, alarmInLinkautoIR cut filter mode
whiteBalance.modeenumauto, indoor, outdoor, manualautoWhite balance mode
whiteBalance.reduint8/uint320--10050Red gain (manual mode)
whiteBalance.blueuint8/uint320--10050Blue gain (manual mode)
backlightCompensation.modeenumOFF, HWDR, HLC, BLCOFFBacklight compensation (v2.0)
infraredModeenumauto, on, offautoInfrared LED mode (v2.0)
smartIRV2.modeenumoff, manual, auto--Smart IR mode (dome cameras). Set to manual to control IR intensity
smartIRV2.lightLevel[].iduint32--1IR lamp-group ID
smartIRV2.lightLevel[].leveluint80--10050IR intensity level. Dependent — writable only when smartIRV2.mode = manual

Response (v2.0)

<?xml version="1.0" encoding="UTF-8"?>
<config version="2.0.0" xmlns="http://www.ipc.com/ver10">
<types>
<IRCutMode>
<enum>auto</enum>
<enum>day</enum>
<enum>night</enum>
<enum>time</enum>
<enum>alarmInLink</enum>
</IRCutMode>
<whitebalanceMode>
<enum>auto</enum>
<enum>indoor</enum>
<enum>outdoor</enum>
<enum>manual</enum>
</whitebalanceMode>
<BLCMode>
<enum>OFF</enum>
<enum>HWDR</enum>
<enum>HLC</enum>
<enum>BLC</enum>
</BLCMode>
<smartIRMode>
<enum>off</enum>
<enum>manual</enum>
<enum>auto</enum>
</smartIRMode>
</types>
<cfgFile type="configFileType" default="normal">normal</cfgFile>
<image>
<bright type="uint8" min="0" max="100" default="50">50</bright>
<saturation type="uint8" min="0" max="100" default="50">50</saturation>
<contrast type="uint8" min="0" max="100" default="50">50</contrast>
<hue type="uint8" min="0" max="100" default="50">50</hue>
<mirrorSwitch type="boolean" default="false">false</mirrorSwitch>
<flipSwitch type="boolean" default="false">true</flipSwitch>
<IRCutMode type="IRCutMode" default="auto">auto</IRCutMode>
<whiteBalance>
<mode type="whitebalanceMode" default="auto">auto</mode>
<red min="0" max="100" default="50">50</red>
<blue min="0" max="100" default="50">50</blue>
</whiteBalance>
<backlightCompensation>
<mode type="BLCMode" default="OFF">OFF</mode>
</backlightCompensation>
<smartIRV2>
<mode type="smartIRMode">manual</mode>
<lightLevel type="list" maxCount="1" count="1">
<item>
<id type="uint32">1</id>
<level type="uint8" min="0" max="100" default="50">50</level>
</item>
</lightLevel>
</smartIRV2>
<infraredMode type="infraredModeE" default="auto">auto</infraredMode>
</image>
</config>
Smart IR — manual IR intensity control

On cameras with controllable infrared LEDs (typically dome models), IR brightness is set through the smartIRV2 block:

  • Set smartIRV2.mode to manual to take manual control (auto lets the camera adjust intensity automatically; off disables Smart IR).
  • Then set smartIRV2.lightLevel.item.level (0–100) — this is the IR intensity value. It is only honored when mode is manual.
  • id identifies the IR lamp group; cameras with a single IR array use id 1.

Set example (manual IR at 80%):

<?xml version="1.0" encoding="UTF-8"?>
<config version="2.0.0" xmlns="http://www.ipc.com/ver10">
<image>
<smartIRV2>
<mode>manual</mode>
<lightLevel type="list" maxCount="1" count="1">
<item>
<id>1</id>
<level>80</level>
</item>
</lightLevel>
</smartIRV2>
</image>
</config>

If GetImageConfig does not return a smartIRV2 (or smartIR) block, the camera's current firmware or hardware does not expose controllable Smart IR, and SetImageConfig writes to those fields are silently ignored. Confirm the model supports it (check supportInfraredLamp in GetDeviceDetail) and that the camera is on current firmware — smartIRV2 was introduced in a later firmware revision than the base v2.0 image config.

Legacy firmware exposes a simpler single-lamp form instead:

<smartIR>
<mode type="smartIRMode">manual</mode>
<level type="uint8" min="0" max="100" default="50">50</level>
</smartIR>

Response (v1.9)

<?xml version="1.0" encoding="UTF-8"?>
<config version="1.0" xmlns="http://www.ipc.com/ver10">
<types>
<frequency>
<enum>60HZ</enum>
<enum>50HZ</enum>
</frequency>
<whitebalanceMode>
<enum>auto</enum>
<enum>manual</enum>
<enum>outdoor</enum>
<enum>indoor</enum>
</whitebalanceMode>
<IRCutMode>
<enum>auto</enum>
<enum>day</enum>
<enum>night</enum>
</IRCutMode>
</types>
<image>
<frequency type="frequency" default="50HZ">50HZ</frequency>
<bright type="uint8" min="0" max="100" default="50">50</bright>
<contrast type="uint8" min="0" max="100" default="55">55</contrast>
<hue type="uint8" min="0" max="100" default="50">50</hue>
<saturation type="uint8" min="0" max="100" default="50">50</saturation>
<mirrorSwitch type="boolean" default="false">false</mirrorSwitch>
<flipSwitch type="boolean" default="false">false</flipSwitch>
<WDR>
<switch type="boolean" default="false">false</switch>
<value type="uint8" default="128">128</value>
</WDR>
<whiteBalance>
<mode type="whitebalanceMode" default="auto">auto</mode>
<red type="uint32" min="0" max="100" default="50">50</red>
<blue type="uint32" min="0" max="100" default="50">50</blue>
</whiteBalance>
<IRCutMode type="IRCutMode" default="auto">auto</IRCutMode>
</image>
</config>

SetImageConfig Example

This API supports partial parameter updates -- unspecified parameters remain unchanged.

<?xml version="1.0" encoding="UTF-8"?>
<config version="2.0.0" xmlns="http://www.ipc.com/ver10">
<image>
<bright>60</bright>
</image>
</config>

Notes

  • v1.9 includes frequency (50HZ/60HZ) and WDR (wide dynamic range with switch and value) fields that are not present in v2.0.
  • v1.9 IRCutMode only supports auto, day, night. v2.0 adds time and alarmInLink modes.
v2.0 Changes

v2.0 adds sharpen, denoise, backlightCompensation (with HWDR/HLC/BLC modes), infraredMode, cfgFile (normal/day/night config files), and rebootPrompt in Set requests.