{ "enums": [ { "enumType": "EventSubscription", "enumIdentifiers": [ { "description": "Subcription value used to disable all events.", "enumIdentifier": "None", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 0 }, { "description": "Subscription value to receive events in the `General` category.", "enumIdentifier": "General", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 0)" }, { "description": "Subscription value to receive events in the `Config` category.", "enumIdentifier": "Config", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 1)" }, { "description": "Subscription value to receive events in the `Scenes` category.", "enumIdentifier": "Scenes", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 2)" }, { "description": "Subscription value to receive events in the `Inputs` category.", "enumIdentifier": "Inputs", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 3)" }, { "description": "Subscription value to receive events in the `Transitions` category.", "enumIdentifier": "Transitions", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 4)" }, { "description": "Subscription value to receive events in the `Filters` category.", "enumIdentifier": "Filters", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 5)" }, { "description": "Subscription value to receive events in the `Outputs` category.", "enumIdentifier": "Outputs", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 6)" }, { "description": "Subscription value to receive events in the `SceneItems` category.", "enumIdentifier": "SceneItems", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 7)" }, { "description": "Subscription value to receive events in the `MediaInputs` category.", "enumIdentifier": "MediaInputs", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 8)" }, { "description": "Subscription value to receive the `VendorEvent` event.", "enumIdentifier": "Vendors", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 9)" }, { "description": "Subscription value to receive events in the `Ui` category.", "enumIdentifier": "Ui", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 10)" }, { "description": "Helper to receive all non-high-volume events.", "enumIdentifier": "All", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(General | Config | Scenes | Inputs | Transitions | Filters | Outputs | SceneItems | MediaInputs | Vendors | Ui)" }, { "description": "Subscription value to receive the `InputVolumeMeters` high-volume event.", "enumIdentifier": "InputVolumeMeters", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 16)" }, { "description": "Subscription value to receive the `InputActiveStateChanged` high-volume event.", "enumIdentifier": "InputActiveStateChanged", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 17)" }, { "description": "Subscription value to receive the `InputShowStateChanged` high-volume event.", "enumIdentifier": "InputShowStateChanged", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 18)" }, { "description": "Subscription value to receive the `SceneItemTransformChanged` high-volume event.", "enumIdentifier": "SceneItemTransformChanged", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "(1 << 19)" } ] }, { "enumType": "RequestBatchExecutionType", "enumIdentifiers": [ { "description": "Not a request batch.", "enumIdentifier": "None", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": "-1" }, { "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.", "enumIdentifier": "SerialRealtime", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 0 }, { "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.", "enumIdentifier": "SerialFrame", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 1 }, { "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`.", "enumIdentifier": "Parallel", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 2 } ] }, { "enumType": "RequestStatus", "enumIdentifiers": [ { "description": "Unknown status, should never be used.", "enumIdentifier": "Unknown", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 0 }, { "description": "For internal use to signify a successful field check.", "enumIdentifier": "NoError", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 10 }, { "description": "The request has succeeded.", "enumIdentifier": "Success", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 100 }, { "description": "The `requestType` field is missing from the request data.", "enumIdentifier": "MissingRequestType", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 203 }, { "description": "The request type is invalid or does not exist.", "enumIdentifier": "UnknownRequestType", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 204 }, { "description": "Generic error code.\n\nNote: A comment is required to be provided by obs-websocket.", "enumIdentifier": "GenericError", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 205 }, { "description": "The request batch execution type is not supported.", "enumIdentifier": "UnsupportedRequestBatchExecutionType", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 206 }, { "description": "A required request field is missing.", "enumIdentifier": "MissingRequestField", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 300 }, { "description": "The request does not have a valid requestData object.", "enumIdentifier": "MissingRequestData", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 301 }, { "description": "Generic invalid request field message.\n\nNote: A comment is required to be provided by obs-websocket.", "enumIdentifier": "InvalidRequestField", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 400 }, { "description": "A request field has the wrong data type.", "enumIdentifier": "InvalidRequestFieldType", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 401 }, { "description": "A request field (number) is outside of the allowed range.", "enumIdentifier": "RequestFieldOutOfRange", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 402 }, { "description": "A request field (string or array) is empty and cannot be.", "enumIdentifier": "RequestFieldEmpty", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 403 }, { "description": "There are too many request fields (eg. a request takes two optionals, where only one is allowed at a time).", "enumIdentifier": "TooManyRequestFields", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 404 }, { "description": "An output is running and cannot be in order to perform the request.", "enumIdentifier": "OutputRunning", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 500 }, { "description": "An output is not running and should be.", "enumIdentifier": "OutputNotRunning", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 501 }, { "description": "An output is paused and should not be.", "enumIdentifier": "OutputPaused", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 502 }, { "description": "An output is not paused and should be.", "enumIdentifier": "OutputNotPaused", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 503 }, { "description": "An output is disabled and should not be.", "enumIdentifier": "OutputDisabled", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 504 }, { "description": "Studio mode is active and cannot be.", "enumIdentifier": "StudioModeActive", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 505 }, { "description": "Studio mode is not active and should be.", "enumIdentifier": "StudioModeNotActive", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 506 }, { "description": "The resource was not found.\n\nNote: Resources are any kind of object in obs-websocket, like inputs, profiles, outputs, etc.", "enumIdentifier": "ResourceNotFound", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 600 }, { "description": "The resource already exists.", "enumIdentifier": "ResourceAlreadyExists", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 601 }, { "description": "The type of resource found is invalid.", "enumIdentifier": "InvalidResourceType", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 602 }, { "description": "There are not enough instances of the resource in order to perform the request.", "enumIdentifier": "NotEnoughResources", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 603 }, { "description": "The state of the resource is invalid. For example, if the resource is blocked from being accessed.", "enumIdentifier": "InvalidResourceState", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 604 }, { "description": "The specified input (obs_source_t-OBS_SOURCE_TYPE_INPUT) had the wrong kind.", "enumIdentifier": "InvalidInputKind", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 605 }, { "description": "The resource does not support being configured.\n\nThis is particularly relevant to transitions, where they do not always have changeable settings.", "enumIdentifier": "ResourceNotConfigurable", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 606 }, { "description": "The specified filter (obs_source_t-OBS_SOURCE_TYPE_FILTER) had the wrong kind.", "enumIdentifier": "InvalidFilterKind", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 607 }, { "description": "Creating the resource failed.", "enumIdentifier": "ResourceCreationFailed", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 700 }, { "description": "Performing an action on the resource failed.", "enumIdentifier": "ResourceActionFailed", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 701 }, { "description": "Processing the request failed unexpectedly.\n\nNote: A comment is required to be provided by obs-websocket.", "enumIdentifier": "RequestProcessingFailed", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 702 }, { "description": "The combination of request fields cannot be used to perform an action.", "enumIdentifier": "CannotAct", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 703 } ] }, { "enumType": "ObsOutputState", "enumIdentifiers": [ { "description": "Unknown state.", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_UNKNOWN", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_UNKNOWN" }, { "description": "The output is starting.", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_STARTING", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_STARTING" }, { "description": "The input has started.", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_STARTED", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_STARTED" }, { "description": "The output is stopping.", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_STOPPING", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_STOPPING" }, { "description": "The output has stopped.", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_STOPPED", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_STOPPED" }, { "description": "The output has disconnected and is reconnecting.", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_RECONNECTING", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_RECONNECTING" }, { "description": "The output has reconnected successfully.", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_RECONNECTED", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.1.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_RECONNECTED" }, { "description": "The output is now paused.", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_PAUSED", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.1.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_PAUSED" }, { "description": "The output has been resumed (unpaused).", "enumIdentifier": "OBS_WEBSOCKET_OUTPUT_RESUMED", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_OUTPUT_RESUMED" } ] }, { "enumType": "ObsMediaInputAction", "enumIdentifiers": [ { "description": "No action.", "enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NONE", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NONE" }, { "description": "Play the media input.", "enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PLAY", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PLAY" }, { "description": "Pause the media input.", "enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PAUSE", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PAUSE" }, { "description": "Stop the media input.", "enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_STOP", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_STOP" }, { "description": "Restart the media input.", "enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_RESTART", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_RESTART" }, { "description": "Go to the next playlist item.", "enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NEXT", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_NEXT" }, { "description": "Go to the previous playlist item.", "enumIdentifier": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PREVIOUS", "rpcVersion": 1, "deprecated": true, "initialVersion": "5.0.0", "enumValue": "OBS_WEBSOCKET_MEDIA_INPUT_ACTION_PREVIOUS" } ] }, { "enumType": "WebSocketCloseCode", "enumIdentifiers": [ { "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.", "enumIdentifier": "AlreadyIdentified", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 4008 }, { "description": "The authentication attempt (via `Identify`) failed.", "enumIdentifier": "AuthenticationFailed", "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "enumValue": 4009 }, { "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", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "slotValue", "valueType": "Any", "valueDescription": "Value associated with the slot. `null` if not set" } ] }, { "description": "Sets the value of a \"slot\" from the selected persistent data realm.", "requestType": "SetPersistentData", "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", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "slotValue", "valueType": "Any", "valueDescription": "The value to apply to the slot", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets an array of all scene collections", "requestType": "GetSceneCollectionList", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [], "responseFields": [ { "valueName": "currentSceneCollectionName", "valueType": "String", "valueDescription": "The name of the current scene collection" }, { "valueName": "sceneCollections", "valueType": "Array", "valueDescription": "Array of all available scene collections" } ] }, { "description": "Switches to a scene collection.\n\nNote: This will block until the collection has finished changing.", "requestType": "SetCurrentSceneCollection", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "sceneCollectionName", "valueType": "String", "valueDescription": "Name of the scene collection to switch to", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Creates a new scene collection, switching to it in the process.\n\nNote: This will block until the collection has finished changing.", "requestType": "CreateSceneCollection", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "sceneCollectionName", "valueType": "String", "valueDescription": "Name for the new scene collection", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets an array of all profiles", "requestType": "GetProfileList", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [], "responseFields": [ { "valueName": "currentProfileName", "valueType": "String", "valueDescription": "The name of the current profile" }, { "valueName": "profiles", "valueType": "Array", "valueDescription": "Array of all available profiles" } ] }, { "description": "Switches to a profile.", "requestType": "SetCurrentProfile", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "profileName", "valueType": "String", "valueDescription": "Name of the profile to switch to", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Creates a new profile, switching to it in the process", "requestType": "CreateProfile", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "profileName", "valueType": "String", "valueDescription": "Name for the new profile", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Removes a profile. If the current profile is chosen, it will change to a different profile first.", "requestType": "RemoveProfile", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "profileName", "valueType": "String", "valueDescription": "Name of the profile to remove", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets a parameter from the current profile's configuration.", "requestType": "GetProfileParameter", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "parameterCategory", "valueType": "String", "valueDescription": "Category of the parameter to get", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "parameterName", "valueType": "String", "valueDescription": "Name of the parameter to get", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "parameterValue", "valueType": "String", "valueDescription": "Value associated with the parameter. `null` if not set and no default" }, { "valueName": "defaultParameterValue", "valueType": "String", "valueDescription": "Default value associated with the parameter. `null` if no default" } ] }, { "description": "Sets the value of a parameter in the current profile's configuration.", "requestType": "SetProfileParameter", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [ { "valueName": "parameterCategory", "valueType": "String", "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", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the current directory that the record output is set to.", "requestType": "GetRecordDirectory", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "config", "requestFields": [], "responseFields": [ { "valueName": "recordDirectory", "valueType": "String", "valueDescription": "Output directory" } ] }, { "description": "Gets an array of all of a source's filters.", "requestType": "GetSourceFilterList", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "filters", "valueType": "Array", "valueDescription": "Array of filters" } ] }, { "description": "Gets the default settings for a filter kind.", "requestType": "GetSourceFilterDefaultSettings", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "filterKind", "valueType": "String", "valueDescription": "Filter kind to get the default settings for", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "defaultFilterSettings", "valueType": "Object", "valueDescription": "Object of default settings for the filter kind" } ] }, { "description": "Creates a new filter, adding it to the specified source.", "requestType": "CreateSourceFilter", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source to add the filter to", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the new filter to be created", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterKind", "valueType": "String", "valueDescription": "The kind of filter to be created", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterSettings", "valueType": "Object", "valueDescription": "Settings object to initialize the filter with", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Default settings used" } ], "responseFields": [] }, { "description": "Removes a filter from a source.", "requestType": "RemoveSourceFilter", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source the filter is on", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the filter to remove", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Sets the name of a source filter (rename).", "requestType": "SetSourceFilterName", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source the filter is on", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Current name of the filter", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "newFilterName", "valueType": "String", "valueDescription": "New name for the filter", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the info for a specific source filter.", "requestType": "GetSourceFilter", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the filter", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "filterEnabled", "valueType": "Boolean", "valueDescription": "Whether the filter is enabled" }, { "valueName": "filterIndex", "valueType": "Number", "valueDescription": "Index of the filter in the list, beginning at 0" }, { "valueName": "filterKind", "valueType": "String", "valueDescription": "The kind of filter" }, { "valueName": "filterSettings", "valueType": "Object", "valueDescription": "Settings object associated with the filter" } ] }, { "description": "Sets the index position of a filter on a source.", "requestType": "SetSourceFilterIndex", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source the filter is on", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the filter", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterIndex", "valueType": "Number", "valueDescription": "New index position of the filter", "valueRestrictions": ">= 0", "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Sets the settings of a source filter.", "requestType": "SetSourceFilterSettings", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source the filter is on", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the filter to set the settings of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterSettings", "valueType": "Object", "valueDescription": "Object of settings to apply", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "overlay", "valueType": "Boolean", "valueDescription": "True == apply the settings on top of existing ones, False == reset the input to its defaults, then apply settings.", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "true" } ], "responseFields": [] }, { "description": "Sets the enable state of a source filter.", "requestType": "SetSourceFilterEnabled", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source the filter is on", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the filter", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "filterEnabled", "valueType": "Boolean", "valueDescription": "New enable state of the filter", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets data about the current plugin and RPC version.", "requestType": "GetVersion", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "requestFields": [], "responseFields": [ { "valueName": "obsVersion", "valueType": "String", "valueDescription": "Current OBS Studio version" }, { "valueName": "obsWebSocketVersion", "valueType": "String", "valueDescription": "Current obs-websocket version" }, { "valueName": "rpcVersion", "valueType": "Number", "valueDescription": "Current latest obs-websocket RPC version" }, { "valueName": "availableRequests", "valueType": "Array", "valueDescription": "Array of available RPC requests for the currently negotiated RPC version" }, { "valueName": "supportedImageFormats", "valueType": "Array", "valueDescription": "Image formats available in `GetSourceScreenshot` and `SaveSourceScreenshot` requests." }, { "valueName": "platform", "valueType": "String", "valueDescription": "Name of the platform. Usually `windows`, `macos`, or `ubuntu` (linux flavor). Not guaranteed to be any of those" }, { "valueName": "platformDescription", "valueType": "String", "valueDescription": "Description of the platform, like `Windows 10 (10.0)`" } ] }, { "description": "Gets statistics about OBS, obs-websocket, and the current session.", "requestType": "GetStats", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "requestFields": [], "responseFields": [ { "valueName": "cpuUsage", "valueType": "Number", "valueDescription": "Current CPU usage in percent" }, { "valueName": "memoryUsage", "valueType": "Number", "valueDescription": "Amount of memory in MB currently being used by OBS" }, { "valueName": "availableDiskSpace", "valueType": "Number", "valueDescription": "Available disk space on the device being used for recording storage" }, { "valueName": "activeFps", "valueType": "Number", "valueDescription": "Current FPS being rendered" }, { "valueName": "averageFrameRenderTime", "valueType": "Number", "valueDescription": "Average time in milliseconds that OBS is taking to render a frame" }, { "valueName": "renderSkippedFrames", "valueType": "Number", "valueDescription": "Number of frames skipped by OBS in the render thread" }, { "valueName": "renderTotalFrames", "valueType": "Number", "valueDescription": "Total number of frames outputted by the render thread" }, { "valueName": "outputSkippedFrames", "valueType": "Number", "valueDescription": "Number of frames skipped by OBS in the output thread" }, { "valueName": "outputTotalFrames", "valueType": "Number", "valueDescription": "Total number of frames outputted by the output thread" }, { "valueName": "webSocketSessionIncomingMessages", "valueType": "Number", "valueDescription": "Total number of messages received by obs-websocket from the client" }, { "valueName": "webSocketSessionOutgoingMessages", "valueType": "Number", "valueDescription": "Total number of messages sent by obs-websocket to the client" } ] }, { "description": "Broadcasts a `CustomEvent` to all WebSocket clients. Receivers are clients which are identified and subscribed.", "requestType": "BroadcastCustomEvent", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "requestFields": [ { "valueName": "eventData", "valueType": "Object", "valueDescription": "Data payload to emit to all receivers", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "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.", "requestType": "CallVendorRequest", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "requestFields": [ { "valueName": "vendorName", "valueType": "String", "valueDescription": "Name of the vendor to use", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "requestType", "valueType": "String", "valueDescription": "The request type to call", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "requestData", "valueType": "Object", "valueDescription": "Object containing appropriate request data", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "{}" } ], "responseFields": [ { "valueName": "vendorName", "valueType": "String", "valueDescription": "Echoed of `vendorName`" }, { "valueName": "requestType", "valueType": "String", "valueDescription": "Echoed of `requestType`" }, { "valueName": "responseData", "valueType": "Object", "valueDescription": "Object containing appropriate response data. {} if request does not provide any response data" } ] }, { "description": "Gets an array of all hotkey names in OBS", "requestType": "GetHotkeyList", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "requestFields": [], "responseFields": [ { "valueName": "hotkeys", "valueType": "Array", "valueDescription": "Array of hotkey names" } ] }, { "description": "Triggers a hotkey using its name. See `GetHotkeyList`", "requestType": "TriggerHotkeyByName", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "requestFields": [ { "valueName": "hotkeyName", "valueType": "String", "valueDescription": "Name of the hotkey to trigger", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Triggers a hotkey using a sequence of keys.", "requestType": "TriggerHotkeyByKeySequence", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "requestFields": [ { "valueName": "keyId", "valueType": "String", "valueDescription": "The OBS key ID to use. See https://github.com/obsproject/obs-studio/blob/master/libobs/obs-hotkeys.h", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Not pressed" }, { "valueName": "keyModifiers", "valueType": "Object", "valueDescription": "Object containing key modifiers to apply", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Ignored" }, { "valueName": "keyModifiers.shift", "valueType": "Boolean", "valueDescription": "Press Shift", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Not pressed" }, { "valueName": "keyModifiers.control", "valueType": "Boolean", "valueDescription": "Press CTRL", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Not pressed" }, { "valueName": "keyModifiers.alt", "valueType": "Boolean", "valueDescription": "Press ALT", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Not pressed" }, { "valueName": "keyModifiers.command", "valueType": "Boolean", "valueDescription": "Press CMD (Mac)", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Not pressed" } ], "responseFields": [] }, { "description": "Sleeps for a time duration or number of frames. Only available in request batches with types `SERIAL_REALTIME` or `SERIAL_FRAME`.", "requestType": "Sleep", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "requestFields": [ { "valueName": "sleepMillis", "valueType": "Number", "valueDescription": "Number of milliseconds to sleep for (if `SERIAL_REALTIME` mode)", "valueRestrictions": ">= 0, <= 50000", "valueOptional": true, "valueOptionalBehavior": "Unknown" }, { "valueName": "sleepFrames", "valueType": "Number", "valueDescription": "Number of frames to sleep for (if `SERIAL_FRAME` mode)", "valueRestrictions": ">= 0, <= 10000", "valueOptional": true, "valueOptionalBehavior": "Unknown" } ], "responseFields": [] }, { "description": "Gets an array of all inputs in OBS.", "requestType": "GetInputList", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "requestFields": [ { "valueName": "inputKind", "valueType": "String", "valueDescription": "Restrict the array to only inputs of the specified kind", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "All kinds included" } ], "responseFields": [ { "valueName": "inputs", "valueType": "Array", "valueDescription": "Array of inputs" } ] }, { "description": "Gets an array of all available input kinds in OBS.", "requestType": "GetInputKindList", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "requestFields": [ { "valueName": "unversioned", "valueType": "Boolean", "valueDescription": "True == Return all kinds as unversioned, False == Return with version suffixes (if available)", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "false" } ], "responseFields": [ { "valueName": "inputKinds", "valueType": "Array", "valueDescription": "Array of input kinds" } ] }, { "description": "Gets the names of all special inputs.", "requestType": "GetSpecialInputs", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "requestFields": [], "responseFields": [ { "valueName": "desktop1", "valueType": "String", "valueDescription": "Name of the Desktop Audio input" }, { "valueName": "desktop2", "valueType": "String", "valueDescription": "Name of the Desktop Audio 2 input" }, { "valueName": "mic1", "valueType": "String", "valueDescription": "Name of the Mic/Auxiliary Audio input" }, { "valueName": "mic2", "valueType": "String", "valueDescription": "Name of the Mic/Auxiliary Audio 2 input" }, { "valueName": "mic3", "valueType": "String", "valueDescription": "Name of the Mic/Auxiliary Audio 3 input" }, { "valueName": "mic4", "valueType": "String", "valueDescription": "Name of the Mic/Auxiliary Audio 4 input" } ] }, { "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", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "inputSettings", "valueType": "Object", "valueDescription": "Object of settings to apply", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "overlay", "valueType": "Boolean", "valueDescription": "True == apply the settings on top of existing ones, False == reset the input to its defaults, then apply settings.", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "true" } ], "responseFields": [] }, { "description": "Gets the audio mute state of an input.", "requestType": "GetInputMute", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "requestFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of input to get the mute state of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "inputMuted", "valueType": "Boolean", "valueDescription": "Whether the input is muted" } ] }, { "description": "Sets the audio mute state of an input.", "requestType": "SetInputMute", "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 mute state of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "inputMuted", "valueType": "Boolean", "valueDescription": "Whether to mute the input or not", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Toggles the audio mute state of an input.", "requestType": "ToggleInputMute", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "requestFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input to toggle the mute state of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "inputMuted", "valueType": "Boolean", "valueDescription": "Whether the input has been muted or unmuted" } ] }, { "description": "Gets the current volume setting of an input.", "requestType": "GetInputVolume", "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 volume of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "inputVolumeMul", "valueType": "Number", "valueDescription": "Volume setting in mul" }, { "valueName": "inputVolumeDb", "valueType": "Number", "valueDescription": "Volume setting in dB" } ] }, { "description": "Sets the volume setting of an input.", "requestType": "SetInputVolume", "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 volume of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "inputVolumeMul", "valueType": "Number", "valueDescription": "Volume setting in mul", "valueRestrictions": ">= 0, <= 20", "valueOptional": true, "valueOptionalBehavior": "`inputVolumeDb` should be specified" }, { "valueName": "inputVolumeDb", "valueType": "Number", "valueDescription": "Volume setting in dB", "valueRestrictions": ">= -100, <= 26", "valueOptional": true, "valueOptionalBehavior": "`inputVolumeMul` should be specified" } ], "responseFields": [] }, { "description": "Gets the audio balance of an input.", "requestType": "GetInputAudioBalance", "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 balance of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "inputAudioBalance", "valueType": "Number", "valueDescription": "Audio balance value from 0.0-1.0" } ] }, { "description": "Sets the audio balance of an input.", "requestType": "SetInputAudioBalance", "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 balance of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "inputAudioBalance", "valueType": "Number", "valueDescription": "New audio balance value", "valueRestrictions": ">= 0.0, <= 1.0", "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "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\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", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "monitorType", "valueType": "String", "valueDescription": "Audio monitor type", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the enable state of all audio tracks of an input.", "requestType": "GetInputAudioTracks", "complexity": 2, "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 } ], "responseFields": [ { "valueName": "inputAudioTracks", "valueType": "Object", "valueDescription": "Object of audio tracks and associated enable states" } ] }, { "description": "Sets the enable state of audio tracks of an input.", "requestType": "SetInputAudioTracks", "complexity": 2, "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": "inputAudioTracks", "valueType": "Object", "valueDescription": "Track settings to apply", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "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.", "requestType": "GetInputPropertiesListPropertyItems", "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 list property to get the items of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "propertyItems", "valueType": "Array", "valueDescription": "Array of items in the list property" } ] }, { "description": "Presses a button in the properties of an input.\n\nSome known `propertyName` values are:\n\n- `refreshnocache` - Browser source reload button\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", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the status of a media input.\n\nMedia States:\n\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", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the status of the virtualcam output.", "requestType": "GetVirtualCamStatus", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "Whether the output is active" } ] }, { "description": "Toggles the state of the virtualcam output.", "requestType": "ToggleVirtualCam", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "Whether the output is active" } ] }, { "description": "Starts the virtualcam output.", "requestType": "StartVirtualCam", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [] }, { "description": "Stops the virtualcam output.", "requestType": "StopVirtualCam", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [] }, { "description": "Gets the status of the replay buffer output.", "requestType": "GetReplayBufferStatus", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "Whether the output is active" } ] }, { "description": "Toggles the state of the replay buffer output.", "requestType": "ToggleReplayBuffer", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "Whether the output is active" } ] }, { "description": "Starts the replay buffer output.", "requestType": "StartReplayBuffer", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [] }, { "description": "Stops the replay buffer output.", "requestType": "StopReplayBuffer", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [] }, { "description": "Saves the contents of the replay buffer output.", "requestType": "SaveReplayBuffer", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [] }, { "description": "Gets the filename of the last replay buffer save file.", "requestType": "GetLastReplayBufferReplay", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [ { "valueName": "savedReplayPath", "valueType": "String", "valueDescription": "File path" } ] }, { "description": "Gets the list of available outputs.", "requestType": "GetOutputList", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [], "responseFields": [ { "valueName": "outputs", "valueType": "Array", "valueDescription": "Array of outputs" } ] }, { "description": "Gets the status of an output.", "requestType": "GetOutputStatus", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [ { "valueName": "outputName", "valueType": "String", "valueDescription": "Output name", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "Whether the output is active" }, { "valueName": "outputReconnecting", "valueType": "Boolean", "valueDescription": "Whether the output is reconnecting" }, { "valueName": "outputTimecode", "valueType": "String", "valueDescription": "Current formatted timecode string for the output" }, { "valueName": "outputDuration", "valueType": "Number", "valueDescription": "Current duration in milliseconds for the output" }, { "valueName": "outputCongestion", "valueType": "Number", "valueDescription": "Congestion of the output" }, { "valueName": "outputBytes", "valueType": "Number", "valueDescription": "Number of bytes sent by the output" }, { "valueName": "outputSkippedFrames", "valueType": "Number", "valueDescription": "Number of frames skipped by the output's process" }, { "valueName": "outputTotalFrames", "valueType": "Number", "valueDescription": "Total number of frames delivered by the output's process" } ] }, { "description": "Toggles the status of an output.", "requestType": "ToggleOutput", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [ { "valueName": "outputName", "valueType": "String", "valueDescription": "Output name", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "Whether the output is active" } ] }, { "description": "Starts an output.", "requestType": "StartOutput", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [ { "valueName": "outputName", "valueType": "String", "valueDescription": "Output name", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Stops an output.", "requestType": "StopOutput", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [ { "valueName": "outputName", "valueType": "String", "valueDescription": "Output name", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the settings of an output.", "requestType": "GetOutputSettings", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [ { "valueName": "outputName", "valueType": "String", "valueDescription": "Output name", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "outputSettings", "valueType": "Object", "valueDescription": "Output settings" } ] }, { "description": "Sets the settings of an output.", "requestType": "SetOutputSettings", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "outputs", "requestFields": [ { "valueName": "outputName", "valueType": "String", "valueDescription": "Output name", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "outputSettings", "valueType": "Object", "valueDescription": "Output settings", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the status of the record output.", "requestType": "GetRecordStatus", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "record", "requestFields": [], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "Whether the output is active" }, { "valueName": "outputPaused", "valueType": "Boolean", "valueDescription": "Whether the output is paused" }, { "valueName": "outputTimecode", "valueType": "String", "valueDescription": "Current formatted timecode string for the output" }, { "valueName": "outputDuration", "valueType": "Number", "valueDescription": "Current duration in milliseconds for the output" }, { "valueName": "outputBytes", "valueType": "Number", "valueDescription": "Number of bytes sent by the output" } ] }, { "description": "Toggles the status of the record output.", "requestType": "ToggleRecord", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "record", "requestFields": [], "responseFields": [] }, { "description": "Starts the record output.", "requestType": "StartRecord", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "record", "requestFields": [], "responseFields": [] }, { "description": "Stops the record output.", "requestType": "StopRecord", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "record", "requestFields": [], "responseFields": [ { "valueName": "outputPath", "valueType": "String", "valueDescription": "File name for the saved recording" } ] }, { "description": "Toggles pause on the record output.", "requestType": "ToggleRecordPause", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "record", "requestFields": [], "responseFields": [] }, { "description": "Pauses the record output.", "requestType": "PauseRecord", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "record", "requestFields": [], "responseFields": [] }, { "description": "Resumes the record output.", "requestType": "ResumeRecord", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "record", "requestFields": [], "responseFields": [] }, { "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", "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. Please use nested scenes instead.\n\nGroups only", "requestType": "GetGroupSceneItemList", "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", "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 }, { "valueName": "searchOffset", "valueType": "Number", "valueDescription": "Number of matches to skip during search. >= 0 means first forward. -1 means last (top) item", "valueRestrictions": ">= -1", "valueOptional": true, "valueOptionalBehavior": "0" } ], "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", "valueRestrictions": ">= 0", "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "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", "valueRestrictions": ">= 0", "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "sceneItemBlendMode", "valueType": "String", "valueDescription": "New blend mode", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets an array of all scenes in OBS.", "requestType": "GetSceneList", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [], "responseFields": [ { "valueName": "currentProgramSceneName", "valueType": "String", "valueDescription": "Current program scene" }, { "valueName": "currentPreviewSceneName", "valueType": "String", "valueDescription": "Current preview scene. `null` if not in studio mode" }, { "valueName": "scenes", "valueType": "Array", "valueDescription": "Array of scenes" } ] }, { "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.", "requestType": "GetGroupList", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [], "responseFields": [ { "valueName": "groups", "valueType": "Array", "valueDescription": "Array of group names" } ] }, { "description": "Gets the current program scene.", "requestType": "GetCurrentProgramScene", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [], "responseFields": [ { "valueName": "currentProgramSceneName", "valueType": "String", "valueDescription": "Current program scene" } ] }, { "description": "Sets the current program scene.", "requestType": "SetCurrentProgramScene", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Scene to set as the current program scene", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets the current preview scene.\n\nOnly available when studio mode is enabled.", "requestType": "GetCurrentPreviewScene", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [], "responseFields": [ { "valueName": "currentPreviewSceneName", "valueType": "String", "valueDescription": "Current preview scene" } ] }, { "description": "Sets the current preview scene.\n\nOnly available when studio mode is enabled.", "requestType": "SetCurrentPreviewScene", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Scene to set as the current preview scene", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Creates a new scene in OBS.", "requestType": "CreateScene", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Name for the new scene", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Removes a scene from OBS.", "requestType": "RemoveScene", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Name of the scene to remove", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Sets the name of a scene (rename).", "requestType": "SetSceneName", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [ { "valueName": "sceneName", "valueType": "String", "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 scene transition overridden for a scene.", "requestType": "GetSceneSceneTransitionOverride", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Name of the scene", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [ { "valueName": "transitionName", "valueType": "String", "valueDescription": "Name of the overridden scene transition, else `null`" }, { "valueName": "transitionDuration", "valueType": "Number", "valueDescription": "Duration of the overridden scene transition, else `null`" } ] }, { "description": "Gets the scene transition overridden for a scene.", "requestType": "SetSceneSceneTransitionOverride", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "requestFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Name of the scene", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "transitionName", "valueType": "String", "valueDescription": "Name of the scene transition to use as override. Specify `null` to remove", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "Unchanged" }, { "valueName": "transitionDuration", "valueType": "Number", "valueDescription": "Duration to use for any overridden transition. Specify `null` to remove", "valueRestrictions": ">= 50, <= 20000", "valueOptional": true, "valueOptionalBehavior": "Unchanged" } ], "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.**", "requestType": "SaveSourceScreenshot", "complexity": 3, "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": "imageFilePath", "valueType": "String", "valueDescription": "Path to save the screenshot file to. Eg. `C:\\Users\\user\\Desktop\\screenshot.png`", "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": "Gets the status of the stream output.", "requestType": "GetStreamStatus", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "stream", "requestFields": [], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "Whether the output is active" }, { "valueName": "outputReconnecting", "valueType": "Boolean", "valueDescription": "Whether the output is currently reconnecting" }, { "valueName": "outputTimecode", "valueType": "String", "valueDescription": "Current formatted timecode string for the output" }, { "valueName": "outputDuration", "valueType": "Number", "valueDescription": "Current duration in milliseconds for the output" }, { "valueName": "outputCongestion", "valueType": "Number", "valueDescription": "Congestion of the output" }, { "valueName": "outputBytes", "valueType": "Number", "valueDescription": "Number of bytes sent by the output" }, { "valueName": "outputSkippedFrames", "valueType": "Number", "valueDescription": "Number of frames skipped by the output's process" }, { "valueName": "outputTotalFrames", "valueType": "Number", "valueDescription": "Total number of frames delivered by the output's process" } ] }, { "description": "Toggles the status of the stream output.", "requestType": "ToggleStream", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "stream", "requestFields": [], "responseFields": [ { "valueName": "outputActive", "valueType": "Boolean", "valueDescription": "New state of the stream output" } ] }, { "description": "Starts the stream output.", "requestType": "StartStream", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "stream", "requestFields": [], "responseFields": [] }, { "description": "Stops the stream output.", "requestType": "StopStream", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "stream", "requestFields": [], "responseFields": [] }, { "description": "Sends CEA-608 caption text over the stream output.", "requestType": "SendStreamCaption", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "stream", "requestFields": [ { "valueName": "captionText", "valueType": "String", "valueDescription": "Caption text", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets an array of all available transition kinds.\n\nSimilar to `GetInputKindList`", "requestType": "GetTransitionKindList", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "requestFields": [], "responseFields": [ { "valueName": "transitionKinds", "valueType": "Array", "valueDescription": "Array of transition kinds" } ] }, { "description": "Gets an array of all scene transitions in OBS.", "requestType": "GetSceneTransitionList", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "requestFields": [], "responseFields": [ { "valueName": "currentSceneTransitionName", "valueType": "String", "valueDescription": "Name of the current scene transition. Can be null" }, { "valueName": "currentSceneTransitionKind", "valueType": "String", "valueDescription": "Kind of the current scene transition. Can be null" }, { "valueName": "transitions", "valueType": "Array", "valueDescription": "Array of transitions" } ] }, { "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.", "requestType": "SetCurrentSceneTransitionDuration", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "requestFields": [ { "valueName": "transitionDuration", "valueType": "Number", "valueDescription": "Duration in milliseconds", "valueRestrictions": ">= 50, <= 20000", "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Sets the settings of the current scene transition.", "requestType": "SetCurrentSceneTransitionSettings", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "requestFields": [ { "valueName": "transitionSettings", "valueType": "Object", "valueDescription": "Settings object to apply to the transition. Can be `{}`", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "overlay", "valueType": "Boolean", "valueDescription": "Whether to overlay over the current settings or replace them", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "true" } ], "responseFields": [] }, { "description": "Gets the cursor position of the current scene transition.\n\nNote: `transitionCursor` will return 1.0 when the transition is inactive.", "requestType": "GetCurrentSceneTransitionCursor", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "requestFields": [], "responseFields": [ { "valueName": "transitionCursor", "valueType": "Number", "valueDescription": "Cursor position, between 0.0 and 1.0" } ] }, { "description": "Triggers the current scene transition. Same functionality as the `Transition` button in studio mode.", "requestType": "TriggerStudioModeTransition", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "requestFields": [], "responseFields": [] }, { "description": "Sets the position of the TBar.\n\n**Very important note**: This will be deprecated and replaced in a future version of obs-websocket.", "requestType": "SetTBarPosition", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "requestFields": [ { "valueName": "position", "valueType": "Number", "valueDescription": "New position", "valueRestrictions": ">= 0.0, <= 1.0", "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "release", "valueType": "Boolean", "valueDescription": "Whether to release the TBar. Only set `false` if you know that you will be sending another position update", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "`true`" } ], "responseFields": [] }, { "description": "Gets whether studio is enabled.", "requestType": "GetStudioModeEnabled", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "requestFields": [], "responseFields": [ { "valueName": "studioModeEnabled", "valueType": "Boolean", "valueDescription": "Whether studio mode is enabled" } ] }, { "description": "Enables or disables studio mode", "requestType": "SetStudioModeEnabled", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "requestFields": [ { "valueName": "studioModeEnabled", "valueType": "Boolean", "valueDescription": "True == Enabled, False == Disabled", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Opens the properties dialog of an input.", "requestType": "OpenInputPropertiesDialog", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "requestFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input to open the dialog of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Opens the filters dialog of an input.", "requestType": "OpenInputFiltersDialog", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "requestFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input to open the dialog of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Opens the interact dialog of an input.", "requestType": "OpenInputInteractDialog", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "requestFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input to open the dialog of", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null } ], "responseFields": [] }, { "description": "Gets a list of connected monitors and information about them.", "requestType": "GetMonitorList", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "requestFields": [], "responseFields": [ { "valueName": "monitors", "valueType": "Array", "valueDescription": "a list of detected monitors with some information" } ] }, { "description": "Opens a projector for a specific output video mix.\n\nMix types:\n\n- `OBS_WEBSOCKET_VIDEO_MIX_TYPE_PREVIEW`\n- `OBS_WEBSOCKET_VIDEO_MIX_TYPE_PROGRAM`\n- `OBS_WEBSOCKET_VIDEO_MIX_TYPE_MULTIVIEW`\n\nNote: This request serves to provide feature parity with 4.x. It is very likely to be changed/deprecated in a future release.", "requestType": "OpenVideoMixProjector", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "requestFields": [ { "valueName": "videoMixType", "valueType": "String", "valueDescription": "Type of mix to open", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "monitorIndex", "valueType": "Number", "valueDescription": "Monitor index, use `GetMonitorList` to obtain index", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "-1: Opens projector in windowed mode" }, { "valueName": "projectorGeometry", "valueType": "String", "valueDescription": "Size/Position data for a windowed projector, in Qt Base64 encoded format. Mutually exclusive with `monitorIndex`", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "N/A" } ], "responseFields": [] }, { "description": "Opens a projector for a source.\n\nNote: This request serves to provide feature parity with 4.x. It is very likely to be changed/deprecated in a future release.", "requestType": "OpenSourceProjector", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "requestFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source to open a projector for", "valueRestrictions": null, "valueOptional": false, "valueOptionalBehavior": null }, { "valueName": "monitorIndex", "valueType": "Number", "valueDescription": "Monitor index, use `GetMonitorList` to obtain index", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "-1: Opens projector in windowed mode" }, { "valueName": "projectorGeometry", "valueType": "String", "valueDescription": "Size/Position data for a windowed projector, in Qt Base64 encoded format. Mutually exclusive with `monitorIndex`", "valueRestrictions": null, "valueOptional": true, "valueOptionalBehavior": "N/A" } ], "responseFields": [] } ], "events": [ { "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", "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", "valueDescription": "Updated list of profiles" } ] }, { "description": "A source's filter list has been reindexed.", "eventType": "SourceFilterListReindexed", "eventSubscription": "Filters", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "dataFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source" }, { "valueName": "filters", "valueType": "Array", "valueDescription": "Array of filter objects" } ] }, { "description": "A filter has been added to a source.", "eventType": "SourceFilterCreated", "eventSubscription": "Filters", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "dataFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source the filter was added to" }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the filter" }, { "valueName": "filterKind", "valueType": "String", "valueDescription": "The kind of the filter" }, { "valueName": "filterIndex", "valueType": "Number", "valueDescription": "Index position of the filter" }, { "valueName": "filterSettings", "valueType": "Object", "valueDescription": "The settings configured to the filter when it was created" }, { "valueName": "defaultFilterSettings", "valueType": "Object", "valueDescription": "The default settings for the filter" } ] }, { "description": "A filter has been removed from a source.", "eventType": "SourceFilterRemoved", "eventSubscription": "Filters", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "dataFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source the filter was on" }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the filter" } ] }, { "description": "The name of a source filter has changed.", "eventType": "SourceFilterNameChanged", "eventSubscription": "Filters", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "dataFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "The source the filter is on" }, { "valueName": "oldFilterName", "valueType": "String", "valueDescription": "Old name of the filter" }, { "valueName": "filterName", "valueType": "String", "valueDescription": "New name of the filter" } ] }, { "description": "A source filter's enable state has changed.", "eventType": "SourceFilterEnableStateChanged", "eventSubscription": "Filters", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "filters", "dataFields": [ { "valueName": "sourceName", "valueType": "String", "valueDescription": "Name of the source the filter is on" }, { "valueName": "filterName", "valueType": "String", "valueDescription": "Name of the filter" }, { "valueName": "filterEnabled", "valueType": "Boolean", "valueDescription": "Whether the filter is enabled" } ] }, { "description": "OBS has begun the shutdown process.", "eventType": "ExitStarted", "eventSubscription": "General", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "dataFields": [] }, { "description": "An input has been created.", "eventType": "InputCreated", "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": "inputKind", "valueType": "String", "valueDescription": "The kind of the input" }, { "valueName": "unversionedInputKind", "valueType": "String", "valueDescription": "The unversioned kind of input (aka no `_v2` stuff)" }, { "valueName": "inputSettings", "valueType": "Object", "valueDescription": "The settings configured to the input when it was created" }, { "valueName": "defaultInputSettings", "valueType": "Object", "valueDescription": "The default settings for the input" } ] }, { "description": "An input has been removed.", "eventType": "InputRemoved", "eventSubscription": "Inputs", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "dataFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input" } ] }, { "description": "The name of an input has changed.", "eventType": "InputNameChanged", "eventSubscription": "Inputs", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "dataFields": [ { "valueName": "oldInputName", "valueType": "String", "valueDescription": "Old name of the input" }, { "valueName": "inputName", "valueType": "String", "valueDescription": "New name of the input" } ] }, { "description": "An input's active state has changed.\n\nWhen an input is active, it means it's being shown by the program feed.", "eventType": "InputActiveStateChanged", "eventSubscription": "InputActiveStateChanged", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "dataFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input" }, { "valueName": "videoActive", "valueType": "Boolean", "valueDescription": "Whether the input is active" } ] }, { "description": "An input's show state has changed.\n\nWhen an input is showing, it means it's being shown by the preview or a dialog.", "eventType": "InputShowStateChanged", "eventSubscription": "InputShowStateChanged", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "dataFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input" }, { "valueName": "videoShowing", "valueType": "Boolean", "valueDescription": "Whether the input is showing" } ] }, { "description": "An input's mute state has changed.", "eventType": "InputMuteStateChanged", "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": "inputMuted", "valueType": "Boolean", "valueDescription": "Whether the input is muted" } ] }, { "description": "An input's volume level has changed.", "eventType": "InputVolumeChanged", "eventSubscription": "Inputs", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "dataFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input" }, { "valueName": "inputVolumeMul", "valueType": "Number", "valueDescription": "New volume level multiplier" }, { "valueName": "inputVolumeDb", "valueType": "Number", "valueDescription": "New volume level in dB" } ] }, { "description": "The audio balance value of an input has changed.", "eventType": "InputAudioBalanceChanged", "eventSubscription": "Inputs", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "dataFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the affected input" }, { "valueName": "inputAudioBalance", "valueType": "Number", "valueDescription": "New audio balance value of the input" } ] }, { "description": "The sync offset of an input has changed.", "eventType": "InputAudioSyncOffsetChanged", "eventSubscription": "Inputs", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "dataFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input" }, { "valueName": "inputAudioSyncOffset", "valueType": "Number", "valueDescription": "New sync offset in milliseconds" } ] }, { "description": "The audio tracks of an input have changed.", "eventType": "InputAudioTracksChanged", "eventSubscription": "Inputs", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "inputs", "dataFields": [ { "valueName": "inputName", "valueType": "String", "valueDescription": "Name of the input" }, { "valueName": "inputAudioTracks", "valueType": "Object", "valueDescription": "Object of audio tracks along with their associated enable states" } ] }, { "description": "The monitor type of an input has changed.\n\nAvailable types are:\n\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", "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" }, { "valueName": "outputPath", "valueType": "String", "valueDescription": "File name for the saved recording, if record stopped. `null` otherwise" } ] }, { "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", "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": "sceneItemLocked", "valueType": "Boolean", "valueDescription": "Whether the scene item is locked" } ] }, { "description": "A scene item has been selected in the Ui.", "eventType": "SceneItemSelected", "eventSubscription": "SceneItems", "complexity": 2, "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" } ] }, { "description": "The transform/crop of a scene item has changed.", "eventType": "SceneItemTransformChanged", "eventSubscription": "SceneItemTransformChanged", "complexity": 4, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scene items", "dataFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "The name of the scene the item is in" }, { "valueName": "sceneItemId", "valueType": "Number", "valueDescription": "Numeric ID of the scene item" }, { "valueName": "sceneItemTransform", "valueType": "Object", "valueDescription": "New transform/crop info of the scene item" } ] }, { "description": "A new scene has been created.", "eventType": "SceneCreated", "eventSubscription": "Scenes", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "dataFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Name of the new scene" }, { "valueName": "isGroup", "valueType": "Boolean", "valueDescription": "Whether the new scene is a group" } ] }, { "description": "A scene has been removed.", "eventType": "SceneRemoved", "eventSubscription": "Scenes", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "dataFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Name of the removed scene" }, { "valueName": "isGroup", "valueType": "Boolean", "valueDescription": "Whether the scene was a group" } ] }, { "description": "The name of a scene has changed.", "eventType": "SceneNameChanged", "eventSubscription": "Scenes", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "dataFields": [ { "valueName": "oldSceneName", "valueType": "String", "valueDescription": "Old name of the scene" }, { "valueName": "sceneName", "valueType": "String", "valueDescription": "New name of the scene" } ] }, { "description": "The current program scene has changed.", "eventType": "CurrentProgramSceneChanged", "eventSubscription": "Scenes", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "dataFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Name of the scene that was switched to" } ] }, { "description": "The current preview scene has changed.", "eventType": "CurrentPreviewSceneChanged", "eventSubscription": "Scenes", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "dataFields": [ { "valueName": "sceneName", "valueType": "String", "valueDescription": "Name of the scene that was switched to" } ] }, { "description": "The list of scenes has changed.\n\nTODO: Make OBS fire this event when scenes are reordered.", "eventType": "SceneListChanged", "eventSubscription": "Scenes", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "scenes", "dataFields": [ { "valueName": "scenes", "valueType": "Array", "valueDescription": "Updated array of scenes" } ] }, { "description": "The current scene transition has changed.", "eventType": "CurrentSceneTransitionChanged", "eventSubscription": "Transitions", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "dataFields": [ { "valueName": "transitionName", "valueType": "String", "valueDescription": "Name of the new transition" } ] }, { "description": "The current scene transition duration has changed.", "eventType": "CurrentSceneTransitionDurationChanged", "eventSubscription": "Transitions", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "dataFields": [ { "valueName": "transitionDuration", "valueType": "Number", "valueDescription": "Transition duration in milliseconds" } ] }, { "description": "A scene transition has started.", "eventType": "SceneTransitionStarted", "eventSubscription": "Transitions", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "dataFields": [ { "valueName": "transitionName", "valueType": "String", "valueDescription": "Scene transition name" } ] }, { "description": "A scene transition has completed fully.\n\nNote: Does not appear to trigger when the transition is interrupted by the user.", "eventType": "SceneTransitionEnded", "eventSubscription": "Transitions", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "dataFields": [ { "valueName": "transitionName", "valueType": "String", "valueDescription": "Scene transition name" } ] }, { "description": "A scene transition's video has completed fully.\n\nUseful for stinger transitions to tell when the video *actually* ends.\n`SceneTransitionEnded` only signifies the cut point, not the completion of transition playback.\n\nNote: Appears to be called by every transition, regardless of relevance.", "eventType": "SceneTransitionVideoEnded", "eventSubscription": "Transitions", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "transitions", "dataFields": [ { "valueName": "transitionName", "valueType": "String", "valueDescription": "Scene transition name" } ] }, { "description": "Studio mode has been enabled or disabled.", "eventType": "StudioModeStateChanged", "eventSubscription": "Ui", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "ui", "dataFields": [ { "valueName": "studioModeEnabled", "valueType": "Boolean", "valueDescription": "True == Enabled, False == Disabled" } ] }, { "description": "A screenshot has been saved.\n\nNote: Triggered for the screenshot feature available in `Settings -> Hotkeys -> Screenshot Output` ONLY.\nApplications using `Get/SaveSourceScreenshot` should implement a `CustomEvent` if this kind of inter-client\ncommunication is desired.", "eventType": "ScreenshotSaved", "eventSubscription": "Ui", "complexity": 2, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.1.0", "category": "ui", "dataFields": [ { "valueName": "savedScreenshotPath", "valueType": "String", "valueDescription": "Path of the saved image file" } ] }, { "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.", "eventType": "VendorEvent", "eventSubscription": "Vendors", "complexity": 3, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "dataFields": [ { "valueName": "vendorName", "valueType": "String", "valueDescription": "Name of the vendor emitting the event" }, { "valueName": "eventType", "valueType": "String", "valueDescription": "Vendor-provided event typedef" }, { "valueName": "eventData", "valueType": "Object", "valueDescription": "Vendor-provided event data. {} if event does not provide any data" } ] }, { "description": "Custom event emitted by `BroadcastCustomEvent`.", "eventType": "CustomEvent", "eventSubscription": "General", "complexity": 1, "rpcVersion": "1", "deprecated": false, "initialVersion": "5.0.0", "category": "general", "dataFields": [ { "valueName": "eventData", "valueType": "Object", "valueDescription": "Custom event data" } ] } ] }