@nanonets/image-classification
Version:
NanoNets' Image Classification Node.js SDK.
119 lines (81 loc) • 4.01 kB
Markdown
# NanoNets Image Classification Node.js SDK
The [NanoNets](https://nanonets.com) Image Classification (IC) Node.js SDK.
> NOTE:
>
> - This package supports both CommonJS and ES Module systems.
> - All API requests from the browser will fail due to CORS policies.
> - API Keys have full access to the user's account. **Please do not expose API Keys on the client.**
> - Please note that compiling, obfuscating, minifying or bundling (for example in React.js, Angular, Vue.js, React Native, etc.) **does not** hide the API Key and **it can still be extracted from the final application**.
> - The API Key should only be known to the server code and all client requests to the API must go through a server.
## Installation
```
npm install @nanonets/image-classification
```
## Use the NanoNets SDK
> NOTE: A fully working example using the SDK can be found in the [example](example) directory.
1. Import/require the Image Classification package.
```javascript
// ES Modules
import ImageClassification from "@nanonets/image-classification";
// CommonJS
const ImageClassification = require("@nanonets/image-classification");
```
2. Instantiate the Image Classification (IC) class.
```javascript
const ic = new ImageClassification(apiKey, modelId);
```
> NOTE:
>
> - The API Key can be found in the user's [NanoNets Account section](https://app.nanonets.com/#/keys) and Model ID can be found in the model's settings in the NanoNets web app.
> - Models need to be created and trained from [the NanoNets web app](https://app.nanonets.com) before being able to make predictions.
3. Use the [Image Classification API](#image-classification-api) to get prediction results from the model(s).
## Image Classification API
### Table of Contents
- [Class Instantiation (Constructor)](#class-instantiation-constructor)
- [Get Model Details](#get-model-details)
- [Predict Using URLs](#predict-using-urls)
- [Predict Using File](#predict-using-file)
### Class Instantiation (Constructor)
```javascript
const ic = new ImageClassification(apiKey, modelId);
```
#### Parameters
- `apiKey`
- Type: String
- Required: True
- `modelId`
- Type: String
- Required: True
> NOTE:
>
> - Class Instantiation is mandatory.
> - The API Key can be found in the user's [NanoNets Account section](https://app.nanonets.com/#/keys) and Model ID can be found in the model's settings in the NanoNets web app.
> - API Keys have full access to the user's account. **Please do not expose API Keys on the client.**
> - Please note that compiling, obfuscating, minifying or bundling (for example in React.js, Angular, Vue.js, React Native, etc.) **does not** hide the API Key and **it can still be extracted from the final application**.
> - The API Key should only be known to the server code and all client requests to the API must go through a server.
### Get Model Details
```javascript
await ic.getModelDetails();
```
[Response example and other details](https://nanonets.com/documentation/#operation/ImageCategorizationModelGet)
> The `getModelDetails` function returns a promise, so it needs to be awaited.
### Predict Using URLs
```javascript
await ic.predictUsingUrls(urlArray);
```
#### Parameters
- `urlArray`
- Type: Array of Strings
- Required: True
[Response example and other details](https://nanonets.com/documentation/#operation/ImageCategorizationLabelUrlsPost2)
> The `predictUsingUrls` function returns a promise, so it needs to be awaited.
### Predict Using File
```javascript
await ic.predictUsingFile(filePath);
```
#### Parameters
- `filePath`
- Type: String
- Required: True
[Response example and other details](https://nanonets.com/documentation/#operation/ImageCategorizationLabelFilePost)
> The `predictUsingFile` function returns a promise, so it needs to be awaited.