From 89bf3bdadebffbe87ff2f8c3e7d655ecc14b0c1f Mon Sep 17 00:00:00 2001 From: Mateusz Sluszniak <56299341+msluszniak@users.noreply.github.com> Date: Fri, 27 Feb 2026 18:28:21 +0100 Subject: [PATCH 1/5] fix: Make package.json accept newer versions of libs, e.g. Expo (#886) This PR fixes package.json in both expo and bare resource fetchers. - [ ] Yes - [x] No - [x] Bug fix (change which fixes an issue) - [ ] New feature (change which adds functionality) - [ ] Documentation update (improves or adds clarity to existing documentation) - [ ] Other (chores, tests, code style improvements etc.) - [x] iOS - [ ] Android * Run minimal app that utilizes this version of our library with expo 55 (pack react native executorch and expo resource fetchers into tgz and install in template app) and check if everything works correctly. * Run text to image example as this PR introduces changes in this package and check if everything works ok. Closes #882 - [x] I have performed a self-review of my code - [x] I have commented my code, particularly in hard-to-understand areas - [x] I have updated the documentation accordingly - [ ] My changes generate no new warnings --- .../classes/TextToImageModule.md | 28 ++++++------ packages/expo-resource-fetcher/package.json | 45 +++++++++++++++++++ packages/react-native-executorch/package.json | 4 +- .../computer_vision/TextToImageModule.ts | 13 ++++-- yarn.lock | 4 +- 5 files changed, 72 insertions(+), 22 deletions(-) create mode 100644 packages/expo-resource-fetcher/package.json diff --git a/docs/docs/06-api-reference/classes/TextToImageModule.md b/docs/docs/06-api-reference/classes/TextToImageModule.md index 5470a8d9a..b1d62a437 100644 --- a/docs/docs/06-api-reference/classes/TextToImageModule.md +++ b/docs/docs/06-api-reference/classes/TextToImageModule.md @@ -1,6 +1,6 @@ # Class: TextToImageModule -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:14](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L14) +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:14](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L14) Module for text-to-image generation tasks. @@ -14,7 +14,7 @@ Module for text-to-image generation tasks. > **new TextToImageModule**(`inferenceCallback?`): `TextToImageModule` -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:22](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L22) +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:22](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L22) Creates a new instance of `TextToImageModule` with optional callback on inference step. @@ -40,7 +40,7 @@ Optional callback function that receives the current step index during inference > **nativeModule**: `any` = `null` -Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/BaseModule.ts#L8) +Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/BaseModule.ts#L8) Native module instance @@ -54,7 +54,7 @@ Native module instance > **delete**(): `void` -Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/BaseModule.ts#L41) +Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/BaseModule.ts#L41) Unloads the model from memory. @@ -70,9 +70,9 @@ Unloads the model from memory. ### forward() -> **forward**(`input`, `imageSize`, `numSteps`, `seed?`): `Promise`\<`string`\> +> **forward**(`input`, `imageSize?`, `numSteps?`, `seed?`): `Promise`\<`string`\> -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L100) +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L100) Runs the model to generate an image described by `input`, and conditioned by `seed`, performing `numSteps` inference steps. The resulting image, with dimensions `imageSize`×`imageSize` pixels, is returned as a base64-encoded string. @@ -85,13 +85,13 @@ The resulting image, with dimensions `imageSize`×`imageSize` pixels, is returne The text prompt to generate the image from. -##### imageSize +##### imageSize? `number` = `512` The desired width and height of the output image in pixels. -##### numSteps +##### numSteps? `number` = `5` @@ -115,7 +115,7 @@ A Base64-encoded string representing the generated PNG image. > `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\> -Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/BaseModule.ts#L23) +Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/BaseModule.ts#L23) Runs the model's forward method with the given input tensors. It returns the output tensors that mimic the structure of output from ExecuTorch. @@ -144,7 +144,7 @@ Array of output tensors. > **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\> -Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/BaseModule.ts#L34) +Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/BaseModule.ts#L34) Gets the input shape for a given method and index. @@ -178,7 +178,7 @@ The input shape as an array of numbers. > **interrupt**(): `void` -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:127](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L127) +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:132](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L132) Interrupts model generation. The model is stopped in the nearest step. @@ -190,9 +190,9 @@ Interrupts model generation. The model is stopped in the nearest step. ### load() -> **load**(`model`, `onDownloadProgressCallback`): `Promise`\<`void`\> +> **load**(`model`, `onDownloadProgressCallback?`): `Promise`\<`void`\> -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:35](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L35) +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:35](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L35) Loads the model from specified resources. @@ -222,7 +222,7 @@ Object containing sources for tokenizer, scheduler, encoder, unet, and decoder. [`ResourceSource`](../type-aliases/ResourceSource.md) -##### onDownloadProgressCallback +##### onDownloadProgressCallback? (`progress`) => `void` diff --git a/packages/expo-resource-fetcher/package.json b/packages/expo-resource-fetcher/package.json new file mode 100644 index 000000000..811eefe63 --- /dev/null +++ b/packages/expo-resource-fetcher/package.json @@ -0,0 +1,45 @@ +{ + "name": "@react-native-executorch/expo-resource-fetcher", + "version": "0.1.0", + "description": "Expo resource fetcher for react-native-executorch", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "exports": { + ".": { + "import": "./lib/index.js", + "types": "./lib/index.d.ts" + } + }, + "files": [ + "lib" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/software-mansion/react-native-executorch.git", + "directory": "packages/expo-resource-fetcher" + }, + "scripts": { + "prepare": "tsc", + "typecheck": "tsc --noEmit", + "lint": "eslint \"**/*.{js,ts,tsx}\"", + "clean": "del-cli lib" + }, + "peerDependencies": { + "expo": ">=54.0.0", + "expo-asset": ">=12.0.0", + "expo-file-system": ">=19.0.0", + "react-native": "*", + "react-native-executorch": "*" + }, + "devDependencies": { + "@types/react": "~19.1.10", + "expo": "^54.0.0", + "expo-asset": "12.0.11", + "expo-file-system": "^19.0.20", + "react": "19.1.0", + "react-native": "0.81.5", + "react-native-executorch": "workspace:*", + "typescript": "~5.9.2" + } +} diff --git a/packages/react-native-executorch/package.json b/packages/react-native-executorch/package.json index b17624f0a..548644545 100644 --- a/packages/react-native-executorch/package.json +++ b/packages/react-native-executorch/package.json @@ -67,8 +67,8 @@ }, "peerDependencies": { "expo": ">=54.0.0", - "expo-asset": "^12.0.0", - "expo-file-system": "^19.0.0", + "expo-asset": ">=12.0.0", + "expo-file-system": ">=19.0.0", "react": "*", "react-native": "*" }, diff --git a/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts b/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts index 494c1a052..4303a156f 100644 --- a/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts +++ b/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts @@ -1,7 +1,7 @@ import { ResourceFetcher } from '../../utils/ResourceFetcher'; import { ResourceSource } from '../../types/common'; import { BaseModule } from '../BaseModule'; -import { Buffer } from 'buffer'; + import { PNG } from 'pngjs/browser'; import { RnExecutorchErrorCode } from '../../errors/ErrorCodes'; import { RnExecutorchError } from '../../errors/errorUtils'; @@ -115,10 +115,15 @@ export class TextToImageModule extends BaseModule { return ''; } const png = new PNG({ width: imageSize, height: imageSize }); - png.data = Buffer.from(outputArray); + png.data = outputArray as unknown as Buffer; const pngBuffer = PNG.sync.write(png, { colorType: 6 }); - const pngString = pngBuffer.toString('base64'); - return pngString; + const pngArray = new Uint8Array(pngBuffer as unknown as ArrayBufferLike); + let binary = ''; + const chunkSize = 8192; + for (let i = 0; i < pngArray.length; i += chunkSize) { + binary += String.fromCharCode(...pngArray.subarray(i, i + chunkSize)); + } + return btoa(binary); } /** diff --git a/yarn.lock b/yarn.lock index 1ca8d5d29..99f93c144 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12966,8 +12966,8 @@ __metadata: zod: "npm:^3.25.0" peerDependencies: expo: ">=54.0.0" - expo-asset: ^12.0.0 - expo-file-system: ^19.0.0 + expo-asset: ">=12.0.0" + expo-file-system: ">=19.0.0" react: "*" react-native: "*" languageName: unknown From bf1d69b6c4fe6eb866bea4981db573e779810547 Mon Sep 17 00:00:00 2001 From: Mateusz Sluszniak <56299341+msluszniak@users.noreply.github.com> Date: Fri, 27 Feb 2026 18:43:57 +0100 Subject: [PATCH 2/5] Delete packages/expo-resource-fetcher/package.json --- packages/expo-resource-fetcher/package.json | 45 --------------------- 1 file changed, 45 deletions(-) delete mode 100644 packages/expo-resource-fetcher/package.json diff --git a/packages/expo-resource-fetcher/package.json b/packages/expo-resource-fetcher/package.json deleted file mode 100644 index 811eefe63..000000000 --- a/packages/expo-resource-fetcher/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "@react-native-executorch/expo-resource-fetcher", - "version": "0.1.0", - "description": "Expo resource fetcher for react-native-executorch", - "main": "lib/index.js", - "types": "lib/index.d.ts", - "exports": { - ".": { - "import": "./lib/index.js", - "types": "./lib/index.d.ts" - } - }, - "files": [ - "lib" - ], - "license": "MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/software-mansion/react-native-executorch.git", - "directory": "packages/expo-resource-fetcher" - }, - "scripts": { - "prepare": "tsc", - "typecheck": "tsc --noEmit", - "lint": "eslint \"**/*.{js,ts,tsx}\"", - "clean": "del-cli lib" - }, - "peerDependencies": { - "expo": ">=54.0.0", - "expo-asset": ">=12.0.0", - "expo-file-system": ">=19.0.0", - "react-native": "*", - "react-native-executorch": "*" - }, - "devDependencies": { - "@types/react": "~19.1.10", - "expo": "^54.0.0", - "expo-asset": "12.0.11", - "expo-file-system": "^19.0.20", - "react": "19.1.0", - "react-native": "0.81.5", - "react-native-executorch": "workspace:*", - "typescript": "~5.9.2" - } -} From badade55322cef982d31d6c251986f473863f599 Mon Sep 17 00:00:00 2001 From: Mateusz Sluszniak <56299341+msluszniak@users.noreply.github.com> Date: Fri, 27 Feb 2026 19:07:52 +0100 Subject: [PATCH 3/5] Delete docs/docs/06-api-reference/classes/TextToImageModule.md --- .../classes/TextToImageModule.md | 237 ------------------ 1 file changed, 237 deletions(-) delete mode 100644 docs/docs/06-api-reference/classes/TextToImageModule.md diff --git a/docs/docs/06-api-reference/classes/TextToImageModule.md b/docs/docs/06-api-reference/classes/TextToImageModule.md deleted file mode 100644 index b1d62a437..000000000 --- a/docs/docs/06-api-reference/classes/TextToImageModule.md +++ /dev/null @@ -1,237 +0,0 @@ -# Class: TextToImageModule - -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:14](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L14) - -Module for text-to-image generation tasks. - -## Extends - -- `BaseModule` - -## Constructors - -### Constructor - -> **new TextToImageModule**(`inferenceCallback?`): `TextToImageModule` - -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:22](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L22) - -Creates a new instance of `TextToImageModule` with optional callback on inference step. - -#### Parameters - -##### inferenceCallback? - -(`stepIdx`) => `void` - -Optional callback function that receives the current step index during inference. - -#### Returns - -`TextToImageModule` - -#### Overrides - -`BaseModule.constructor` - -## Properties - -### nativeModule - -> **nativeModule**: `any` = `null` - -Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/BaseModule.ts#L8) - -Native module instance - -#### Inherited from - -`BaseModule.nativeModule` - -## Methods - -### delete() - -> **delete**(): `void` - -Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/BaseModule.ts#L41) - -Unloads the model from memory. - -#### Returns - -`void` - -#### Inherited from - -`BaseModule.delete` - ---- - -### forward() - -> **forward**(`input`, `imageSize?`, `numSteps?`, `seed?`): `Promise`\<`string`\> - -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L100) - -Runs the model to generate an image described by `input`, and conditioned by `seed`, performing `numSteps` inference steps. -The resulting image, with dimensions `imageSize`×`imageSize` pixels, is returned as a base64-encoded string. - -#### Parameters - -##### input - -`string` - -The text prompt to generate the image from. - -##### imageSize? - -`number` = `512` - -The desired width and height of the output image in pixels. - -##### numSteps? - -`number` = `5` - -The number of inference steps to perform. - -##### seed? - -`number` - -An optional seed for random number generation to ensure reproducibility. - -#### Returns - -`Promise`\<`string`\> - -A Base64-encoded string representing the generated PNG image. - ---- - -### forwardET() - -> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\> - -Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/BaseModule.ts#L23) - -Runs the model's forward method with the given input tensors. -It returns the output tensors that mimic the structure of output from ExecuTorch. - -#### Parameters - -##### inputTensor - -[`TensorPtr`](../interfaces/TensorPtr.md)[] - -Array of input tensors. - -#### Returns - -`Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\> - -Array of output tensors. - -#### Inherited from - -`BaseModule.forwardET` - ---- - -### getInputShape() - -> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\> - -Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/BaseModule.ts#L34) - -Gets the input shape for a given method and index. - -#### Parameters - -##### methodName - -`string` - -method name - -##### index - -`number` - -index of the argument which shape is requested - -#### Returns - -`Promise`\<`number`[]\> - -The input shape as an array of numbers. - -#### Inherited from - -`BaseModule.getInputShape` - ---- - -### interrupt() - -> **interrupt**(): `void` - -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:132](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L132) - -Interrupts model generation. The model is stopped in the nearest step. - -#### Returns - -`void` - ---- - -### load() - -> **load**(`model`, `onDownloadProgressCallback?`): `Promise`\<`void`\> - -Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:35](https://github.com/software-mansion/react-native-executorch/blob/a305030e7ac90325b5f5072ed4ef18e419f59d34/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L35) - -Loads the model from specified resources. - -#### Parameters - -##### model - -Object containing sources for tokenizer, scheduler, encoder, unet, and decoder. - -###### decoderSource - -[`ResourceSource`](../type-aliases/ResourceSource.md) - -###### encoderSource - -[`ResourceSource`](../type-aliases/ResourceSource.md) - -###### schedulerSource - -[`ResourceSource`](../type-aliases/ResourceSource.md) - -###### tokenizerSource - -[`ResourceSource`](../type-aliases/ResourceSource.md) - -###### unetSource - -[`ResourceSource`](../type-aliases/ResourceSource.md) - -##### onDownloadProgressCallback? - -(`progress`) => `void` - -Optional callback to monitor download progress. - -#### Returns - -`Promise`\<`void`\> - -#### Overrides - -`BaseModule.load` From 5fa4fd11f416e8392e4b071ff8649aad48d77f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20S=C5=82uszniak?= Date: Fri, 27 Feb 2026 19:10:03 +0100 Subject: [PATCH 4/5] revert mistaken deleting of api reference file --- .../classes/TextToImageModule.md | 237 ++++++++++++++++++ 1 file changed, 237 insertions(+) create mode 100644 docs/docs/06-api-reference/classes/TextToImageModule.md diff --git a/docs/docs/06-api-reference/classes/TextToImageModule.md b/docs/docs/06-api-reference/classes/TextToImageModule.md new file mode 100644 index 000000000..5470a8d9a --- /dev/null +++ b/docs/docs/06-api-reference/classes/TextToImageModule.md @@ -0,0 +1,237 @@ +# Class: TextToImageModule + +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:14](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L14) + +Module for text-to-image generation tasks. + +## Extends + +- `BaseModule` + +## Constructors + +### Constructor + +> **new TextToImageModule**(`inferenceCallback?`): `TextToImageModule` + +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:22](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L22) + +Creates a new instance of `TextToImageModule` with optional callback on inference step. + +#### Parameters + +##### inferenceCallback? + +(`stepIdx`) => `void` + +Optional callback function that receives the current step index during inference. + +#### Returns + +`TextToImageModule` + +#### Overrides + +`BaseModule.constructor` + +## Properties + +### nativeModule + +> **nativeModule**: `any` = `null` + +Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:8](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/BaseModule.ts#L8) + +Native module instance + +#### Inherited from + +`BaseModule.nativeModule` + +## Methods + +### delete() + +> **delete**(): `void` + +Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:41](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/BaseModule.ts#L41) + +Unloads the model from memory. + +#### Returns + +`void` + +#### Inherited from + +`BaseModule.delete` + +--- + +### forward() + +> **forward**(`input`, `imageSize`, `numSteps`, `seed?`): `Promise`\<`string`\> + +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:100](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L100) + +Runs the model to generate an image described by `input`, and conditioned by `seed`, performing `numSteps` inference steps. +The resulting image, with dimensions `imageSize`×`imageSize` pixels, is returned as a base64-encoded string. + +#### Parameters + +##### input + +`string` + +The text prompt to generate the image from. + +##### imageSize + +`number` = `512` + +The desired width and height of the output image in pixels. + +##### numSteps + +`number` = `5` + +The number of inference steps to perform. + +##### seed? + +`number` + +An optional seed for random number generation to ensure reproducibility. + +#### Returns + +`Promise`\<`string`\> + +A Base64-encoded string representing the generated PNG image. + +--- + +### forwardET() + +> `protected` **forwardET**(`inputTensor`): `Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\> + +Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:23](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/BaseModule.ts#L23) + +Runs the model's forward method with the given input tensors. +It returns the output tensors that mimic the structure of output from ExecuTorch. + +#### Parameters + +##### inputTensor + +[`TensorPtr`](../interfaces/TensorPtr.md)[] + +Array of input tensors. + +#### Returns + +`Promise`\<[`TensorPtr`](../interfaces/TensorPtr.md)[]\> + +Array of output tensors. + +#### Inherited from + +`BaseModule.forwardET` + +--- + +### getInputShape() + +> **getInputShape**(`methodName`, `index`): `Promise`\<`number`[]\> + +Defined in: [packages/react-native-executorch/src/modules/BaseModule.ts:34](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/BaseModule.ts#L34) + +Gets the input shape for a given method and index. + +#### Parameters + +##### methodName + +`string` + +method name + +##### index + +`number` + +index of the argument which shape is requested + +#### Returns + +`Promise`\<`number`[]\> + +The input shape as an array of numbers. + +#### Inherited from + +`BaseModule.getInputShape` + +--- + +### interrupt() + +> **interrupt**(): `void` + +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:127](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L127) + +Interrupts model generation. The model is stopped in the nearest step. + +#### Returns + +`void` + +--- + +### load() + +> **load**(`model`, `onDownloadProgressCallback`): `Promise`\<`void`\> + +Defined in: [packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts:35](https://github.com/software-mansion/react-native-executorch/blob/326d6344894d75625c600d5988666e215a32d466/packages/react-native-executorch/src/modules/computer_vision/TextToImageModule.ts#L35) + +Loads the model from specified resources. + +#### Parameters + +##### model + +Object containing sources for tokenizer, scheduler, encoder, unet, and decoder. + +###### decoderSource + +[`ResourceSource`](../type-aliases/ResourceSource.md) + +###### encoderSource + +[`ResourceSource`](../type-aliases/ResourceSource.md) + +###### schedulerSource + +[`ResourceSource`](../type-aliases/ResourceSource.md) + +###### tokenizerSource + +[`ResourceSource`](../type-aliases/ResourceSource.md) + +###### unetSource + +[`ResourceSource`](../type-aliases/ResourceSource.md) + +##### onDownloadProgressCallback + +(`progress`) => `void` + +Optional callback to monitor download progress. + +#### Returns + +`Promise`\<`void`\> + +#### Overrides + +`BaseModule.load` From fc0529d3a97fb2fe1c43d501c650d8b69130f4f6 Mon Sep 17 00:00:00 2001 From: Mateusz Sluszniak <56299341+msluszniak@users.noreply.github.com> Date: Fri, 27 Feb 2026 19:17:51 +0100 Subject: [PATCH 5/5] Bump version from 0.7.1 to 0.7.2 --- packages/react-native-executorch/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native-executorch/package.json b/packages/react-native-executorch/package.json index 548644545..c6219676c 100644 --- a/packages/react-native-executorch/package.json +++ b/packages/react-native-executorch/package.json @@ -1,6 +1,6 @@ { "name": "react-native-executorch", - "version": "0.7.1", + "version": "0.7.2", "description": "An easy way to run AI models in React Native with ExecuTorch", "source": "./src/index.ts", "main": "./lib/module/index.js",