Reference · Tools
AWS Rekognition
Analyze images using AWS Rekognition to detect faces, labels, text, celebrities, and moderation content.
The AWS Rekognition node sends images to Amazon's computer vision API and returns structured JSON results for one of five analysis types: face detection, label detection, OCR, celebrity recognition, or moderation content screening. Connect it after a file-download node to automatically flag uploaded images for unsafe content, or point it at an S3 bucket to analyze stored assets without pulling them into your workflow first.
- Node type
- Action (binary)
- Parameters
- 9
- Outputs
- Output, Error
- Credentials
- AWS
AWS Rekognition
Analyze images for faces, labels, text, celebrities, and moderation content
Overview
The AWS Rekognition tool sends images to the Amazon Rekognition API for computer vision analysis. It supports five analysis types: Detect Faces (facial landmarks, emotions, attributes), Detect Labels (objects, scenes, concepts), Detect Text (OCR), Recognize Celebrity (identify famous people), and Detect Moderation Labels (unsafe content). Images can be provided as binary data from an upstream node or referenced via an S3 bucket and object key. The tool reads the binary image, sends it to the Rekognition API, and returns the analysis results as JSON.
Category: Utility
Tool Name: aws_rekognition
Version: 1
Appearance: Icon: lucide-Server | Color: #FF9900
Node Type
Action (Binary) — handles file/binary data operations
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires AWS credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Image | image |
Operations
| Operation | Value | Description |
|---|---|---|
| Analyze | analyze | The operation to perform. |
Parameters
Image: Analyze
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Type | options | No | detectFaces | The type of image analysis to perform. |
Options: detectFaces (detect faces and facial attributes in an image), detectLabels (detect objects, scenes, and concepts in an image), detectModerationLabels (detect inappropriate or unsafe content), detectText (detect and extract text from an image — OCR), recognizeCelebrity (identify celebrities in an image) | ||||
| Binary File | boolean | Yes | false | Whether the image to analyze should be taken from a binary field. When false, provide an S3 bucket and object key. |
| Input Binary Field | string | Yes | data | The name of the binary property containing the image to analyze. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use. (shown when Binary File is true) |
| Bucket | string | Yes | — | Name of the S3 bucket containing the image. Supports expressions like {{ $json.bucket }}. (shown when Binary File is false) |
| Name | string | Yes | — | S3 object key name of the image. (shown when Binary File is false) |
| Additional Fields | collection | No | {} | Optional settings that refine the analysis. Which of them apply depends on the Type you chose. |
| — Attributes | multiOptions | No | [] | An array of facial attributes you want to be returned. “All” returns all attributes; “Default” returns a subset (BoundingBox, Confidence, Pose, Quality, Landmarks). (shown when Type is detectFaces) |
Options: all, default | ||||
| — Max Labels | number | No | 0 | Maximum number of labels to return. The service returns the specified number of highest-confidence labels. Set to 0 for no limit. (shown when Type is detectLabels, detectModerationLabels) |
— Min Confidence (minConfidence) | number | No | 0 | Minimum confidence level for returned labels. Labels below this threshold are excluded. Value between 0 and 100. (shown when Type is detectLabels, detectModerationLabels) |
| — Version | string | No | — | If the bucket is versioning-enabled, specify the object version to analyze. (shown when Binary File is false) |
| — Regions of Interest | fixedCollection | No | {} | Bounding box regions to restrict text detection analysis to specific parts of the image. Add more than one entry to cover several regions. (shown when Type is detectText) |
| — — Height | number | No | 0 | Height of the bounding box as a ratio of the overall image height. |
| — — Left | number | No | 0 | Left coordinate of the bounding box as a ratio of overall image width. |
| — — Top | number | No | 0 | Top coordinate of the bounding box as a ratio of overall image height. |
| — — Width | number | No | 0 | Width of the bounding box as a ratio of the overall image width. |
| — Word Filter | collection | No | {} | Filters to apply to detected text words. (shown when Type is detectText) |
| — — Min Bounding Box Height | number | No | 0 | Minimum height of the word bounding box. Words with bounding box heights less than this value are excluded. Value is relative to image height. |
| — — Min Bounding Box Width | number | No | 0 | Minimum width of the word bounding box. Words with bounding box widths less than this value are excluded. Value is relative to image width. |
— — Min Confidence (MinConfidence) | number | No | 0 | Minimum confidence for word detection. Words with confidence below this value are excluded. Values should be between 50 and 100. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
One output item per input item. The Amazon Rekognition response is merged into the item JSON at the top level — the incoming fields stay addressable alongside the analysis, and the SDK’s transport metadata ($metadata) is stripped before the merge. Binary data on the input item is forwarded unchanged, and it is forwarded on error items too, so a retry branch still has the image.
The merged payload is the raw response of the Amazon Rekognition operation that matches your Type, so its shape changes with that selection:
| Type | Rekognition operation called | What comes back |
|---|---|---|
detectFaces | DetectFaces | One entry per detected face, each with its bounding box, confidence, pose, quality and landmarks — plus emotions, age range and the other facial attributes when Attributes is set to all. |
detectLabels | DetectLabels | The objects, scenes and concepts found in the image, each with a confidence score, trimmed by Max Labels and Min Confidence. |
detectModerationLabels | DetectModerationLabels | The unsafe-content categories the image matched, each with a confidence score and its parent category. |
detectText | DetectText | Detected words and lines, each with its text, confidence and bounding geometry, narrowed by Regions of Interest and Word Filter. |
recognizeCelebrity | RecognizeCelebrities | The recognized celebrities with their names, match confidence and known URLs, alongside the faces that could not be matched. |
The nested detection arrays keep Amazon’s own PascalCase field names, so downstream expressions address them exactly as the Rekognition API reference documents them for the operation you called. Because a whole detection array lands on one item, use a Split Out node when you want one workflow item per face, label or word.
Nothing is written when an image contains no matches — the response simply carries an empty array, which is a successful result rather than an error.
Usage Examples
- Detect faces and emotions in a photo
- Identify objects and scenes in an image using label detection
- Extract text from an image using OCR
- Recognize celebrities in a photograph
- Check an image for inappropriate content with moderation labels
- Analyze an image stored in S3 without downloading it first
Example Configuration
Detect faces, with the full attribute set, on an image supplied as binary data:
{
"type": "aws_rekognition",
"parameters": {
"resource": "image",
"operation": "analyze",
"type": "detectFaces",
"binaryData": true,
"binaryPropertyName": "data",
"additionalFields": {
"attributes": ["all"]
}
}
}
Label an image that already lives in S3, keeping only high-confidence results:
{
"type": "aws_rekognition",
"parameters": {
"resource": "image",
"operation": "analyze",
"type": "detectLabels",
"binaryData": false,
"bucket": "{{ $json.bucket }}",
"name": "photos/sample-image.jpg",
"additionalFields": {
"maxLabels": 10,
"minConfidence": 75
}
}
}
Run OCR over the top half of an image and drop small or unreliable words:
{
"type": "aws_rekognition",
"parameters": {
"resource": "image",
"operation": "analyze",
"type": "detectText",
"binaryData": true,
"binaryPropertyName": "data",
"additionalFields": {
"regionsOfInterestUi": {
"regionsOfInterestValues": [
{ "top": 0, "left": 0, "width": 1, "height": 0.5 }
]
},
"wordFilterUi": {
"MinBoundingBoxHeight": 0.02,
"MinConfidence": 85
}
}
}
}
Screen user uploads for unsafe content:
{
"type": "aws_rekognition",
"parameters": {
"resource": "image",
"operation": "analyze",
"type": "detectModerationLabels",
"binaryData": false,
"bucket": "user-uploads",
"name": "content/user-image-123.jpg",
"additionalFields": {
"minConfidence": 70
},
"maxConcurrency": 20
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Analyze images with AWS Rekognition to detect faces, labels, text, celebrities, or moderation content.
- Two ways in, one node. Turn Binary File on to analyze a file already on the item; turn it off and give a Bucket and Name to analyze an object in S3 without downloading it first. Version applies to the S3 route only, for versioning-enabled buckets.
- Additional Fields are scoped to the Type. Attributes belongs to
detectFaces; Max Labels and Min Confidence todetectLabelsanddetectModerationLabels; Regions of Interest and Word Filter todetectText. Fields set for a different Type are simply not sent. allcosts more thandefault. The default attribute set returns bounding box, confidence, pose, quality and landmarks;alladds the emotion, age and appearance attributes and is billed accordingly.- Min Confidence is a percentage. Values run 0–100, and Amazon recommends staying at or above 50 for word-level text filtering.
- Region comes from the credential. The node analyzes images in the region recorded on the AWS credential, so an S3 bucket in a different region needs a credential for that region.
- One node, one analysis type. To collect faces and labels for the same image, chain two nodes rather than trying to combine types.
Frequently asked questions
Do I have to download an image before analyzing it, or can I point the node at S3 directly?
You can do either. Toggle Binary File on to analyze a file already carried on the workflow item from an upstream node. Toggle it off and supply a Bucket and Object Name to have Rekognition fetch the image directly from S3 — no download step needed. If your bucket has versioning enabled, you can also specify an object Version to target a particular revision.
My S3 bucket is in us-west-2 but my workflow credential is for us-east-1. Will analysis work?
No. The node runs the Rekognition API call in the region recorded on your AWS credential, and Rekognition must be able to reach the S3 object in that same region. If your bucket is in a different region, create a separate AWS credential set to that region and use it on this node.
What is the difference between the 'default' and 'all' attribute sets for face detection, and does it matter for cost?
The default set returns bounding box, confidence, pose, image quality, and facial landmarks. Choosing 'all' adds emotion predictions, estimated age range, and appearance attributes like facial hair and eyewear. Amazon bills the 'all' option at a higher rate, so only use it if you actually need those extra attributes.
Can I run face detection and label detection on the same image in one node?
No — each node executes exactly one analysis type per run. To collect both face data and object labels for the same image, chain two AWS Rekognition nodes in sequence. The Additional Fields (like Max Labels or Attributes) are also scoped per type, so fields set for a different type than the one selected are simply ignored.
What does Min Confidence do, and what value should I set it to?
Min Confidence filters out results below a confidence threshold expressed as a percentage from 0 to 100. It applies to label detection, moderation label detection, and word-level text filtering in OCR. Amazon recommends keeping it at 50 or above for text filtering; going lower increases the chance of including unreliable detections in your output.
Build with the AWS Rekognition node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need AWS credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.