diff --git a/packages/sdk/src/controllers/FrameController.ts b/packages/sdk/src/controllers/FrameController.ts
index 4ec8d737..2c0d4a90 100644
--- a/packages/sdk/src/controllers/FrameController.ts
+++ b/packages/sdk/src/controllers/FrameController.ts
@@ -340,7 +340,17 @@ export class FrameController {
      */
     remove = async (id: Id) => {
         const res = await this.#editorAPI;
-        return res.removeFrame(id).then((result) => getEditorResponseData<null>(result));
+        return res.removeFrames([id]).then((result) => getEditorResponseData<null>(result));
+    };
+
+    /**
+     * This method will remove frames with the given ids.
+     * @param ids an array of ids of the frames to be removed.
+     * @returns
+     */
+    removeFrames = async (ids: Id[]) => {
+        const res = await this.#editorAPI;
+        return res.removeFrames(ids).then((result) => getEditorResponseData<null>(result));
     };
 
     /**
diff --git a/packages/sdk/src/tests/controllers/FrameController.test.ts b/packages/sdk/src/tests/controllers/FrameController.test.ts
index 17ef047d..83c14e9e 100644
--- a/packages/sdk/src/tests/controllers/FrameController.test.ts
+++ b/packages/sdk/src/tests/controllers/FrameController.test.ts
@@ -36,6 +36,7 @@ const mockedEditorApi: EditorAPI = {
     setFrameRotation: async () => getEditorResponseData(castToEditorResponse(null)),
     setFrameIsVisible: async () => getEditorResponseData(castToEditorResponse(null)),
     removeFrame: async () => getEditorResponseData(castToEditorResponse(null)),
+    removeFrames: async () => getEditorResponseData(castToEditorResponse(null)),
     resetFrame: async () => getEditorResponseData(castToEditorResponse(null)),
     resetFrameX: async () => getEditorResponseData(castToEditorResponse(null)),
     resetFrameY: async () => getEditorResponseData(castToEditorResponse(null)),
@@ -89,7 +90,7 @@ beforeEach(() => {
     jest.spyOn(mockedEditorApi, 'setFrameY');
     jest.spyOn(mockedEditorApi, 'setFrameRotation');
     jest.spyOn(mockedEditorApi, 'setFrameIsVisible');
-    jest.spyOn(mockedEditorApi, 'removeFrame');
+    jest.spyOn(mockedEditorApi, 'removeFrames');
     jest.spyOn(mockedEditorApi, 'resetFrame');
     jest.spyOn(mockedEditorApi, 'resetFrameX');
     jest.spyOn(mockedEditorApi, 'resetFrameY');
@@ -249,8 +250,14 @@ describe('FrameController', () => {
 
     it('Should be possible to remove a frame', async () => {
         await mockedFrameController.remove(id);
-        expect(mockedEditorApi.removeFrame).toHaveBeenCalledTimes(1);
-        expect(mockedEditorApi.removeFrame).toHaveBeenCalledWith(id);
+        expect(mockedEditorApi.removeFrames).toHaveBeenCalledTimes(1);
+        expect(mockedEditorApi.removeFrames).toHaveBeenCalledWith([id]);
+    });
+
+    it('Should be possible to remove frames', async () => {
+        await mockedFrameController.removeFrames([id]);
+        expect(mockedEditorApi.removeFrames).toHaveBeenCalledTimes(2);
+        expect(mockedEditorApi.removeFrames).toHaveBeenCalledWith([id]);
     });
 
     it('Should be possible to reset a frame', async () => {