Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated Apr 29, 2024

Label objects in an image

Setup the backend

If you haven't already done so, run amplify init inside your project and then amplify add auth (we recommend selecting the default configuration).

Run amplify add predictions and select Identify. Then use the following answers:

? What would you like to identify?
Identify Text
Identify Entities
❯ Identify Labels
Learn More
? Would you like use the default configuration? (Use arrow keys)
❯ Default Configuration
Advanced Configuration
? Who should have access? Auth and Guest users

The Advanced Configuration will allow you to select moderation for unsafe content or all of the identified labels. Default uses both.

NOTE: Due to a known issue, you will need to update your amplify backend configuration with the properties below before pushing to the cloud:

amplify/backend/identify-labels-resource/parameters.json

"access": "auth | authAndGuest",
"type": "LABELS | UNSAFE | ALL"

Now run amplify push which will generate your amplifyconfiguration.json and create resources in the cloud. You can now either add this to your backend or skip and add more features to your app.

Services used: Amazon Rekognition

Working with the API

Detect labels, such if an image has a desk or a chair in it

import { Predictions } from '@aws-amplify/predictions';
Predictions.identify({
labels: {
source: {
file
},
type: 'LABELS'
}
})
.then((response) => {
const { labels } = response;
labels.forEach((object) => {
const { name, boundingBoxes } = object;
});
})
.catch((err) => console.log({ err }));

Detect unsafe content in an image

import { Predictions } from '@aws-amplify/predictions';
Predictions.identify({
labels: {
source: {
file
},
type: 'UNSAFE'
}
})
.then((response) => {
const { unsafe } = response; // boolean
})
.catch((err) => console.log({ err }));

for both labels and unsafe content

import { Predictions } from '@aws-amplify/predictions';
Predictions.identify({
labels: {
source: {
file
},
type: 'ALL'
}
})
.then((response) => {
const { labels } = response;
const { unsafe } = response; // boolean
labels.forEach((object) => {
const { name, boundingBoxes } = object;
});
})
.catch((err) => console.log({ err }));