What is @aws-sdk/client-rekognition?
@aws-sdk/client-rekognition is an AWS SDK for JavaScript package that provides a client for Amazon Rekognition, a service that makes it easy to add image and video analysis to your applications. The package allows you to perform a variety of tasks such as object detection, facial analysis, and text recognition.
What are @aws-sdk/client-rekognition's main functionalities?
Detecting Labels in an Image
This feature allows you to detect objects, scenes, and concepts in an image stored in an S3 bucket. The code sample demonstrates how to use the DetectLabelsCommand to get labels for an image.
const { RekognitionClient, DetectLabelsCommand } = require('@aws-sdk/client-rekognition');
const client = new RekognitionClient({ region: 'us-west-2' });
const params = {
Image: {
S3Object: {
Bucket: 'example-bucket',
Name: 'example.jpg'
}
},
MaxLabels: 10
};
const run = async () => {
try {
const data = await client.send(new DetectLabelsCommand(params));
console.log('Labels detected:', data.Labels);
} catch (err) {
console.error('Error:', err);
}
};
run();
Facial Analysis
This feature allows you to analyze faces in an image to detect attributes such as age range, emotions, and facial landmarks. The code sample demonstrates how to use the DetectFacesCommand to get detailed facial analysis.
const { RekognitionClient, DetectFacesCommand } = require('@aws-sdk/client-rekognition');
const client = new RekognitionClient({ region: 'us-west-2' });
const params = {
Image: {
S3Object: {
Bucket: 'example-bucket',
Name: 'example.jpg'
}
},
Attributes: ['ALL']
};
const run = async () => {
try {
const data = await client.send(new DetectFacesCommand(params));
console.log('Face details:', data.FaceDetails);
} catch (err) {
console.error('Error:', err);
}
};
run();
Text Detection in Images
This feature allows you to detect and recognize text within an image. The code sample demonstrates how to use the DetectTextCommand to extract text from an image stored in an S3 bucket.
const { RekognitionClient, DetectTextCommand } = require('@aws-sdk/client-rekognition');
const client = new RekognitionClient({ region: 'us-west-2' });
const params = {
Image: {
S3Object: {
Bucket: 'example-bucket',
Name: 'example.jpg'
}
}
};
const run = async () => {
try {
const data = await client.send(new DetectTextCommand(params));
console.log('Detected text:', data.TextDetections);
} catch (err) {
console.error('Error:', err);
}
};
run();
Other packages similar to @aws-sdk/client-rekognition
face-api.js
face-api.js is a JavaScript library for face detection and face recognition in the browser and Node.js. It provides functionalities similar to Amazon Rekognition's facial analysis but is more focused on client-side applications. Unlike @aws-sdk/client-rekognition, it does not require AWS services and can be used offline.
tesseract.js
tesseract.js is a JavaScript library that provides OCR (Optical Character Recognition) capabilities. It allows you to recognize text in images, similar to the text detection feature of Amazon Rekognition. However, tesseract.js is an open-source library and does not rely on cloud services, making it suitable for offline use.
opencv4nodejs
opencv4nodejs is a Node.js binding to OpenCV, a popular computer vision library. It provides a wide range of image processing and computer vision functionalities, including object detection and facial recognition. While it offers more flexibility and control compared to @aws-sdk/client-rekognition, it requires more setup and does not provide out-of-the-box cloud integration.
@aws-sdk/client-rekognition
Description
AWS SDK for JavaScript Rekognition Client for Node.js, Browser and React Native.
This is the API Reference for Amazon Rekognition Image, Amazon Rekognition Custom Labels,
Amazon Rekognition Stored
Video, Amazon Rekognition Streaming Video. It provides descriptions of actions, data types, common
parameters, and common errors.
Amazon Rekognition Image
Amazon Rekognition Custom Labels
Amazon Rekognition Video Stored Video
Amazon Rekognition Video Streaming Video
Installing
To install the this package, simply type add or install @aws-sdk/client-rekognition
using your favorite package manager:
npm install @aws-sdk/client-rekognition
yarn add @aws-sdk/client-rekognition
pnpm add @aws-sdk/client-rekognition
Getting Started
Import
The AWS SDK is modulized by clients and commands.
To send a request, you only need to import the RekognitionClient
and
the commands you need, for example ListCollectionsCommand
:
const { RekognitionClient, ListCollectionsCommand } = require("@aws-sdk/client-rekognition");
import { RekognitionClient, ListCollectionsCommand } from "@aws-sdk/client-rekognition";
Usage
To send a request, you:
- Initiate client with configuration (e.g. credentials, region).
- Initiate command with input parameters.
- Call
send
operation on client with command object as input. - If you are using a custom http handler, you may call
destroy()
to close open connections.
const client = new RekognitionClient({ region: "REGION" });
const params = {
};
const command = new ListCollectionsCommand(params);
Async/await
We recommend using await
operator to wait for the promise returned by send operation as follows:
try {
const data = await client.send(command);
} catch (error) {
} finally {
}
Async-await is clean, concise, intuitive, easy to debug and has better error handling
as compared to using Promise chains or callbacks.
Promises
You can also use Promise chaining
to execute send operation.
client.send(command).then(
(data) => {
},
(error) => {
}
);
Promises can also be called using .catch()
and .finally()
as follows:
client
.send(command)
.then((data) => {
})
.catch((error) => {
})
.finally(() => {
});
Callbacks
We do not recommend using callbacks because of callback hell,
but they are supported by the send operation.
client.send(command, (err, data) => {
});
v2 compatible style
The client can also send requests using v2 compatible style.
However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post
on modular packages in AWS SDK for JavaScript
import * as AWS from "@aws-sdk/client-rekognition";
const client = new AWS.Rekognition({ region: "REGION" });
try {
const data = await client.listCollections(params);
} catch (error) {
}
client
.listCollections(params)
.then((data) => {
})
.catch((error) => {
});
client.listCollections(params, (err, data) => {
});
Troubleshooting
When the service returns an exception, the error will include the exception information,
as well as response metadata (e.g. request id).
try {
const data = await client.send(command);
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
}
Getting Help
Please use these community resources for getting help.
We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.
To test your universal JavaScript code in Node.js, browser and react-native environments,
visit our code samples repo.
Contributing
This client code is generated automatically. Any modifications will be overwritten the next time the @aws-sdk/client-rekognition
package is updated.
To contribute to client you can check our generate clients scripts.
License
This SDK is distributed under the
Apache License, Version 2.0,
see LICENSE for more information.
Client Commands (Operations List)
AssociateFaces
Command API Reference / Input / Output
CompareFaces
Command API Reference / Input / Output
CopyProjectVersion
Command API Reference / Input / Output
CreateCollection
Command API Reference / Input / Output
CreateDataset
Command API Reference / Input / Output
CreateFaceLivenessSession
Command API Reference / Input / Output
CreateProject
Command API Reference / Input / Output
CreateProjectVersion
Command API Reference / Input / Output
CreateStreamProcessor
Command API Reference / Input / Output
CreateUser
Command API Reference / Input / Output
DeleteCollection
Command API Reference / Input / Output
DeleteDataset
Command API Reference / Input / Output
DeleteFaces
Command API Reference / Input / Output
DeleteProject
Command API Reference / Input / Output
DeleteProjectPolicy
Command API Reference / Input / Output
DeleteProjectVersion
Command API Reference / Input / Output
DeleteStreamProcessor
Command API Reference / Input / Output
DeleteUser
Command API Reference / Input / Output
DescribeCollection
Command API Reference / Input / Output
DescribeDataset
Command API Reference / Input / Output
DescribeProjects
Command API Reference / Input / Output
DescribeProjectVersions
Command API Reference / Input / Output
DescribeStreamProcessor
Command API Reference / Input / Output
DetectCustomLabels
Command API Reference / Input / Output
DetectFaces
Command API Reference / Input / Output
DetectLabels
Command API Reference / Input / Output
DetectModerationLabels
Command API Reference / Input / Output
DetectProtectiveEquipment
Command API Reference / Input / Output
DetectText
Command API Reference / Input / Output
DisassociateFaces
Command API Reference / Input / Output
DistributeDatasetEntries
Command API Reference / Input / Output
GetCelebrityInfo
Command API Reference / Input / Output
GetCelebrityRecognition
Command API Reference / Input / Output
GetContentModeration
Command API Reference / Input / Output
GetFaceDetection
Command API Reference / Input / Output
GetFaceLivenessSessionResults
Command API Reference / Input / Output
GetFaceSearch
Command API Reference / Input / Output
GetLabelDetection
Command API Reference / Input / Output
GetMediaAnalysisJob
Command API Reference / Input / Output
GetPersonTracking
Command API Reference / Input / Output
GetSegmentDetection
Command API Reference / Input / Output
GetTextDetection
Command API Reference / Input / Output
IndexFaces
Command API Reference / Input / Output
ListCollections
Command API Reference / Input / Output
ListDatasetEntries
Command API Reference / Input / Output
ListDatasetLabels
Command API Reference / Input / Output
ListFaces
Command API Reference / Input / Output
ListMediaAnalysisJobs
Command API Reference / Input / Output
ListProjectPolicies
Command API Reference / Input / Output
ListStreamProcessors
Command API Reference / Input / Output
ListTagsForResource
Command API Reference / Input / Output
ListUsers
Command API Reference / Input / Output
PutProjectPolicy
Command API Reference / Input / Output
RecognizeCelebrities
Command API Reference / Input / Output
SearchFaces
Command API Reference / Input / Output
SearchFacesByImage
Command API Reference / Input / Output
SearchUsers
Command API Reference / Input / Output
SearchUsersByImage
Command API Reference / Input / Output
StartCelebrityRecognition
Command API Reference / Input / Output
StartContentModeration
Command API Reference / Input / Output
StartFaceDetection
Command API Reference / Input / Output
StartFaceSearch
Command API Reference / Input / Output
StartLabelDetection
Command API Reference / Input / Output
StartMediaAnalysisJob
Command API Reference / Input / Output
StartPersonTracking
Command API Reference / Input / Output
StartProjectVersion
Command API Reference / Input / Output
StartSegmentDetection
Command API Reference / Input / Output
StartStreamProcessor
Command API Reference / Input / Output
StartTextDetection
Command API Reference / Input / Output
StopProjectVersion
Command API Reference / Input / Output
StopStreamProcessor
Command API Reference / Input / Output
TagResource
Command API Reference / Input / Output
UntagResource
Command API Reference / Input / Output
UpdateDatasetEntries
Command API Reference / Input / Output
UpdateStreamProcessor
Command API Reference / Input / Output