"description":"A request batch which processes all requests serially, as fast as possible.\n\nNote: To introduce artificial delay, use the `Sleep` request and the `sleepMillis` request field.",
"description":"A request batch type which processes all requests serially, in sync with the graphics thread. Designed to provide high accuracy for animations.\n\nNote: To introduce artificial delay, use the `Sleep` request and the `sleepFrames` request field.",
"description":"A request batch type which processes all requests using all available threads in the thread pool.\n\nNote: This is mainly experimental, and only really shows its colors during requests which require lots of\nactive processing, like `GetSourceScreenshot`.",
"description":"The resource does not support being configured.\n\nThis is particularly relevant to transitions, where they do not always have changeable settings.",
"description":"For internal use only to tell the request handler not to perform any close action.",
"enumIdentifier":"DontClose",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":0
},
{
"description":"Unknown reason, should never be used.",
"enumIdentifier":"UnknownReason",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4000
},
{
"description":"The server was unable to decode the incoming websocket message.",
"enumIdentifier":"MessageDecodeError",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4002
},
{
"description":"A data field is required but missing from the payload.",
"enumIdentifier":"MissingDataField",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4003
},
{
"description":"A data field's value type is invalid.",
"enumIdentifier":"InvalidDataFieldType",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4004
},
{
"description":"A data field's value is invalid.",
"enumIdentifier":"InvalidDataFieldValue",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4005
},
{
"description":"The specified `op` was invalid or missing.",
"enumIdentifier":"UnknownOpCode",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4006
},
{
"description":"The client sent a websocket message without first sending `Identify` message.",
"enumIdentifier":"NotIdentified",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4007
},
{
"description":"The client sent an `Identify` message while already identified.\n\nNote: Once a client has identified, only `Reidentify` may be used to change session parameters.",
"description":"The server detected the usage of an old version of the obs-websocket RPC protocol.",
"enumIdentifier":"UnsupportedRpcVersion",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4010
},
{
"description":"The websocket session has been invalidated by the obs-websocket server.\n\nNote: This is the code used by the `Kick` button in the UI Session List. If you receive this code, you must not automatically reconnect.",
"enumIdentifier":"SessionInvalidated",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4011
},
{
"description":"A requested feature is not supported due to hardware/software limitations.",
"enumIdentifier":"UnsupportedFeature",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":4012
}
]
},
{
"enumType":"WebSocketOpCode",
"enumIdentifiers":[
{
"description":"The initial message sent by obs-websocket to newly connected clients.",
"enumIdentifier":"Hello",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":0
},
{
"description":"The message sent by a newly connected client to obs-websocket in response to a `Hello`.",
"enumIdentifier":"Identify",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":1
},
{
"description":"The response sent by obs-websocket to a client after it has successfully identified with obs-websocket.",
"enumIdentifier":"Identified",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":2
},
{
"description":"The message sent by an already-identified client to update identification parameters.",
"enumIdentifier":"Reidentify",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":3
},
{
"description":"The message sent by obs-websocket containing an event payload.",
"enumIdentifier":"Event",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":5
},
{
"description":"The message sent by a client to obs-websocket to perform a request.",
"enumIdentifier":"Request",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":6
},
{
"description":"The message sent by obs-websocket in response to a particular request from a client.",
"enumIdentifier":"RequestResponse",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":7
},
{
"description":"The message sent by a client to obs-websocket to perform a batch of requests.",
"enumIdentifier":"RequestBatch",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":8
},
{
"description":"The message sent by obs-websocket in response to a particular batch of requests from a client.",
"enumIdentifier":"RequestBatchResponse",
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"enumValue":9
}
]
}
],
"requests":[
{
"description":"Gets the value of a \"slot\" from the selected persistent data realm.",
"requestType":"GetPersistentData",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"requestFields":[
{
"valueName":"realm",
"valueType":"String",
"valueDescription":"The data realm to select. `OBS_WEBSOCKET_DATA_REALM_GLOBAL` or `OBS_WEBSOCKET_DATA_REALM_PROFILE`",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"slotName",
"valueType":"String",
"valueDescription":"The name of the slot to retrieve data from",
"valueDescription":"Category of the parameter to set",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"parameterName",
"valueType":"String",
"valueDescription":"Name of the parameter to set",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"parameterValue",
"valueType":"String",
"valueDescription":"Value of the parameter to set. Use `null` to delete",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Gets the current video settings.\n\nNote: To get the true FPS value, divide the FPS numerator by the FPS denominator. Example: `60000/1001`",
"requestType":"GetVideoSettings",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"requestFields":[],
"responseFields":[
{
"valueName":"fpsNumerator",
"valueType":"Number",
"valueDescription":"Numerator of the fractional FPS value"
},
{
"valueName":"fpsDenominator",
"valueType":"Number",
"valueDescription":"Denominator of the fractional FPS value"
},
{
"valueName":"baseWidth",
"valueType":"Number",
"valueDescription":"Width of the base (canvas) resolution in pixels"
},
{
"valueName":"baseHeight",
"valueType":"Number",
"valueDescription":"Height of the base (canvas) resolution in pixels"
},
{
"valueName":"outputWidth",
"valueType":"Number",
"valueDescription":"Width of the output resolution in pixels"
},
{
"valueName":"outputHeight",
"valueType":"Number",
"valueDescription":"Height of the output resolution in pixels"
}
]
},
{
"description":"Sets the current video settings.\n\nNote: Fields must be specified in pairs. For example, you cannot set only `baseWidth` without needing to specify `baseHeight`.",
"requestType":"SetVideoSettings",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"requestFields":[
{
"valueName":"fpsNumerator",
"valueType":"Number",
"valueDescription":"Numerator of the fractional FPS value",
"valueRestrictions":">= 1",
"valueOptional":true,
"valueOptionalBehavior":"Not changed"
},
{
"valueName":"fpsDenominator",
"valueType":"Number",
"valueDescription":"Denominator of the fractional FPS value",
"valueRestrictions":">= 1",
"valueOptional":true,
"valueOptionalBehavior":"Not changed"
},
{
"valueName":"baseWidth",
"valueType":"Number",
"valueDescription":"Width of the base (canvas) resolution in pixels",
"valueRestrictions":">= 1, <= 4096",
"valueOptional":true,
"valueOptionalBehavior":"Not changed"
},
{
"valueName":"baseHeight",
"valueType":"Number",
"valueDescription":"Height of the base (canvas) resolution in pixels",
"valueRestrictions":">= 1, <= 4096",
"valueOptional":true,
"valueOptionalBehavior":"Not changed"
},
{
"valueName":"outputWidth",
"valueType":"Number",
"valueDescription":"Width of the output resolution in pixels",
"valueRestrictions":">= 1, <= 4096",
"valueOptional":true,
"valueOptionalBehavior":"Not changed"
},
{
"valueName":"outputHeight",
"valueType":"Number",
"valueDescription":"Height of the output resolution in pixels",
"valueRestrictions":">= 1, <= 4096",
"valueOptional":true,
"valueOptionalBehavior":"Not changed"
}
],
"responseFields":[]
},
{
"description":"Gets the current stream service settings (stream destination).",
"requestType":"GetStreamServiceSettings",
"complexity":4,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"requestFields":[],
"responseFields":[
{
"valueName":"streamServiceType",
"valueType":"String",
"valueDescription":"Stream service type, like `rtmp_custom` or `rtmp_common`"
},
{
"valueName":"streamServiceSettings",
"valueType":"Object",
"valueDescription":"Stream service settings"
}
]
},
{
"description":"Sets the current stream service settings (stream destination).\n\nNote: Simple RTMP settings can be set with type `rtmp_custom` and the settings fields `server` and `key`.",
"requestType":"SetStreamServiceSettings",
"complexity":4,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"requestFields":[
{
"valueName":"streamServiceType",
"valueType":"String",
"valueDescription":"Type of stream service to apply. Example: `rtmp_common` or `rtmp_custom`",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"streamServiceSettings",
"valueType":"Object",
"valueDescription":"Settings to apply to the service",
"description":"Call a request registered to a vendor.\n\nA vendor is a unique name registered by a third-party plugin or script, which allows for custom requests and events to be added to obs-websocket.\nIf a plugin or script implements vendor requests or events, documentation is expected to be provided with them.",
"description":"Creates a new input, adding it as a scene item to the specified scene.",
"requestType":"CreateInput",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene to add the input to as a scene item",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the new input to created",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"inputKind",
"valueType":"String",
"valueDescription":"The kind of input to be created",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"inputSettings",
"valueType":"Object",
"valueDescription":"Settings object to initialize the input with",
"valueRestrictions":null,
"valueOptional":true,
"valueOptionalBehavior":"Default settings used"
},
{
"valueName":"sceneItemEnabled",
"valueType":"Boolean",
"valueDescription":"Whether to set the created scene item to enabled or disabled",
"valueRestrictions":null,
"valueOptional":true,
"valueOptionalBehavior":"True"
}
],
"responseFields":[
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"ID of the newly created scene item"
}
]
},
{
"description":"Removes an existing input.\n\nNote: Will immediately remove all associated scene items.",
"requestType":"RemoveInput",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input to remove",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Sets the name of an input (rename).",
"requestType":"SetInputName",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Current input name",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"newInputName",
"valueType":"String",
"valueDescription":"New name for the input",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Gets the default settings for an input kind.",
"requestType":"GetInputDefaultSettings",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputKind",
"valueType":"String",
"valueDescription":"Input kind to get the default settings for",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"defaultInputSettings",
"valueType":"Object",
"valueDescription":"Object of default settings for the input kind"
}
]
},
{
"description":"Gets the settings of an input.\n\nNote: Does not include defaults. To create the entire settings object, overlay `inputSettings` over the `defaultInputSettings` provided by `GetInputDefaultSettings`.",
"requestType":"GetInputSettings",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input to get the settings of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"inputSettings",
"valueType":"Object",
"valueDescription":"Object of settings for the input"
},
{
"valueName":"inputKind",
"valueType":"String",
"valueDescription":"The kind of the input"
}
]
},
{
"description":"Sets the settings of an input.",
"requestType":"SetInputSettings",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input to set the settings of",
"description":"Gets the audio sync offset of an input.\n\nNote: The audio sync offset can be negative too!",
"requestType":"GetInputAudioSyncOffset",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input to get the audio sync offset of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"inputAudioSyncOffset",
"valueType":"Number",
"valueDescription":"Audio sync offset in milliseconds"
}
]
},
{
"description":"Sets the audio sync offset of an input.",
"requestType":"SetInputAudioSyncOffset",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input to set the audio sync offset of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"inputAudioSyncOffset",
"valueType":"Number",
"valueDescription":"New audio sync offset in milliseconds",
"valueRestrictions":">= -950, <= 20000",
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Gets the audio monitor type of an input.\n\nThe available audio monitor types are:\n- `OBS_MONITORING_TYPE_NONE`\n- `OBS_MONITORING_TYPE_MONITOR_ONLY`\n- `OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT`",
"requestType":"GetInputAudioMonitorType",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input to get the audio monitor type of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"monitorType",
"valueType":"String",
"valueDescription":"Audio monitor type"
}
]
},
{
"description":"Sets the audio monitor type of an input.",
"requestType":"SetInputAudioMonitorType",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input to set the audio monitor type of",
"description":"Gets the items of a list property from an input's properties.\n\nNote: Use this in cases where an input provides a dynamic, selectable list of items. For example, display capture, where it provides a list of available displays.",
"valueDescription":"Name of the list property to get the items of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"propertyItems",
"valueType":"Array<Object>",
"valueDescription":"Array of items in the list property"
}
]
},
{
"description":"Presses a button in the properties of an input.\n\nNote: Use this in cases where there is a button in the properties of an input that cannot be accessed in any other way. For example, browser sources, where there is a refresh button.",
"requestType":"PressInputPropertiesButton",
"complexity":4,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"propertyName",
"valueType":"String",
"valueDescription":"Name of the button property to press",
"description":"Gets the status of a media input.\n\nMedia States:\n- `OBS_MEDIA_STATE_NONE`\n- `OBS_MEDIA_STATE_PLAYING`\n- `OBS_MEDIA_STATE_OPENING`\n- `OBS_MEDIA_STATE_BUFFERING`\n- `OBS_MEDIA_STATE_PAUSED`\n- `OBS_MEDIA_STATE_STOPPED`\n- `OBS_MEDIA_STATE_ENDED`\n- `OBS_MEDIA_STATE_ERROR`",
"requestType":"GetMediaInputStatus",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"media inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the media input",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"mediaState",
"valueType":"String",
"valueDescription":"State of the media input"
},
{
"valueName":"mediaDuration",
"valueType":"Number",
"valueDescription":"Total duration of the playing media in milliseconds. `null` if not playing"
},
{
"valueName":"mediaCursor",
"valueType":"Number",
"valueDescription":"Position of the cursor in milliseconds. `null` if not playing"
}
]
},
{
"description":"Sets the cursor position of a media input.\n\nThis request does not perform bounds checking of the cursor position.",
"requestType":"SetMediaInputCursor",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"media inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the media input",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"mediaCursor",
"valueType":"Number",
"valueDescription":"New cursor position to set",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Offsets the current cursor position of a media input by the specified value.\n\nThis request does not perform bounds checking of the cursor position.",
"requestType":"OffsetMediaInputCursor",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"media inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the media input",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"mediaCursorOffset",
"valueType":"Number",
"valueDescription":"Value to offset the current cursor position by",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Triggers an action on a media input.",
"requestType":"TriggerMediaInputAction",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"media inputs",
"requestFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the media input",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"mediaAction",
"valueType":"String",
"valueDescription":"Identifier of the `ObsMediaInputAction` enum",
"description":"Gets a list of all scene items in a scene.\n\nScenes only",
"requestType":"GetSceneItemList",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene to get the items of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"sceneItems",
"valueType":"Array<Object>",
"valueDescription":"Array of scene items in the scene"
}
]
},
{
"description":"Basically GetSceneItemList, but for groups.\n\nUsing groups at all in OBS is discouraged, as they are very broken under the hood.\n\nGroups only",
"requestType":"GetGroupItemList",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the group to get the items of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"sceneItems",
"valueType":"Array<Object>",
"valueDescription":"Array of scene items in the group"
}
]
},
{
"description":"Searches a scene for a source, and returns its id.\n\nScenes and Groups",
"requestType":"GetSceneItemId",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene or group to search in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sourceName",
"valueType":"String",
"valueDescription":"Name of the source to find",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item"
}
]
},
{
"description":"Creates a new scene item using a source.\n\nScenes only",
"requestType":"CreateSceneItem",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene to create the new item in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sourceName",
"valueType":"String",
"valueDescription":"Name of the source to add to the scene",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemEnabled",
"valueType":"Boolean",
"valueDescription":"Enable state to apply to the scene item on creation",
"valueRestrictions":null,
"valueOptional":true,
"valueOptionalBehavior":"True"
}
],
"responseFields":[
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item"
}
]
},
{
"description":"Removes a scene item from a scene.\n\nScenes only",
"requestType":"RemoveSceneItem",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Duplicates a scene item, copying all transform and crop info.\n\nScenes only",
"requestType":"DuplicateSceneItem",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"destinationSceneName",
"valueType":"String",
"valueDescription":"Name of the scene to create the duplicated item in",
"valueRestrictions":null,
"valueOptional":true,
"valueOptionalBehavior":"`sceneName` is assumed"
}
],
"responseFields":[
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the duplicated scene item"
}
]
},
{
"description":"Gets the transform and crop info of a scene item.\n\nScenes and Groups",
"requestType":"GetSceneItemTransform",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"sceneItemTransform",
"valueType":"Object",
"valueDescription":"Object containing scene item transform info"
}
]
},
{
"description":"Sets the transform and crop info of a scene item.",
"requestType":"SetSceneItemTransform",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemTransform",
"valueType":"Object",
"valueDescription":"Object containing scene item transform info to update",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Gets the enable state of a scene item.\n\nScenes and Groups",
"requestType":"GetSceneItemEnabled",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"sceneItemEnabled",
"valueType":"Boolean",
"valueDescription":"Whether the scene item is enabled. `true` for enabled, `false` for disabled"
}
]
},
{
"description":"Sets the enable state of a scene item.\n\nScenes and Groups",
"requestType":"SetSceneItemEnabled",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemEnabled",
"valueType":"Boolean",
"valueDescription":"New enable state of the scene item",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Gets the lock state of a scene item.\n\nScenes and Groups",
"requestType":"GetSceneItemLocked",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"sceneItemLocked",
"valueType":"Boolean",
"valueDescription":"Whether the scene item is locked. `true` for locked, `false` for unlocked"
}
]
},
{
"description":"Sets the lock state of a scene item.\n\nScenes and Group",
"requestType":"SetSceneItemLocked",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemLocked",
"valueType":"Boolean",
"valueDescription":"New lock state of the scene item",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Gets the index position of a scene item in a scene.\n\nAn index of 0 is at the bottom of the source list in the UI.\n\nScenes and Groups",
"requestType":"GetSceneItemIndex",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"sceneItemIndex",
"valueType":"Number",
"valueDescription":"Index position of the scene item"
}
]
},
{
"description":"Sets the index position of a scene item in a scene.\n\nScenes and Groups",
"requestType":"SetSceneItemIndex",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemIndex",
"valueType":"Number",
"valueDescription":"New index position of the scene item",
"description":"Gets the blend mode of a scene item.\n\nBlend modes:\n\n- `OBS_BLEND_NORMAL`\n- `OBS_BLEND_ADDITIVE`\n- `OBS_BLEND_SUBTRACT`\n- `OBS_BLEND_SCREEN`\n- `OBS_BLEND_MULTIPLY`\n- `OBS_BLEND_LIGHTEN`\n- `OBS_BLEND_DARKEN`\n\nScenes and Groups",
"requestType":"GetSceneItemBlendMode",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"valueRestrictions":">= 0",
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"sceneItemBlendMode",
"valueType":"String",
"valueDescription":"Current blend mode"
}
]
},
{
"description":"Sets the blend mode of a scene item.\n\nScenes and Groups",
"requestType":"SetSceneItemBlendMode",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"requestFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item",
"description":"Gets an array of all groups in OBS.\n\nGroups in OBS are actually scenes, but renamed and modified. In obs-websocket, we treat them as scenes where we can.",
"valueDescription":"Name of the scene to be renamed",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"newSceneName",
"valueType":"String",
"valueDescription":"New name for the scene",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Gets the active and show state of a source.\n\n**Compatible with inputs and scenes.**",
"requestType":"GetSourceActive",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"sources",
"requestFields":[
{
"valueName":"sourceName",
"valueType":"String",
"valueDescription":"Name of the source to get the active state of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[
{
"valueName":"videoActive",
"valueType":"Boolean",
"valueDescription":"Whether the source is showing in Program"
},
{
"valueName":"videoShowing",
"valueType":"Boolean",
"valueDescription":"Whether the source is showing in the UI (Preview, Projector, Properties)"
}
]
},
{
"description":"Gets a Base64-encoded screenshot of a source.\n\nThe `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.\nIf `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.\n\n**Compatible with inputs and scenes.**",
"requestType":"GetSourceScreenshot",
"complexity":4,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"sources",
"requestFields":[
{
"valueName":"sourceName",
"valueType":"String",
"valueDescription":"Name of the source to take a screenshot of",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"imageFormat",
"valueType":"String",
"valueDescription":"Image compression format to use. Use `GetVersion` to get compatible image formats",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
},
{
"valueName":"imageWidth",
"valueType":"Number",
"valueDescription":"Width to scale the screenshot to",
"valueRestrictions":">= 8, <= 4096",
"valueOptional":true,
"valueOptionalBehavior":"Source value is used"
},
{
"valueName":"imageHeight",
"valueType":"Number",
"valueDescription":"Height to scale the screenshot to",
"valueRestrictions":">= 8, <= 4096",
"valueOptional":true,
"valueOptionalBehavior":"Source value is used"
},
{
"valueName":"imageCompressionQuality",
"valueType":"Number",
"valueDescription":"Compression quality to use. 0 for high compression, 100 for uncompressed. -1 to use \"default\" (whatever that means, idk)",
"valueRestrictions":">= -1, <= 100",
"valueOptional":true,
"valueOptionalBehavior":"-1"
}
],
"responseFields":[
{
"valueName":"imageData",
"valueType":"String",
"valueDescription":"Base64-encoded screenshot"
}
]
},
{
"description":"Saves a screenshot of a source to the filesystem.\n\nThe `imageWidth` and `imageHeight` parameters are treated as \"scale to inner\", meaning the smallest ratio will be used and the aspect ratio of the original resolution is kept.\nIf `imageWidth` and `imageHeight` are not specified, the compressed image will use the full resolution of the source.\n\n**Compatible with inputs and scenes.**",
"description":"Gets information about the current scene transition.",
"requestType":"GetCurrentSceneTransition",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"transitions",
"requestFields":[],
"responseFields":[
{
"valueName":"transitionName",
"valueType":"String",
"valueDescription":"Name of the transition"
},
{
"valueName":"transitionKind",
"valueType":"String",
"valueDescription":"Kind of the transition"
},
{
"valueName":"transitionFixed",
"valueType":"Boolean",
"valueDescription":"Whether the transition uses a fixed (unconfigurable) duration"
},
{
"valueName":"transitionDuration",
"valueType":"Number",
"valueDescription":"Configured transition duration in milliseconds. `null` if transition is fixed"
},
{
"valueName":"transitionConfigurable",
"valueType":"Boolean",
"valueDescription":"Whether the transition supports being configured"
},
{
"valueName":"transitionSettings",
"valueType":"Object",
"valueDescription":"Object of settings for the transition. `null` if transition is not configurable"
}
]
},
{
"description":"Sets the current scene transition.\n\nSmall note: While the namespace of scene transitions is generally unique, that uniqueness is not a guarantee as it is with other resources like inputs.",
"requestType":"SetCurrentSceneTransition",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"transitions",
"requestFields":[
{
"valueName":"transitionName",
"valueType":"String",
"valueDescription":"Name of the transition to make active",
"valueRestrictions":null,
"valueOptional":false,
"valueOptionalBehavior":null
}
],
"responseFields":[]
},
{
"description":"Sets the duration of the current scene transition, if it is not fixed.",
"description":"The current scene collection has begun changing.\n\nNote: We recommend using this event to trigger a pause of all polling requests, as performing any requests during a\nscene collection change is considered undefined behavior and can cause crashes!",
"eventType":"CurrentSceneCollectionChanging",
"eventSubscription":"Config",
"complexity":1,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"dataFields":[
{
"valueName":"sceneCollectionName",
"valueType":"String",
"valueDescription":"Name of the current scene collection"
}
]
},
{
"description":"The current scene collection has changed.\n\nNote: If polling has been paused during `CurrentSceneCollectionChanging`, this is the que to restart polling.",
"eventType":"CurrentSceneCollectionChanged",
"eventSubscription":"Config",
"complexity":1,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"dataFields":[
{
"valueName":"sceneCollectionName",
"valueType":"String",
"valueDescription":"Name of the new scene collection"
}
]
},
{
"description":"The scene collection list has changed.",
"eventType":"SceneCollectionListChanged",
"eventSubscription":"Config",
"complexity":1,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"dataFields":[
{
"valueName":"sceneCollections",
"valueType":"Array<String>",
"valueDescription":"Updated list of scene collections"
}
]
},
{
"description":"The current profile has begun changing.",
"eventType":"CurrentProfileChanging",
"eventSubscription":"Config",
"complexity":1,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"dataFields":[
{
"valueName":"profileName",
"valueType":"String",
"valueDescription":"Name of the current profile"
}
]
},
{
"description":"The current profile has changed.",
"eventType":"CurrentProfileChanged",
"eventSubscription":"Config",
"complexity":1,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"dataFields":[
{
"valueName":"profileName",
"valueType":"String",
"valueDescription":"Name of the new profile"
}
]
},
{
"description":"The profile list has changed.",
"eventType":"ProfileListChanged",
"eventSubscription":"Config",
"complexity":1,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"config",
"dataFields":[
{
"valueName":"profiles",
"valueType":"Array<String>",
"valueDescription":"Updated list of profiles"
}
]
},
{
"description":"OBS has begun the shutdown process.",
"description":"The monitor type of an input has changed.\n\nAvailable types are:\n- `OBS_MONITORING_TYPE_NONE`\n- `OBS_MONITORING_TYPE_MONITOR_ONLY`\n- `OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT`",
"eventType":"InputAudioMonitorTypeChanged",
"eventSubscription":"Inputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"dataFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input"
},
{
"valueName":"monitorType",
"valueType":"String",
"valueDescription":"New monitor type of the input"
}
]
},
{
"description":"A high-volume event providing volume levels of all active inputs every 50 milliseconds.",
"eventType":"InputVolumeMeters",
"eventSubscription":"InputVolumeMeters",
"complexity":4,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"inputs",
"dataFields":[
{
"valueName":"inputs",
"valueType":"Array<Object>",
"valueDescription":"Array of active inputs with their associated volume levels"
}
]
},
{
"description":"A media input has started playing.",
"eventType":"MediaInputPlaybackStarted",
"eventSubscription":"MediaInputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"media inputs",
"dataFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input"
}
]
},
{
"description":"A media input has finished playing.",
"eventType":"MediaInputPlaybackEnded",
"eventSubscription":"MediaInputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"media inputs",
"dataFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input"
}
]
},
{
"description":"An action has been performed on an input.",
"eventType":"MediaInputActionTriggered",
"eventSubscription":"MediaInputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"media inputs",
"dataFields":[
{
"valueName":"inputName",
"valueType":"String",
"valueDescription":"Name of the input"
},
{
"valueName":"mediaAction",
"valueType":"String",
"valueDescription":"Action performed on the input. See `ObsMediaInputAction` enum"
}
]
},
{
"description":"The state of the stream output has changed.",
"eventType":"StreamStateChanged",
"eventSubscription":"Outputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"outputs",
"dataFields":[
{
"valueName":"outputActive",
"valueType":"Boolean",
"valueDescription":"Whether the output is active"
},
{
"valueName":"outputState",
"valueType":"String",
"valueDescription":"The specific state of the output"
}
]
},
{
"description":"The state of the record output has changed.",
"eventType":"RecordStateChanged",
"eventSubscription":"Outputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"outputs",
"dataFields":[
{
"valueName":"outputActive",
"valueType":"Boolean",
"valueDescription":"Whether the output is active"
},
{
"valueName":"outputState",
"valueType":"String",
"valueDescription":"The specific state of the output"
}
]
},
{
"description":"The state of the replay buffer output has changed.",
"eventType":"ReplayBufferStateChanged",
"eventSubscription":"Outputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"outputs",
"dataFields":[
{
"valueName":"outputActive",
"valueType":"Boolean",
"valueDescription":"Whether the output is active"
},
{
"valueName":"outputState",
"valueType":"String",
"valueDescription":"The specific state of the output"
}
]
},
{
"description":"The state of the virtualcam output has changed.",
"eventType":"VirtualcamStateChanged",
"eventSubscription":"Outputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"outputs",
"dataFields":[
{
"valueName":"outputActive",
"valueType":"Boolean",
"valueDescription":"Whether the output is active"
},
{
"valueName":"outputState",
"valueType":"String",
"valueDescription":"The specific state of the output"
}
]
},
{
"description":"The replay buffer has been saved.",
"eventType":"ReplayBufferSaved",
"eventSubscription":"Outputs",
"complexity":2,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"outputs",
"dataFields":[
{
"valueName":"savedReplayPath",
"valueType":"String",
"valueDescription":"Path of the saved replay file"
}
]
},
{
"description":"A scene item has been created.",
"eventType":"SceneItemCreated",
"eventSubscription":"SceneItems",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"dataFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item was added to"
},
{
"valueName":"sourceName",
"valueType":"String",
"valueDescription":"Name of the underlying source (input/scene)"
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item"
},
{
"valueName":"sceneItemIndex",
"valueType":"Number",
"valueDescription":"Index position of the item"
}
]
},
{
"description":"A scene item has been removed.\n\nThis event is not emitted when the scene the item is in is removed.",
"eventType":"SceneItemRemoved",
"eventSubscription":"SceneItems",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"dataFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item was removed from"
},
{
"valueName":"sourceName",
"valueType":"String",
"valueDescription":"Name of the underlying source (input/scene)"
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item"
}
]
},
{
"description":"A scene's item list has been reindexed.",
"eventType":"SceneItemListReindexed",
"eventSubscription":"SceneItems",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"dataFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene"
},
{
"valueName":"sceneItems",
"valueType":"Array<Object>",
"valueDescription":"Array of scene item objects"
}
]
},
{
"description":"A scene item's enable state has changed.",
"eventType":"SceneItemEnableStateChanged",
"eventSubscription":"SceneItems",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"dataFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in"
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item"
},
{
"valueName":"sceneItemEnabled",
"valueType":"Boolean",
"valueDescription":"Whether the scene item is enabled (visible)"
}
]
},
{
"description":"A scene item's lock state has changed.",
"eventType":"SceneItemLockStateChanged",
"eventSubscription":"SceneItems",
"complexity":3,
"rpcVersion":"1",
"deprecated":false,
"initialVersion":"5.0.0",
"category":"scene items",
"dataFields":[
{
"valueName":"sceneName",
"valueType":"String",
"valueDescription":"Name of the scene the item is in"
},
{
"valueName":"sceneItemId",
"valueType":"Number",
"valueDescription":"Numeric ID of the scene item"
},
{
"valueName":"sceneItemEnabled",
"valueType":"Boolean",
"valueDescription":"Whether the scene item is locked"
"description":"An event has been emitted from a vendor.\n\nA vendor is a unique name registered by a third-party plugin or script, which allows for custom requests and events to be added to obs-websocket.\nIf a plugin or script implements vendor requests or events, documentation is expected to be provided with them.",