Class ApiClient

Constructors

Properties

apiState: ((data?, config?) => Promise<{
    active: boolean;
    currentSessionAuthenticated: boolean;
    vTubeStudioVersion: `${number}.${number}.${number}`;
}>) = ...

Type declaration

    • (data?, config?): Promise<{
          active: boolean;
          currentSessionAuthenticated: boolean;
          vTubeStudioVersion: `${number}.${number}.${number}`;
      }>
    • Parameters

      Returns Promise<{
          active: boolean;
          currentSessionAuthenticated: boolean;
          vTubeStudioVersion: `${number}.${number}.${number}`;
      }>

artMeshList: ((data?, config?) => Promise<{
    artMeshNames: string[];
    artMeshTags: string[];
    modelLoaded: boolean;
    numberOfArtMeshNames: number;
    numberOfArtMeshTags: number;
}>) = ...

Type declaration

    • (data?, config?): Promise<{
          artMeshNames: string[];
          artMeshTags: string[];
          modelLoaded: boolean;
          numberOfArtMeshNames: number;
          numberOfArtMeshTags: number;
      }>
    • Parameters

      Returns Promise<{
          artMeshNames: string[];
          artMeshTags: string[];
          modelLoaded: boolean;
          numberOfArtMeshNames: number;
          numberOfArtMeshTags: number;
      }>

artMeshSelection: ((data, config?) => Promise<{
    activeArtMeshes: string[];
    inactiveArtMeshes: string[];
    success: boolean;
}>) = ...

Type declaration

    • (data, config?): Promise<{
          activeArtMeshes: string[];
          inactiveArtMeshes: string[];
          success: boolean;
      }>
    • Parameters

      • data: {
            activeArtMeshes?: string[];
            helpOverride?: null | string;
            requestedArtMeshCount: number;
            textOverride?: null | string;
        }
        • Optional activeArtMeshes?: string[]
        • Optional helpOverride?: null | string
        • requestedArtMeshCount: number
        • Optional textOverride?: null | string
      • Optional config: IClientCallConfig

      Returns Promise<{
          activeArtMeshes: string[];
          inactiveArtMeshes: string[];
          success: boolean;
      }>

authentication: ((data, config?) => Promise<{
    authenticated: boolean;
    reason: string;
}>) = ...

Type declaration

    • (data, config?): Promise<{
          authenticated: boolean;
          reason: string;
      }>
    • Parameters

      • data: {
            authenticationToken: string;
            pluginDeveloper: string;
            pluginName: string;
        }
        • authenticationToken: string
        • pluginDeveloper: string
        • pluginName: string
      • Optional config: IClientCallConfig

      Returns Promise<{
          authenticated: boolean;
          reason: string;
      }>

authenticationToken: ((data, config?) => Promise<{
    authenticationToken: string;
}>) = ...

Type declaration

    • (data, config?): Promise<{
          authenticationToken: string;
      }>
    • Parameters

      • data: {
            pluginDeveloper: string;
            pluginIcon?: string;
            pluginName: string;
        }
        • pluginDeveloper: string
        • Optional pluginIcon?: string
        • pluginName: string
      • Optional config: IClientCallConfig

      Returns Promise<{
          authenticationToken: string;
      }>

availableModels: ((data?, config?) => Promise<{
    availableModels: {
        modelID: string;
        modelLoaded: boolean;
        modelName: string;
        vtsModelIconName: string;
        vtsModelName: string;
    }[];
    numberOfModels: number;
}>) = ...

Type declaration

    • (data?, config?): Promise<{
          availableModels: {
              modelID: string;
              modelLoaded: boolean;
              modelName: string;
              vtsModelIconName: string;
              vtsModelName: string;
          }[];
          numberOfModels: number;
      }>
    • Parameters

      Returns Promise<{
          availableModels: {
              modelID: string;
              modelLoaded: boolean;
              modelName: string;
              vtsModelIconName: string;
              vtsModelName: string;
          }[];
          numberOfModels: number;
      }>

colorTint: ((data, config?) => Promise<{
    matchedArtMeshes: number;
}>) = ...

Type declaration

    • (data, config?): Promise<{
          matchedArtMeshes: number;
      }>
    • Parameters

      • data: {
            artMeshMatcher: {
                artMeshNumber?: number[];
                nameContains?: string[];
                nameExact?: string[];
                tagContains?: string[];
                tagExact?: string[];
                tintAll: boolean;
            };
            colorTint: {
                colorA: number;
                colorB: number;
                colorG: number;
                colorR: number;
                jeb_?: true;
                mixWithSceneLightingColor?: number;
            };
        }
        • artMeshMatcher: {
              artMeshNumber?: number[];
              nameContains?: string[];
              nameExact?: string[];
              tagContains?: string[];
              tagExact?: string[];
              tintAll: boolean;
          }
          • Optional artMeshNumber?: number[]
          • Optional nameContains?: string[]
          • Optional nameExact?: string[]
          • Optional tagContains?: string[]
          • Optional tagExact?: string[]
          • tintAll: boolean
        • colorTint: {
              colorA: number;
              colorB: number;
              colorG: number;
              colorR: number;
              jeb_?: true;
              mixWithSceneLightingColor?: number;
          }
          • colorA: number
          • colorB: number
          • colorG: number
          • colorR: number
          • Optional jeb_?: true
          • Optional mixWithSceneLightingColor?: number
      • Optional config: IClientCallConfig

      Returns Promise<{
          matchedArtMeshes: number;
      }>

currentModel: ((data?, config?) => Promise<{
    hasPhysicsFile: boolean;
    live2DModelName: string;
    modelID: string;
    modelLoadTime: number;
    modelLoaded: boolean;
    modelName: string;
    modelPosition: {
        positionX: number;
        positionY: number;
        rotation: number;
        size: number;
    };
    numberOfLive2DArtmeshes: number;
    numberOfLive2DParameters: number;
    numberOfTextures: number;
    textureResolution: number;
    timeSinceModelLoaded: number;
    vtsModelIconName: string;
    vtsModelName: string;
}>) = ...

Type declaration

    • (data?, config?): Promise<{
          hasPhysicsFile: boolean;
          live2DModelName: string;
          modelID: string;
          modelLoadTime: number;
          modelLoaded: boolean;
          modelName: string;
          modelPosition: {
              positionX: number;
              positionY: number;
              rotation: number;
              size: number;
          };
          numberOfLive2DArtmeshes: number;
          numberOfLive2DParameters: number;
          numberOfTextures: number;
          textureResolution: number;
          timeSinceModelLoaded: number;
          vtsModelIconName: string;
          vtsModelName: string;
      }>
    • Parameters

      Returns Promise<{
          hasPhysicsFile: boolean;
          live2DModelName: string;
          modelID: string;
          modelLoadTime: number;
          modelLoaded: boolean;
          modelName: string;
          modelPosition: {
              positionX: number;
              positionY: number;
              rotation: number;
              size: number;
          };
          numberOfLive2DArtmeshes: number;
          numberOfLive2DParameters: number;
          numberOfTextures: number;
          textureResolution: number;
          timeSinceModelLoaded: number;
          vtsModelIconName: string;
          vtsModelName: string;
      }>

events: {
    backgroundChanged: {
        subscribe: ((callback, config?) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    hotkeyTriggered: {
        subscribe: ((callback, config) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    item: {
        subscribe: ((callback, config) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    live2DCubismEditorConnected: {
        subscribe: ((callback, config?) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    modelAnimation: {
        subscribe: ((callback, config) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    modelClicked: {
        subscribe: ((callback, config) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    modelConfigChanged: {
        subscribe: ((callback, config?) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    modelLoaded: {
        subscribe: ((callback, config) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    modelMoved: {
        subscribe: ((callback, config?) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    modelOutline: {
        subscribe: ((callback, config) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    postProcessing: {
        subscribe: ((callback, config?) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    test: {
        subscribe: ((callback, config) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
    trackingStatusChanged: {
        subscribe: ((callback, config?) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    };
} = ...

Type declaration

  • backgroundChanged: {
        subscribe: ((callback, config?) => Promise<boolean>);
        unsubscribe: (() => Promise<boolean>);
    }
    • subscribe: ((callback, config?) => Promise<boolean>)

      Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

      Param: config

      Configuration data for the event subscription.

      Param: callback

      A callback that will be invoked each time the event occurs.

      Returns

      A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

        • (callback, config?): Promise<boolean>
        • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

          Parameters

          • callback: ((data) => void)

            A callback that will be invoked each time the event occurs.

              • (data): void
              • Parameters

                • data: {
                      backgroundName: string;
                  }
                  • backgroundName: string

                Returns void

          • Optional config: {}

            Configuration data for the event subscription.

            Returns Promise<boolean>

            A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

      • unsubscribe: (() => Promise<boolean>)

        Removes an event subscription.

        Returns

        A Promise of a boolean indicating if there was an existing subscription to remove or not.

          • (): Promise<boolean>
          • Removes an event subscription.

            Returns Promise<boolean>

            A Promise of a boolean indicating if there was an existing subscription to remove or not.

    • hotkeyTriggered: {
          subscribe: ((callback, config) => Promise<boolean>);
          unsubscribe: (() => Promise<boolean>);
      }
      • subscribe: ((callback, config) => Promise<boolean>)

        Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

        Param: config

        Configuration data for the event subscription.

        Param: callback

        A callback that will be invoked each time the event occurs.

        Returns

        A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

          • (callback, config): Promise<boolean>
          • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

            Parameters

            • callback: ((data) => void)

              A callback that will be invoked each time the event occurs.

                • (data): void
                • Parameters

                  • data: {
                        hotkeyAction: HotkeyType;
                        hotkeyFile: string;
                        hotkeyID: string;
                        hotkeyName: string;
                        hotkeyTriggeredByAPI: boolean;
                        isLive2DItem: boolean;
                        modelID: string;
                        modelName: string;
                    }
                    • hotkeyAction: HotkeyType
                    • hotkeyFile: string
                    • hotkeyID: string
                    • hotkeyName: string
                    • hotkeyTriggeredByAPI: boolean
                    • isLive2DItem: boolean
                    • modelID: string
                    • modelName: string

                  Returns void

            • config: {
                  ignoreHotkeysTriggeredByAPI?: boolean;
                  onlyForAction?: HotkeyType;
              }

              Configuration data for the event subscription.

              • Optional ignoreHotkeysTriggeredByAPI?: boolean
              • Optional onlyForAction?: HotkeyType

            Returns Promise<boolean>

            A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

      • unsubscribe: (() => Promise<boolean>)

        Removes an event subscription.

        Returns

        A Promise of a boolean indicating if there was an existing subscription to remove or not.

          • (): Promise<boolean>
          • Removes an event subscription.

            Returns Promise<boolean>

            A Promise of a boolean indicating if there was an existing subscription to remove or not.

    • item: {
          subscribe: ((callback, config) => Promise<boolean>);
          unsubscribe: (() => Promise<boolean>);
      }
      • subscribe: ((callback, config) => Promise<boolean>)

        Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

        Param: config

        Configuration data for the event subscription.

        Param: callback

        A callback that will be invoked each time the event occurs.

        Returns

        A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

          • (callback, config): Promise<boolean>
          • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

            Parameters

            • callback: ((data) => void)

              A callback that will be invoked each time the event occurs.

                • (data): void
                • Parameters

                  • data: {
                        itemEventType: "Added" | "Removed" | "DroppedPinned" | "DroppedUnpinned" | "Clicked" | "Locked" | "Unlocked";
                        itemFileName: string;
                        itemInstanceID: string;
                        itemPosition: {
                            x: number;
                            y: number;
                        };
                    }
                    • itemEventType: "Added" | "Removed" | "DroppedPinned" | "DroppedUnpinned" | "Clicked" | "Locked" | "Unlocked"
                    • itemFileName: string
                    • itemInstanceID: string
                    • itemPosition: {
                          x: number;
                          y: number;
                      }
                      • x: number
                      • y: number

                  Returns void

            • config: {
                  itemFileNames?: string[];
                  itemInstanceIDs?: string[];
              }

              Configuration data for the event subscription.

              • Optional itemFileNames?: string[]
              • Optional itemInstanceIDs?: string[]

            Returns Promise<boolean>

            A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

      • unsubscribe: (() => Promise<boolean>)

        Removes an event subscription.

        Returns

        A Promise of a boolean indicating if there was an existing subscription to remove or not.

          • (): Promise<boolean>
          • Removes an event subscription.

            Returns Promise<boolean>

            A Promise of a boolean indicating if there was an existing subscription to remove or not.

    • live2DCubismEditorConnected: {
          subscribe: ((callback, config?) => Promise<boolean>);
          unsubscribe: (() => Promise<boolean>);
      }
      • subscribe: ((callback, config?) => Promise<boolean>)

        Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

        Param: config

        Configuration data for the event subscription.

        Param: callback

        A callback that will be invoked each time the event occurs.

        Returns

        A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

          • (callback, config?): Promise<boolean>
          • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

            Parameters

            • callback: ((data) => void)

              A callback that will be invoked each time the event occurs.

                • (data): void
                • Parameters

                  • data: {
                        connected: boolean;
                        shouldSendParameters: boolean;
                        tryingToConnect: boolean;
                    }
                    • connected: boolean
                    • shouldSendParameters: boolean
                    • tryingToConnect: boolean

                  Returns void

            • Optional config: {}

              Configuration data for the event subscription.

              Returns Promise<boolean>

              A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

        • unsubscribe: (() => Promise<boolean>)

          Removes an event subscription.

          Returns

          A Promise of a boolean indicating if there was an existing subscription to remove or not.

            • (): Promise<boolean>
            • Removes an event subscription.

              Returns Promise<boolean>

              A Promise of a boolean indicating if there was an existing subscription to remove or not.

      • modelAnimation: {
            subscribe: ((callback, config) => Promise<boolean>);
            unsubscribe: (() => Promise<boolean>);
        }
        • subscribe: ((callback, config) => Promise<boolean>)

          Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

          Param: config

          Configuration data for the event subscription.

          Param: callback

          A callback that will be invoked each time the event occurs.

          Returns

          A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

            • (callback, config): Promise<boolean>
            • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

              Parameters

              • callback: ((data) => void)

                A callback that will be invoked each time the event occurs.

                  • (data): void
                  • Parameters

                    • data: {
                          animationEventData: string;
                          animationEventTime: number;
                          animationEventType: "Start" | "End" | "Custom";
                          animationLength: number;
                          animationName: string;
                          isIdleAnimation: boolean;
                          isLive2DItem: boolean;
                          modelID: string;
                          modelName: string;
                      }
                      • animationEventData: string
                      • animationEventTime: number
                      • animationEventType: "Start" | "End" | "Custom"
                      • animationLength: number
                      • animationName: string
                      • isIdleAnimation: boolean
                      • isLive2DItem: boolean
                      • modelID: string
                      • modelName: string

                    Returns void

              • config: {
                    ignoreIdleAnimations?: boolean;
                    ignoreLive2DItems?: boolean;
                }

                Configuration data for the event subscription.

                • Optional ignoreIdleAnimations?: boolean
                • Optional ignoreLive2DItems?: boolean

              Returns Promise<boolean>

              A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

        • unsubscribe: (() => Promise<boolean>)

          Removes an event subscription.

          Returns

          A Promise of a boolean indicating if there was an existing subscription to remove or not.

            • (): Promise<boolean>
            • Removes an event subscription.

              Returns Promise<boolean>

              A Promise of a boolean indicating if there was an existing subscription to remove or not.

      • modelClicked: {
            subscribe: ((callback, config) => Promise<boolean>);
            unsubscribe: (() => Promise<boolean>);
        }
        • subscribe: ((callback, config) => Promise<boolean>)

          Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

          Param: config

          Configuration data for the event subscription.

          Param: callback

          A callback that will be invoked each time the event occurs.

          Returns

          A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

            • (callback, config): Promise<boolean>
            • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

              Parameters

              • callback: ((data) => void)

                A callback that will be invoked each time the event occurs.

                  • (data): void
                  • Parameters

                    • data: {
                          artMeshHits: {
                              artMeshOrder: number;
                              hitInfo: {
                                  angle: number;
                                  artMeshID: string;
                                  modelID: string;
                                  size: number;
                                  vertexID1: number;
                                  vertexID2: number;
                                  vertexID3: number;
                                  vertexWeight1: number;
                                  vertexWeight2: number;
                                  vertexWeight3: number;
                              };
                              isMasked: boolean;
                          }[];
                          clickPosition: {
                              x: number;
                              y: number;
                          };
                          clickedArtMeshCount: number;
                          loadedModelID: string;
                          loadedModelName: string;
                          modelLoaded: boolean;
                          modelWasClicked: boolean;
                          mouseButtonID: 2 | 1 | 3;
                          windowSize: {
                              x: number;
                              y: number;
                          };
                      }
                      • artMeshHits: {
                            artMeshOrder: number;
                            hitInfo: {
                                angle: number;
                                artMeshID: string;
                                modelID: string;
                                size: number;
                                vertexID1: number;
                                vertexID2: number;
                                vertexID3: number;
                                vertexWeight1: number;
                                vertexWeight2: number;
                                vertexWeight3: number;
                            };
                            isMasked: boolean;
                        }[]
                      • clickPosition: {
                            x: number;
                            y: number;
                        }
                        • x: number
                        • y: number
                      • clickedArtMeshCount: number
                      • loadedModelID: string
                      • loadedModelName: string
                      • modelLoaded: boolean
                      • modelWasClicked: boolean
                      • mouseButtonID: 2 | 1 | 3
                      • windowSize: {
                            x: number;
                            y: number;
                        }
                        • x: number
                        • y: number

                    Returns void

              • config: {
                    onlyClicksOnModel: boolean;
                }

                Configuration data for the event subscription.

                • onlyClicksOnModel: boolean

              Returns Promise<boolean>

              A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

        • unsubscribe: (() => Promise<boolean>)

          Removes an event subscription.

          Returns

          A Promise of a boolean indicating if there was an existing subscription to remove or not.

            • (): Promise<boolean>
            • Removes an event subscription.

              Returns Promise<boolean>

              A Promise of a boolean indicating if there was an existing subscription to remove or not.

      • modelConfigChanged: {
            subscribe: ((callback, config?) => Promise<boolean>);
            unsubscribe: (() => Promise<boolean>);
        }
        • subscribe: ((callback, config?) => Promise<boolean>)

          Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

          Param: config

          Configuration data for the event subscription.

          Param: callback

          A callback that will be invoked each time the event occurs.

          Returns

          A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

            • (callback, config?): Promise<boolean>
            • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

              Parameters

              • callback: ((data) => void)

                A callback that will be invoked each time the event occurs.

                  • (data): void
                  • Parameters

                    • data: {
                          hotkeyConfigChanged: boolean;
                          modelID: string;
                          modelName: string;
                      }
                      • hotkeyConfigChanged: boolean
                      • modelID: string
                      • modelName: string

                    Returns void

              • Optional config: {}

                Configuration data for the event subscription.

                Returns Promise<boolean>

                A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

          • unsubscribe: (() => Promise<boolean>)

            Removes an event subscription.

            Returns

            A Promise of a boolean indicating if there was an existing subscription to remove or not.

              • (): Promise<boolean>
              • Removes an event subscription.

                Returns Promise<boolean>

                A Promise of a boolean indicating if there was an existing subscription to remove or not.

        • modelLoaded: {
              subscribe: ((callback, config) => Promise<boolean>);
              unsubscribe: (() => Promise<boolean>);
          }
          • subscribe: ((callback, config) => Promise<boolean>)

            Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

            Param: config

            Configuration data for the event subscription.

            Param: callback

            A callback that will be invoked each time the event occurs.

            Returns

            A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

              • (callback, config): Promise<boolean>
              • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

                Parameters

                • callback: ((data) => void)

                  A callback that will be invoked each time the event occurs.

                    • (data): void
                    • Parameters

                      • data: {
                            modelID: string;
                            modelLoaded: boolean;
                            modelName: string;
                        }
                        • modelID: string
                        • modelLoaded: boolean
                        • modelName: string

                      Returns void

                • config: {
                      modelID?: string[];
                  }

                  Configuration data for the event subscription.

                  • Optional modelID?: string[]

                Returns Promise<boolean>

                A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

          • unsubscribe: (() => Promise<boolean>)

            Removes an event subscription.

            Returns

            A Promise of a boolean indicating if there was an existing subscription to remove or not.

              • (): Promise<boolean>
              • Removes an event subscription.

                Returns Promise<boolean>

                A Promise of a boolean indicating if there was an existing subscription to remove or not.

        • modelMoved: {
              subscribe: ((callback, config?) => Promise<boolean>);
              unsubscribe: (() => Promise<boolean>);
          }
          • subscribe: ((callback, config?) => Promise<boolean>)

            Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

            Param: config

            Configuration data for the event subscription.

            Param: callback

            A callback that will be invoked each time the event occurs.

            Returns

            A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

              • (callback, config?): Promise<boolean>
              • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

                Parameters

                • callback: ((data) => void)

                  A callback that will be invoked each time the event occurs.

                    • (data): void
                    • Parameters

                      • data: {
                            modelID: string;
                            modelName: string;
                            modelPosition: {
                                positionX: number;
                                positionY: number;
                                rotation: number;
                                size: number;
                            };
                        }
                        • modelID: string
                        • modelName: string
                        • modelPosition: {
                              positionX: number;
                              positionY: number;
                              rotation: number;
                              size: number;
                          }
                          • positionX: number
                          • positionY: number
                          • rotation: number
                          • size: number

                      Returns void

                • Optional config: {}

                  Configuration data for the event subscription.

                  Returns Promise<boolean>

                  A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

            • unsubscribe: (() => Promise<boolean>)

              Removes an event subscription.

              Returns

              A Promise of a boolean indicating if there was an existing subscription to remove or not.

                • (): Promise<boolean>
                • Removes an event subscription.

                  Returns Promise<boolean>

                  A Promise of a boolean indicating if there was an existing subscription to remove or not.

          • modelOutline: {
                subscribe: ((callback, config) => Promise<boolean>);
                unsubscribe: (() => Promise<boolean>);
            }
            • subscribe: ((callback, config) => Promise<boolean>)

              Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

              Param: config

              Configuration data for the event subscription.

              Param: callback

              A callback that will be invoked each time the event occurs.

              Returns

              A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

                • (callback, config): Promise<boolean>
                • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

                  Parameters

                  • callback: ((data) => void)

                    A callback that will be invoked each time the event occurs.

                      • (data): void
                      • Parameters

                        • data: {
                              convexHull: {
                                  x: number;
                                  y: number;
                              }[];
                              convexHullCenter: {
                                  x: number;
                                  y: number;
                              };
                              modelID: string;
                              modelName: string;
                              windowSize: {
                                  x: number;
                                  y: number;
                              };
                          }
                          • convexHull: {
                                x: number;
                                y: number;
                            }[]
                          • convexHullCenter: {
                                x: number;
                                y: number;
                            }
                            • x: number
                            • y: number
                          • modelID: string
                          • modelName: string
                          • windowSize: {
                                x: number;
                                y: number;
                            }
                            • x: number
                            • y: number

                        Returns void

                  • config: {
                        draw?: boolean;
                    }

                    Configuration data for the event subscription.

                    • Optional draw?: boolean

                  Returns Promise<boolean>

                  A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

            • unsubscribe: (() => Promise<boolean>)

              Removes an event subscription.

              Returns

              A Promise of a boolean indicating if there was an existing subscription to remove or not.

                • (): Promise<boolean>
                • Removes an event subscription.

                  Returns Promise<boolean>

                  A Promise of a boolean indicating if there was an existing subscription to remove or not.

          • postProcessing: {
                subscribe: ((callback, config?) => Promise<boolean>);
                unsubscribe: (() => Promise<boolean>);
            }
            • subscribe: ((callback, config?) => Promise<boolean>)

              Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

              Param: config

              Configuration data for the event subscription.

              Param: callback

              A callback that will be invoked each time the event occurs.

              Returns

              A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

                • (callback, config?): Promise<boolean>
                • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

                  Parameters

                  • callback: ((data) => void)

                    A callback that will be invoked each time the event occurs.

                      • (data): void
                      • Parameters

                        • data: {
                              currentOnState: boolean;
                              currentPreset: string;
                          }
                          • currentOnState: boolean
                          • currentPreset: string

                        Returns void

                  • Optional config: {}

                    Configuration data for the event subscription.

                    Returns Promise<boolean>

                    A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

              • unsubscribe: (() => Promise<boolean>)

                Removes an event subscription.

                Returns

                A Promise of a boolean indicating if there was an existing subscription to remove or not.

                  • (): Promise<boolean>
                  • Removes an event subscription.

                    Returns Promise<boolean>

                    A Promise of a boolean indicating if there was an existing subscription to remove or not.

            • test: {
                  subscribe: ((callback, config) => Promise<boolean>);
                  unsubscribe: (() => Promise<boolean>);
              }
              • subscribe: ((callback, config) => Promise<boolean>)

                Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

                Param: config

                Configuration data for the event subscription.

                Param: callback

                A callback that will be invoked each time the event occurs.

                Returns

                A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

                  • (callback, config): Promise<boolean>
                  • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

                    Parameters

                    • callback: ((data) => void)

                      A callback that will be invoked each time the event occurs.

                        • (data): void
                        • Parameters

                          • data: {
                                counter: number;
                                yourTestMessage: string;
                            }
                            • counter: number
                            • yourTestMessage: string

                          Returns void

                    • config: {
                          testMessageForEvent?: string;
                      }

                      Configuration data for the event subscription.

                      • Optional testMessageForEvent?: string

                    Returns Promise<boolean>

                    A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

              • unsubscribe: (() => Promise<boolean>)

                Removes an event subscription.

                Returns

                A Promise of a boolean indicating if there was an existing subscription to remove or not.

                  • (): Promise<boolean>
                  • Removes an event subscription.

                    Returns Promise<boolean>

                    A Promise of a boolean indicating if there was an existing subscription to remove or not.

            • trackingStatusChanged: {
                  subscribe: ((callback, config?) => Promise<boolean>);
                  unsubscribe: (() => Promise<boolean>);
              }
              • subscribe: ((callback, config?) => Promise<boolean>)

                Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

                Param: config

                Configuration data for the event subscription.

                Param: callback

                A callback that will be invoked each time the event occurs.

                Returns

                A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

                  • (callback, config?): Promise<boolean>
                  • Adds or replaces an event subscription. Subsequent calls will replace the subscription config and callback instead of creating additional subscriptions.

                    Parameters

                    • callback: ((data) => void)

                      A callback that will be invoked each time the event occurs.

                        • (data): void
                        • Parameters

                          • data: {
                                faceFound: boolean;
                                leftHandFound: boolean;
                                rightHandFound: boolean;
                            }
                            • faceFound: boolean
                            • leftHandFound: boolean
                            • rightHandFound: boolean

                          Returns void

                    • Optional config: {}

                      Configuration data for the event subscription.

                      Returns Promise<boolean>

                      A Promise of a boolean indicating if the subscription was added for the first time (true) or replaced (false).

                • unsubscribe: (() => Promise<boolean>)

                  Removes an event subscription.

                  Returns

                  A Promise of a boolean indicating if there was an existing subscription to remove or not.

                    • (): Promise<boolean>
                    • Removes an event subscription.

                      Returns Promise<boolean>

                      A Promise of a boolean indicating if there was an existing subscription to remove or not.

              expressionActivation: ((data, config?) => Promise<void>) = ...

              Type declaration

                • (data, config?): Promise<void>
                • Parameters

                  • data: {
                        active: boolean;
                        expressionFile: string;
                    }
                    • active: boolean
                    • expressionFile: string
                  • Optional config: IClientCallConfig

                  Returns Promise<void>

              expressionState: ((data, config?) => Promise<{
                  expressions: {
                      active: boolean;
                      autoDeactivateAfterSeconds: boolean;
                      deactivateWhenKeyIsLetGo: boolean;
                      file: string;
                      name: string;
                      parameters: {
                          name: string;
                          value: number;
                      }[];
                      secondsRemaining: boolean;
                      usedInHotkeys: {
                          id: string;
                          name: string;
                      }[];
                  }[];
                  modelID: string;
                  modelLoaded: boolean;
                  modelName: string;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      expressions: {
                          active: boolean;
                          autoDeactivateAfterSeconds: boolean;
                          deactivateWhenKeyIsLetGo: boolean;
                          file: string;
                          name: string;
                          parameters: {
                              name: string;
                              value: number;
                          }[];
                          secondsRemaining: boolean;
                          usedInHotkeys: {
                              id: string;
                              name: string;
                          }[];
                      }[];
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                  }>
                • Parameters

                  • data: {
                        details: boolean;
                        expressionFile?: string;
                    }
                    • details: boolean
                    • Optional expressionFile?: string
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      expressions: {
                          active: boolean;
                          autoDeactivateAfterSeconds: boolean;
                          deactivateWhenKeyIsLetGo: boolean;
                          file: string;
                          name: string;
                          parameters: {
                              name: string;
                              value: number;
                          }[];
                          secondsRemaining: boolean;
                          usedInHotkeys: {
                              id: string;
                              name: string;
                          }[];
                      }[];
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                  }>

              faceFound: ((data?, config?) => Promise<{
                  found: boolean;
              }>) = ...

              Type declaration

                • (data?, config?): Promise<{
                      found: boolean;
                  }>
                • Parameters

                  Returns Promise<{
                      found: boolean;
                  }>

              getCurrentModelPhysics: ((data?, config?) => Promise<{
                  apiPhysicsOverrideActive: boolean;
                  apiPhysicsOverridePluginName: string;
                  baseStrength: number;
                  baseWind: number;
                  modelHasPhysics: boolean;
                  modelID: string;
                  modelLoaded: boolean;
                  modelName: string;
                  physicsFPSSetting: -1 | 120 | 30 | 60;
                  physicsGroups: {
                      groupID: string;
                      groupName: string;
                      strengthMultiplier: number;
                      windMultiplier: number;
                  }[];
                  physicsSwitchedOn: boolean;
                  usingLegacyPhysics: boolean;
              }>) = ...

              Type declaration

                • (data?, config?): Promise<{
                      apiPhysicsOverrideActive: boolean;
                      apiPhysicsOverridePluginName: string;
                      baseStrength: number;
                      baseWind: number;
                      modelHasPhysics: boolean;
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                      physicsFPSSetting: -1 | 120 | 30 | 60;
                      physicsGroups: {
                          groupID: string;
                          groupName: string;
                          strengthMultiplier: number;
                          windMultiplier: number;
                      }[];
                      physicsSwitchedOn: boolean;
                      usingLegacyPhysics: boolean;
                  }>
                • Parameters

                  Returns Promise<{
                      apiPhysicsOverrideActive: boolean;
                      apiPhysicsOverridePluginName: string;
                      baseStrength: number;
                      baseWind: number;
                      modelHasPhysics: boolean;
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                      physicsFPSSetting: -1 | 120 | 30 | 60;
                      physicsGroups: {
                          groupID: string;
                          groupName: string;
                          strengthMultiplier: number;
                          windMultiplier: number;
                      }[];
                      physicsSwitchedOn: boolean;
                      usingLegacyPhysics: boolean;
                  }>

              hotkeyTrigger: ((data, config?) => Promise<{
                  hotkeyID: string;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      hotkeyID: string;
                  }>
                • Parameters

                  • data: {
                        hotkeyID: string;
                        itemInstanceID?: string;
                    }
                    • hotkeyID: string
                    • Optional itemInstanceID?: string
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      hotkeyID: string;
                  }>

              hotkeysInCurrentModel: ((data, config?) => Promise<{
                  availableHotkeys: {
                      description: string;
                      file: string;
                      hotkeyID: string;
                      keyCombination: RestrictedRawKey[];
                      name: string;
                      onScreenButtonID: number;
                      type: "MoveModel" | "Unset" | "TriggerAnimation" | "ChangeIdleAnimation" | "ToggleExpression" | "RemoveAllExpressions" | "ChangeBackground" | "ReloadMicrophone" | "ReloadTextures" | "CalibrateCam" | "ChangeVTSModel" | "TakeScreenshot" | "ScreenColorOverlay" | "RemoveAllItems" | "ToggleItemScene" | "DownloadRandomWorkshopItem" | "ExecuteItemAction" | "ArtMeshColorPreset" | "ToggleTracker" | "ToggleTwitchFeature" | "LoadEffectPreset";
                  }[];
                  modelID: string;
                  modelLoaded: boolean;
                  modelName: string;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      availableHotkeys: {
                          description: string;
                          file: string;
                          hotkeyID: string;
                          keyCombination: RestrictedRawKey[];
                          name: string;
                          onScreenButtonID: number;
                          type: "MoveModel" | "Unset" | "TriggerAnimation" | "ChangeIdleAnimation" | "ToggleExpression" | "RemoveAllExpressions" | "ChangeBackground" | "ReloadMicrophone" | "ReloadTextures" | "CalibrateCam" | "ChangeVTSModel" | "TakeScreenshot" | "ScreenColorOverlay" | "RemoveAllItems" | "ToggleItemScene" | "DownloadRandomWorkshopItem" | "ExecuteItemAction" | "ArtMeshColorPreset" | "ToggleTracker" | "ToggleTwitchFeature" | "LoadEffectPreset";
                      }[];
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                  }>
                • Parameters

                  • data: {
                        live2DItemFileName?: string;
                        modelID?: string;
                    }
                    • Optional live2DItemFileName?: string
                    • Optional modelID?: string
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      availableHotkeys: {
                          description: string;
                          file: string;
                          hotkeyID: string;
                          keyCombination: RestrictedRawKey[];
                          name: string;
                          onScreenButtonID: number;
                          type: "MoveModel" | "Unset" | "TriggerAnimation" | "ChangeIdleAnimation" | "ToggleExpression" | "RemoveAllExpressions" | "ChangeBackground" | "ReloadMicrophone" | "ReloadTextures" | "CalibrateCam" | "ChangeVTSModel" | "TakeScreenshot" | "ScreenColorOverlay" | "RemoveAllItems" | "ToggleItemScene" | "DownloadRandomWorkshopItem" | "ExecuteItemAction" | "ArtMeshColorPreset" | "ToggleTracker" | "ToggleTwitchFeature" | "LoadEffectPreset";
                      }[];
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                  }>

              injectParameterData: ((data, config?) => Promise<void>) = ...

              Type declaration

                • (data, config?): Promise<void>
                • Parameters

                  • data: {
                        faceFound?: boolean;
                        mode?: "set" | "add";
                        parameterValues: {
                            id: string;
                            value: number;
                            weight?: number;
                        }[];
                    }
                    • Optional faceFound?: boolean
                    • Optional mode?: "set" | "add"
                    • parameterValues: {
                          id: string;
                          value: number;
                          weight?: number;
                      }[]
                  • Optional config: IClientCallConfig

                  Returns Promise<void>

              inputParameterList: ((data?, config?) => Promise<{
                  customParameters: IVTSParameter[];
                  defaultParameters: IVTSParameter[];
                  modelID: string;
                  modelLoaded: boolean;
                  modelName: string;
              }>) = ...

              Type declaration

                • (data?, config?): Promise<{
                      customParameters: IVTSParameter[];
                      defaultParameters: IVTSParameter[];
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                  }>
                • Parameters

                  Returns Promise<{
                      customParameters: IVTSParameter[];
                      defaultParameters: IVTSParameter[];
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                  }>

              itemAnimationControl: ((data, config?) => Promise<{
                  animationPlaying: boolean;
                  frame: number;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      animationPlaying: boolean;
                      frame: number;
                  }>
                • Parameters

                  • data: {
                        animationPlayState: boolean;
                        autoStopFrames: number[];
                        brightness: number;
                        frame: number;
                        framerate: number;
                        itemInstanceID: string;
                        opacity: number;
                        setAnimationPlayState: boolean;
                        setAutoStopFrames: boolean;
                    }
                    • animationPlayState: boolean
                    • autoStopFrames: number[]
                    • brightness: number
                    • frame: number
                    • framerate: number
                    • itemInstanceID: string
                    • opacity: number
                    • setAnimationPlayState: boolean
                    • setAutoStopFrames: boolean
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      animationPlaying: boolean;
                      frame: number;
                  }>

              itemList: ((data, config?) => Promise<{
                  availableItemFiles: {
                      fileName: string;
                      loadedCount: boolean;
                      type: ItemType;
                  }[];
                  availableSpots: number[];
                  canLoadItemsRightNow: boolean;
                  itemInstancesInScene: {
                      censored: boolean;
                      currentFrame: number;
                      fileName: string;
                      flipped: boolean;
                      frameCount: number;
                      framerate: number;
                      fromWorkshop: boolean;
                      groupName: string;
                      instanceID: string;
                      locked: boolean;
                      order: number;
                      pinnedArtMeshID: string;
                      pinnedModelID: string;
                      pinnedToModel: boolean;
                      sceneName: string;
                      smoothing: number;
                      type: ItemType;
                  }[];
                  itemsInSceneCount: number;
                  totalItemsAllowedCount: number;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      availableItemFiles: {
                          fileName: string;
                          loadedCount: boolean;
                          type: ItemType;
                      }[];
                      availableSpots: number[];
                      canLoadItemsRightNow: boolean;
                      itemInstancesInScene: {
                          censored: boolean;
                          currentFrame: number;
                          fileName: string;
                          flipped: boolean;
                          frameCount: number;
                          framerate: number;
                          fromWorkshop: boolean;
                          groupName: string;
                          instanceID: string;
                          locked: boolean;
                          order: number;
                          pinnedArtMeshID: string;
                          pinnedModelID: string;
                          pinnedToModel: boolean;
                          sceneName: string;
                          smoothing: number;
                          type: ItemType;
                      }[];
                      itemsInSceneCount: number;
                      totalItemsAllowedCount: number;
                  }>
                • Parameters

                  • data: {
                        includeAvailableItemFiles: boolean;
                        includeAvailableSpots: boolean;
                        includeItemInstancesInScene: boolean;
                        onlyItemsWithFileName?: string;
                        onlyItemsWithInstanceID?: string;
                    }
                    • includeAvailableItemFiles: boolean
                    • includeAvailableSpots: boolean
                    • includeItemInstancesInScene: boolean
                    • Optional onlyItemsWithFileName?: string
                    • Optional onlyItemsWithInstanceID?: string
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      availableItemFiles: {
                          fileName: string;
                          loadedCount: boolean;
                          type: ItemType;
                      }[];
                      availableSpots: number[];
                      canLoadItemsRightNow: boolean;
                      itemInstancesInScene: {
                          censored: boolean;
                          currentFrame: number;
                          fileName: string;
                          flipped: boolean;
                          frameCount: number;
                          framerate: number;
                          fromWorkshop: boolean;
                          groupName: string;
                          instanceID: string;
                          locked: boolean;
                          order: number;
                          pinnedArtMeshID: string;
                          pinnedModelID: string;
                          pinnedToModel: boolean;
                          sceneName: string;
                          smoothing: number;
                          type: ItemType;
                      }[];
                      itemsInSceneCount: number;
                      totalItemsAllowedCount: number;
                  }>

              itemLoad: ((data, config?) => Promise<{
                  fileName: string;
                  instanceID: string;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      fileName: string;
                      instanceID: string;
                  }>
                • Parameters

                  • data: {
                        censored?: boolean;
                        customDataAskTimer?: number;
                        customDataAskUserFirst?: boolean;
                        customDataBase64?: string;
                        customDataSkipAskingUserIfWhitelisted?: boolean;
                        fadeTime?: number;
                        failIfOrderTaken?: boolean;
                        fileName: string;
                        flipped?: boolean;
                        locked?: boolean;
                        order?: number;
                        positionX?: number;
                        positionY?: number;
                        rotation?: number;
                        size?: number;
                        smoothing?: number;
                        unloadWhenPluginDisconnects?: boolean;
                    }
                    • Optional censored?: boolean
                    • Optional customDataAskTimer?: number
                    • Optional customDataAskUserFirst?: boolean
                    • Optional customDataBase64?: string
                    • Optional customDataSkipAskingUserIfWhitelisted?: boolean
                    • Optional fadeTime?: number
                    • Optional failIfOrderTaken?: boolean
                    • fileName: string
                    • Optional flipped?: boolean
                    • Optional locked?: boolean
                    • Optional order?: number
                    • Optional positionX?: number
                    • Optional positionY?: number
                    • Optional rotation?: number
                    • Optional size?: number
                    • Optional smoothing?: number
                    • Optional unloadWhenPluginDisconnects?: boolean
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      fileName: string;
                      instanceID: string;
                  }>

              itemMove: ((data, config?) => Promise<{
                  movedItems: {
                      errorID: ErrorCode;
                      itemInstanceID: string;
                      success: boolean;
                  }[];
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      movedItems: {
                          errorID: ErrorCode;
                          itemInstanceID: string;
                          success: boolean;
                      }[];
                  }>
                • Parameters

                  • data: {
                        itemsToMove: {
                            fadeMode?: "linear" | "easeIn" | "easeOut" | "easeBoth" | "overshoot" | "zip";
                            flip?: boolean;
                            itemInstanceID: string;
                            order?: number;
                            positionX?: number;
                            positionY?: number;
                            rotation?: number;
                            setFlip?: boolean;
                            size?: number;
                            timeInSeconds?: number;
                            userCanStop?: boolean;
                        }[];
                    }
                    • itemsToMove: {
                          fadeMode?: "linear" | "easeIn" | "easeOut" | "easeBoth" | "overshoot" | "zip";
                          flip?: boolean;
                          itemInstanceID: string;
                          order?: number;
                          positionX?: number;
                          positionY?: number;
                          rotation?: number;
                          setFlip?: boolean;
                          size?: number;
                          timeInSeconds?: number;
                          userCanStop?: boolean;
                      }[]
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      movedItems: {
                          errorID: ErrorCode;
                          itemInstanceID: string;
                          success: boolean;
                      }[];
                  }>

              itemPin: ((data, config?) => Promise<{
                  isPinned: boolean;
                  itemFileName: string;
                  itemInstanceID: string;
              }>) | ((data, config?) => Promise<{
                  isPinned: boolean;
                  itemFileName: string;
                  itemInstanceID: string;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      isPinned: boolean;
                      itemFileName: string;
                      itemInstanceID: string;
                  }>
                • Parameters

                  • data: {
                        itemInstanceID: string;
                        pin: false;
                    }
                    • itemInstanceID: string
                    • pin: false
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      isPinned: boolean;
                      itemFileName: string;
                      itemInstanceID: string;
                  }>

              Type declaration

                • (data, config?): Promise<{
                      isPinned: boolean;
                      itemFileName: string;
                      itemInstanceID: string;
                  }>
                • Parameters

                  • data: {
                        angleRelativeTo: "RelativeToWorld" | "RelativeToCurrentItemRotation" | "RelativeToModel" | "RelativeToPinPosition";
                        itemInstanceID: string;
                        pin: true;
                        pinInfo: {
                            angle: number;
                            artMeshID?: string;
                            modelID?: string;
                            size: number;
                            vertexID1?: number;
                            vertexID2?: number;
                            vertexID3?: number;
                            vertexWeight1?: number;
                            vertexWeight2?: number;
                            vertexWeight3?: number;
                        };
                        sizeRelativeTo: "RelativeToWorld" | "RelativeToCurrentItemSize";
                        vertexPinType: "Provided" | "Center" | "Random";
                    }
                    • angleRelativeTo: "RelativeToWorld" | "RelativeToCurrentItemRotation" | "RelativeToModel" | "RelativeToPinPosition"
                    • itemInstanceID: string
                    • pin: true
                    • pinInfo: {
                          angle: number;
                          artMeshID?: string;
                          modelID?: string;
                          size: number;
                          vertexID1?: number;
                          vertexID2?: number;
                          vertexID3?: number;
                          vertexWeight1?: number;
                          vertexWeight2?: number;
                          vertexWeight3?: number;
                      }
                      • angle: number
                      • Optional artMeshID?: string
                      • Optional modelID?: string
                      • size: number
                      • Optional vertexID1?: number
                      • Optional vertexID2?: number
                      • Optional vertexID3?: number
                      • Optional vertexWeight1?: number
                      • Optional vertexWeight2?: number
                      • Optional vertexWeight3?: number
                    • sizeRelativeTo: "RelativeToWorld" | "RelativeToCurrentItemSize"
                    • vertexPinType: "Provided" | "Center" | "Random"
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      isPinned: boolean;
                      itemFileName: string;
                      itemInstanceID: string;
                  }>

              itemUnload: ((data, config?) => Promise<{
                  unloadedItems: {
                      fileName: string;
                      instanceID: string;
                  }[];
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      unloadedItems: {
                          fileName: string;
                          instanceID: string;
                      }[];
                  }>
                • Parameters

                  • data: {
                        allowUnloadingItemsLoadedByUserOrOtherPlugins: boolean;
                        fileNames: string[];
                        instanceIDs: string[];
                        unloadAllInScene: boolean;
                        unloadAllLoadedByThisPlugin: boolean;
                    }
                    • allowUnloadingItemsLoadedByUserOrOtherPlugins: boolean
                    • fileNames: string[]
                    • instanceIDs: string[]
                    • unloadAllInScene: boolean
                    • unloadAllLoadedByThisPlugin: boolean
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      unloadedItems: {
                          fileName: string;
                          instanceID: string;
                      }[];
                  }>

              live2DParameterList: ((data?, config?) => Promise<{
                  modelID: string;
                  modelLoaded: boolean;
                  modelName: string;
                  parameters: ILive2DParameter[];
              }>) = ...

              Type declaration

                • (data?, config?): Promise<{
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                      parameters: ILive2DParameter[];
                  }>
                • Parameters

                  Returns Promise<{
                      modelID: string;
                      modelLoaded: boolean;
                      modelName: string;
                      parameters: ILive2DParameter[];
                  }>

              modelLoad: ((data, config?) => Promise<{
                  modelID: string;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      modelID: string;
                  }>
                • Parameters

                  Returns Promise<{
                      modelID: string;
                  }>

              moveModel: ((data, config?) => Promise<void>) = ...

              Type declaration

                • (data, config?): Promise<void>
                • Parameters

                  • data: {
                        positionX?: number;
                        positionY?: number;
                        rotation?: number;
                        size?: number;
                        timeInSeconds: number;
                        valuesAreRelativeToModel: boolean;
                    }
                    • Optional positionX?: number
                    • Optional positionY?: number
                    • Optional rotation?: number
                    • Optional size?: number
                    • timeInSeconds: number
                    • valuesAreRelativeToModel: boolean
                  • Optional config: IClientCallConfig

                  Returns Promise<void>

              ndiConfig: ((data, config?) => Promise<{
                  customHeightNDI: number;
                  customWidthNDI: number;
                  ndiActive: boolean;
                  setNewConfig: boolean;
                  useCustomResolution: boolean;
                  useNDI5: boolean;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      customHeightNDI: number;
                      customWidthNDI: number;
                      ndiActive: boolean;
                      setNewConfig: boolean;
                      useCustomResolution: boolean;
                      useNDI5: boolean;
                  }>
                • Parameters

                  • data: {
                        customHeightNDI: number;
                        customWidthNDI: number;
                        ndiActive: boolean;
                        setNewConfig: boolean;
                        useCustomResolution: boolean;
                        useNDI5: boolean;
                    }
                    • customHeightNDI: number
                    • customWidthNDI: number
                    • ndiActive: boolean
                    • setNewConfig: boolean
                    • useCustomResolution: boolean
                    • useNDI5: boolean
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      customHeightNDI: number;
                      customWidthNDI: number;
                      ndiActive: boolean;
                      setNewConfig: boolean;
                      useCustomResolution: boolean;
                      useNDI5: boolean;
                  }>

              parameterCreation: ((data, config?) => Promise<{
                  parameterName: string;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      parameterName: string;
                  }>
                • Parameters

                  • data: {
                        defaultValue: number;
                        explanation: string;
                        max: number;
                        min: number;
                        parameterName: string;
                    }
                    • defaultValue: number
                    • explanation: string
                    • max: number
                    • min: number
                    • parameterName: string
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      parameterName: string;
                  }>

              parameterDeletion: ((data, config?) => Promise<{
                  parameterName: string;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      parameterName: string;
                  }>
                • Parameters

                  • data: {
                        parameterName: string;
                    }
                    • parameterName: string
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      parameterName: string;
                  }>

              parameterValue: ((data, config?) => Promise<IVTSParameter>) = ...

              Type declaration

              permission: ((data, config?) => Promise<{
                  grantSuccess: boolean;
                  permissions: {
                      granted: boolean;
                      name: "LoadCustomImagesAsItems";
                  }[];
                  requestedPermission: null | "LoadCustomImagesAsItems";
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      grantSuccess: boolean;
                      permissions: {
                          granted: boolean;
                          name: "LoadCustomImagesAsItems";
                      }[];
                      requestedPermission: null | "LoadCustomImagesAsItems";
                  }>
                • Parameters

                  • data: {
                        requestedPermission?: "LoadCustomImagesAsItems";
                    }
                    • Optional requestedPermission?: "LoadCustomImagesAsItems"
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      grantSuccess: boolean;
                      permissions: {
                          granted: boolean;
                          name: "LoadCustomImagesAsItems";
                      }[];
                      requestedPermission: null | "LoadCustomImagesAsItems";
                  }>

              postProcessingList: ((data, config?) => Promise<{
                  activeEffectCount: number;
                  activePreset: string;
                  canSendPostProcessingUpdateRequestRightNow: boolean;
                  configCountAfterFilter: number;
                  configCountBeforeFilter: number;
                  effectCountAfterFilter: number;
                  effectCountBeforeFilter: number;
                  postProcessingActive: boolean;
                  postProcessingEffects: {
                      configEntries: AnyPostProcessingConfigEntry[];
                      effectIsActive: boolean;
                      effectIsRestricted: boolean;
                      enumID: PostProcessingEffectID;
                      explanation: string;
                      internalID: string;
                  }[];
                  postProcessingPresets: string[];
                  postProcessingSupported: boolean;
                  presetCount: number;
                  presetIsActive: boolean;
                  restrictedEffectsAllowed: boolean;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      activeEffectCount: number;
                      activePreset: string;
                      canSendPostProcessingUpdateRequestRightNow: boolean;
                      configCountAfterFilter: number;
                      configCountBeforeFilter: number;
                      effectCountAfterFilter: number;
                      effectCountBeforeFilter: number;
                      postProcessingActive: boolean;
                      postProcessingEffects: {
                          configEntries: AnyPostProcessingConfigEntry[];
                          effectIsActive: boolean;
                          effectIsRestricted: boolean;
                          enumID: PostProcessingEffectID;
                          explanation: string;
                          internalID: string;
                      }[];
                      postProcessingPresets: string[];
                      postProcessingSupported: boolean;
                      presetCount: number;
                      presetIsActive: boolean;
                      restrictedEffectsAllowed: boolean;
                  }>
                • Parameters

                  • data: {
                        effectIDFilter?: PostProcessingEffectID[];
                        fillPostProcessingEffectsArray?: boolean;
                        fillPostProcessingPresetsArray?: boolean;
                    }
                    • Optional effectIDFilter?: PostProcessingEffectID[]
                    • Optional fillPostProcessingEffectsArray?: boolean
                    • Optional fillPostProcessingPresetsArray?: boolean
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      activeEffectCount: number;
                      activePreset: string;
                      canSendPostProcessingUpdateRequestRightNow: boolean;
                      configCountAfterFilter: number;
                      configCountBeforeFilter: number;
                      effectCountAfterFilter: number;
                      effectCountBeforeFilter: number;
                      postProcessingActive: boolean;
                      postProcessingEffects: {
                          configEntries: AnyPostProcessingConfigEntry[];
                          effectIsActive: boolean;
                          effectIsRestricted: boolean;
                          enumID: PostProcessingEffectID;
                          explanation: string;
                          internalID: string;
                      }[];
                      postProcessingPresets: string[];
                      postProcessingSupported: boolean;
                      presetCount: number;
                      presetIsActive: boolean;
                      restrictedEffectsAllowed: boolean;
                  }>

              postProcessingUpdate: ((data, config?) => Promise<{
                  activeEffectCount: number;
                  activePreset: string;
                  postProcessingActive: boolean;
                  presetIsActive: boolean;
              }>) = ...

              Type declaration

                • (data, config?): Promise<{
                      activeEffectCount: number;
                      activePreset: string;
                      postProcessingActive: boolean;
                      presetIsActive: boolean;
                  }>
                • Parameters

                  • data: {
                        postProcessingFadeTime?: number;
                        postProcessingOn?: boolean;
                        postProcessingValues?: {
                            configID: PostProcessingEffectConfigID;
                            configValue: string;
                        }[];
                        presetToSet?: string;
                        randomizeAll?: boolean;
                        randomizeAllChaosLevel?: number;
                        setAllOtherValuesToDefault?: boolean;
                        setPostProcessingPreset?: boolean;
                        setPostProcessingValues?: boolean;
                        usingRestrictedEffects?: boolean;
                    }
                    • Optional postProcessingFadeTime?: number
                    • Optional postProcessingOn?: boolean
                    • Optional postProcessingValues?: {
                          configID: PostProcessingEffectConfigID;
                          configValue: string;
                      }[]
                    • Optional presetToSet?: string
                    • Optional randomizeAll?: boolean
                    • Optional randomizeAllChaosLevel?: number
                    • Optional setAllOtherValuesToDefault?: boolean
                    • Optional setPostProcessingPreset?: boolean
                    • Optional setPostProcessingValues?: boolean
                    • Optional usingRestrictedEffects?: boolean
                  • Optional config: IClientCallConfig

                  Returns Promise<{
                      activeEffectCount: number;
                      activePreset: string;
                      postProcessingActive: boolean;
                      presetIsActive: boolean;
                  }>

              sceneColorOverlayInfo: ((data?, config?) => Promise<{
                  active: boolean;
                  baseBrightness: number;
                  colorAvgB: number;
                  colorAvgG: number;
                  colorAvgR: number;
                  colorBoost: number;
                  colorOverlayB: number;
                  colorOverlayG: number;
                  colorOverlayR: number;
                  isWindowCapture: boolean;
                  itemsIncluded: boolean;
                  leftCapturePart: {
                      active: boolean;
                      colorB: number;
                      colorG: number;
                      colorR: number;
                  };
                  middleCapturePart: {
                      active: boolean;
                      colorB: number;
                      colorG: number;
                      colorR: number;
                  };
                  rightCapturePart: {
                      active: boolean;
                      colorB: number;
                      colorG: number;
                      colorR: number;
                  };
                  smoothing: number;
              }>) = ...

              Type declaration

                • (data?, config?): Promise<{
                      active: boolean;
                      baseBrightness: number;
                      colorAvgB: number;
                      colorAvgG: number;
                      colorAvgR: number;
                      colorBoost: number;
                      colorOverlayB: number;
                      colorOverlayG: number;
                      colorOverlayR: number;
                      isWindowCapture: boolean;
                      itemsIncluded: boolean;
                      leftCapturePart: {
                          active: boolean;
                          colorB: number;
                          colorG: number;
                          colorR: number;
                      };
                      middleCapturePart: {
                          active: boolean;
                          colorB: number;
                          colorG: number;
                          colorR: number;
                      };
                      rightCapturePart: {
                          active: boolean;
                          colorB: number;
                          colorG: number;
                          colorR: number;
                      };
                      smoothing: number;
                  }>
                • Parameters

                  Returns Promise<{
                      active: boolean;
                      baseBrightness: number;
                      colorAvgB: number;
                      colorAvgG: number;
                      colorAvgR: number;
                      colorBoost: number;
                      colorOverlayB: number;
                      colorOverlayG: number;
                      colorOverlayR: number;
                      isWindowCapture: boolean;
                      itemsIncluded: boolean;
                      leftCapturePart: {
                          active: boolean;
                          colorB: number;
                          colorG: number;
                          colorR: number;
                      };
                      middleCapturePart: {
                          active: boolean;
                          colorB: number;
                          colorG: number;
                          colorR: number;
                      };
                      rightCapturePart: {
                          active: boolean;
                          colorB: number;
                          colorG: number;
                          colorR: number;
                      };
                      smoothing: number;
                  }>

              setCurrentModelPhysics: ((data, config?) => Promise<void>) = ...

              Type declaration

                • (data, config?): Promise<void>
                • Parameters

                  • data: {
                        strengthOverrides: {
                            id: string;
                            overrideSeconds: number;
                            setBaseValue: boolean;
                            value: number;
                        }[];
                        windOverrides: {
                            id: string;
                            overrideSeconds: number;
                            setBaseValue: boolean;
                            value: number;
                        }[];
                    }
                    • strengthOverrides: {
                          id: string;
                          overrideSeconds: number;
                          setBaseValue: boolean;
                          value: number;
                      }[]
                    • windOverrides: {
                          id: string;
                          overrideSeconds: number;
                          setBaseValue: boolean;
                          value: number;
                      }[]
                  • Optional config: IClientCallConfig

                  Returns Promise<void>

              statistics: ((data?, config?) => Promise<{
                  allowedPlugins: number;
                  connectedPlugins: number;
                  framerate: number;
                  startedWithSteam: boolean;
                  uptime: number;
                  vTubeStudioVersion: `${number}.${number}.${number}`;
                  windowHeight: number;
                  windowIsFullscreen: boolean;
                  windowWidth: number;
              }>) = ...

              Type declaration

                • (data?, config?): Promise<{
                      allowedPlugins: number;
                      connectedPlugins: number;
                      framerate: number;
                      startedWithSteam: boolean;
                      uptime: number;
                      vTubeStudioVersion: `${number}.${number}.${number}`;
                      windowHeight: number;
                      windowIsFullscreen: boolean;
                      windowWidth: number;
                  }>
                • Parameters

                  Returns Promise<{
                      allowedPlugins: number;
                      connectedPlugins: number;
                      framerate: number;
                      startedWithSteam: boolean;
                      uptime: number;
                      vTubeStudioVersion: `${number}.${number}.${number}`;
                      windowHeight: number;
                      windowIsFullscreen: boolean;
                      windowWidth: number;
                  }>

              vtsFolderInfo: ((data?, config?) => Promise<{
                  backgrounds: string;
                  backup: string;
                  config: string;
                  items: string;
                  logs: string;
                  models: string;
              }>) = ...

              Type declaration

                • (data?, config?): Promise<{
                      backgrounds: string;
                      backup: string;
                      config: string;
                      items: string;
                      logs: string;
                      models: string;
                  }>
                • Parameters

                  Returns Promise<{
                      backgrounds: string;
                      backup: string;
                      config: string;
                      items: string;
                      logs: string;
                      models: string;
                  }>

              Accessors

              Methods

              • Parameters

                • type: "connect"
                • handler: (() => void)
                    • (): void
                    • Returns void

                Returns void

              • Parameters

                • type: "disconnect"
                • handler: (() => void)
                    • (): void
                    • Returns void

                Returns void

              • Parameters

                • type: "error"
                • handler: ((err) => void)
                    • (err): void
                    • Parameters

                      • err: unknown

                      Returns void

                Returns void

              • Parameters

                • type: "connect"
                • handler: (() => void)
                    • (): void
                    • Returns void

                Returns void

              • Parameters

                • type: "disconnect"
                • handler: (() => void)
                    • (): void
                    • Returns void

                Returns void

              • Parameters

                • type: "error"
                • handler: ((err) => void)
                    • (err): void
                    • Parameters

                      • err: unknown

                      Returns void

                Returns void

              Generated using TypeDoc