NDI configuration controls how this Callaba instance participates in your NDI environment. Use it to set the engine name, choose the network interfaces used for NDI, and point the engine to one or more discovery servers.
In production, this page matters when the engine must appear under the correct identity, discover devices across the correct subnets, or follow a facility-wide discovery plan. If expected NDI peers are missing, duplicated, or appearing under inconsistent names, start here.
Use the minimal preset to place one engine on the correct interfaces with a single discovery server. Use the multi-discovery preset when the site relies on more than one discovery endpoint.
{
"machinename": "CALLABA CLOUD STUDIO",
"ips": "192.168.10.41, 192.168.10.52",
"discovery": "192.168.10.20:5959",
"json": {
"ndi": {
"machinename": "CALLABA CLOUD STUDIO",
"networks": {
"discovery": "192.168.10.20:5959",
"ips": "192.168.10.41, 192.168.10.52"
}
}
}
}
{
"machinename": "CALLABA CLOUD STUDIO",
"ips": "192.168.10.41, 192.168.10.52",
"discovery": "192.168.10.20:5959, 192.168.10.21:5959",
"json": {
"ndi": {
"machinename": "CALLABA CLOUD STUDIO",
"networks": {
"discovery": "192.168.10.20:5959, 192.168.10.21:5959",
"ips": "192.168.10.41, 192.168.10.52"
}
}
}
}
Set the machine name, list the production NICs, and point the engine at the site discovery server. This is the standard setup for hosts with multiple interfaces or separate management and media networks.
Apply a stable machine name that matches your room, rack, or service naming standard. This reduces confusion when several engines are visible on the same network.
When testing or manual edits break visibility, restore a known-good baseline for interfaces and discovery servers before making further changes.
Use Update NDI configuration to apply app-level NDI settings such as machine naming, discovery servers, explicit network IPs, or a full imported JSON configuration.
This endpoint matters because one save can change how the whole instance behaves in the NDI environment, rather than only changing one item in a list.
Use it when the goal is straightforward and production-facing: make NDI discovery behave the right way for this instance and keep that behavior consistent after the save.
Use this when the visible form fields are enough and you want the JSON editor to stay in sync with those values.
This mirrors the normal UI path where form changes and JSON changes stay aligned before save.
curl --request POST \--url http://localhost/api/devices/updateNDIConfiguration \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"machinename": "CALLABA CLOUD STUDIO","ips": "192.168.10.41, 192.168.10.52","discovery": "192.168.10.20:5959","json": {"ndi": {"machinename": "CALLABA CLOUD STUDIO","networks": {"discovery": "192.168.10.20:5959","ips": "192.168.10.41, 192.168.10.52"}}}}'
This matches the live-editor and import flow in the UI.
curl --request POST \--url http://localhost/api/devices/updateNDIConfiguration \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"machinename": "CALLABA CLOUD STUDIO","ips": "192.168.10.41, 192.168.10.52","discovery": "192.168.10.20:5959, 192.168.10.21:5959","json": {"ndi": {"machinename": "CALLABA CLOUD STUDIO","networks": {"discovery": "192.168.10.20:5959, 192.168.10.21:5959","ips": "192.168.10.41, 192.168.10.52"}}}}'
Dashboard label: Machine name.
Optional override for the machine name announced through the NDI network behavior.
Dashboard label: Discovery.
Comma-separated discovery-server list. The UI tooltip explicitly allows port numbers as part of the values.
Dashboard label: Networks ips.
Comma-separated list of explicit source IPs for cross-subnet discovery scenarios.
The live JSON editor model. The UI keeps this object synchronized with the visible form fields and imported config files.
curl --request POST \--url http://localhost/api/devices/updateNDIConfiguration \--header 'x-access-token: <your_api_token>' \--header 'Content-Type: application/json' \--data '{"machinename": "CALLABA CLOUD STUDIO","ips": "192.168.10.41, 192.168.10.52","discovery": "192.168.10.20:5959","json": {"ndi": {"machinename": "CALLABA CLOUD STUDIO","networks": {"discovery": "192.168.10.20:5959","ips": "192.168.10.41, 192.168.10.52"}}}}'
The backend returns { success: true } after validating, writing, and applying the updated NDI configuration.
The backend writes the compiled config, stores ndi_settings on the app object, and triggers the ingress/apply path used by the engine to pick up the new NDI behavior.
{"success": true}