Skip to main content

Data Types

Reference for the key data types used across the WebSocket API.

LocalizedText

Text that supports multiple locales:

{
"raw": "Rainbow",
"byLocale": {
"zh-CN": "彩虹",
"en-US": "Rainbow"
}
}

The raw field is used as a fallback when no matching locale is found.


EffectParamInfo

Describes a configurable parameter exposed by an effect. The type field determines the UI control. Parameters can also include an optional group field for UI grouping.

Slider

{
"type": "slider",
"key": "speed",
"label": {"raw": "Speed", "byLocale": {"zh-CN": "速度"}},
"min": 0.0,
"max": 5.0,
"step": 0.1,
"default": 2.5,
"group": {"raw": "Animation", "byLocale": {"zh-CN": "动画"}},
"dependency": null
}

RangeSlider

{
"type": "range_slider",
"key": "frequency_range",
"label": {"raw": "Frequency Range", "byLocale": {"zh-CN": "频率范围"}},
"min": 20.0,
"max": 20000.0,
"step": 1.0,
"default": [100.0, 8000.0]
}

Select

{
"type": "select",
"key": "preset",
"label": {"raw": "Preset", "byLocale": {"zh-CN": "预设"}},
"default": 0,
"options": [
{"label": {"raw": "Custom", "byLocale": {"zh-CN": "自定义"}}, "value": 0},
{"label": {"raw": "Rainbow", "byLocale": {"zh-CN": "彩虹"}}, "value": 1},
{"label": {"raw": "Sunset", "byLocale": {"zh-CN": "日落"}}, "value": 2}
]
}

Toggle

{
"type": "toggle",
"key": "reverse",
"label": {"raw": "Reverse Direction", "byLocale": {"zh-CN": "反向方向"}},
"default": false
}

Color

{
"type": "color",
"key": "baseColor",
"label": {"raw": "Base Color", "byLocale": {"zh-CN": "基础颜色"}},
"default": "#FF0000"
}

MultiColor

{
"type": "multi_color",
"key": "colors",
"label": {"raw": "Color Palette", "byLocale": {"zh-CN": "调色板"}},
"default": ["#FF0000", "#00FF00", "#0000FF"],
"fixedCount": null,
"minCount": 2,
"maxCount": 16
}

ParamDependency

Controls parameter visibility or enabled state based on another parameter's value.

{
"key": "preset",
"equals": 0,
"behavior": "hide"
}
FieldTypeDescription
keystringKey of the parameter to depend on
equalsany?Show/enable only when the dependency equals this value
not_equalsany?Show/enable only when the dependency does NOT equal this value
behaviorstring"hide" (remove from UI) or "disable" (show but grayed out)

ScreenRegion

Specifies the capture area for screen-based effects.

type ScreenRegion =
| "Full"
| "Top"
| "Bottom"
| "Left"
| "Right"
| { Custom: { x: number; y: number; width: number; height: number } };

EffectInfo

Complete effect metadata returned by get_effects:

{
"id": "rainbow",
"name": {"raw": "Rainbow", "byLocale": {"zh-CN": "彩虹"}},
"description": {"raw": "Flowing rainbow animation"},
"icon": "Waves",
"group": {"raw": "Animation", "byLocale": {"zh-CN": "动画"}},
"permissions": ["log"],
"params": [ ... ]
}

PluginsResponse

Returned by get_plugins:

{
"effects": [EffectPluginInfo, ...],
"controllers": [ControllerPluginInfo, ...],
"extensions": [ExtensionPluginInfo, ...]
}

Each plugin info contains:

{
"id": "plugin_id",
"name": {"raw": "Display Name"},
"enabled": true,
"version": "1.0.0",
"publisher": "Author",
"description": "Description",
"language": "native-c",
"abi": "skydimo-effect-c-v3",
"repository": "https://github.com/...",
"license": "MIT",
"pluginDir": "...",
"dataDir": "...",
"bundled": false,
"installSource": "import-dev",
"reimportsOnRefresh": false
}

language is the runtime language ("lua" or "native-c" for currently supported runtimes). abi is present for native-c plugins.


SystemInfo

Version

The extended format below is available since 3.0.0-dev.2.

Returned by get_system_info. Contains complete hardware and OS details.

OsInfo

FieldTypeDescription
platformstringOS name ("Windows", "macOS", "linux")
versionstringOS version or product name
buildstringOS build number
archstringCPU architecture ("x86_64", "aarch64", etc.)
hostnamestringMachine hostname

MotherboardInfo

FieldTypeDescription
manufacturerstringBoard manufacturer
modelstringBoard model name
productstringBoard product name
serialNumberstringBoard serial number

BiosInfo

FieldTypeDescription
vendorstringBIOS vendor
versionstringBIOS version
datestringBIOS release date

CpuInfo

FieldTypeDescription
namestringProcessor model name
manufacturerstringCPU manufacturer
coresnumberPhysical core count
threadsnumberLogical thread count
baseClockMhznumberBase clock speed in MHz
architecturestringCPU architecture

GpuInfo

gpu is an array of GPU objects.

FieldTypeDescription
namestringGPU model name
manufacturerstringGPU manufacturer
driverVersionstringDriver version string
vramMbnumberVideo RAM in MB

RamInfo

FieldTypeDescription
totalMemoryMbnumberTotal physical memory in MB
modulesRamModuleInfo[]Per-DIMM module details

RamModuleInfo

FieldTypeDescription
manufacturerstringModule manufacturer
partNumberstringModule part number
capacityMbnumberModule capacity in MB
speedMhznumberModule speed in MHz
formFactorstringForm factor ("DIMM", "SO-DIMM", etc.)

Full Example

{
"os": {
"platform": "Windows",
"version": "Microsoft Windows 11 Pro",
"build": "22631",
"arch": "x86_64",
"hostname": "MY-PC"
},
"motherboard": {
"manufacturer": "ASUSTeK COMPUTER INC.",
"model": "ROG STRIX B550-F GAMING",
"product": "ROG STRIX B550-F GAMING",
"serialNumber": "ABC123456"
},
"bios": {
"vendor": "American Megatrends Inc.",
"version": "2803",
"date": "12/01/2023"
},
"cpu": {
"name": "AMD Ryzen 9 5900X 12-Core Processor",
"manufacturer": "AMD",
"cores": 12,
"threads": 24,
"baseClockMhz": 3700,
"architecture": "x64"
},
"gpu": [
{
"name": "NVIDIA GeForce RTX 3080",
"manufacturer": "NVIDIA",
"driverVersion": "537.58",
"vramMb": 10240
}
],
"ram": {
"totalMemoryMb": 32768,
"modules": [
{
"manufacturer": "G Skill Intl",
"partNumber": "F4-3600C16-16GVKC",
"capacityMb": 16384,
"speedMhz": 3600,
"formFactor": "DIMM"
}
]
}
}