Reference · Tools

AWS Rekognition

Analyze images using AWS Rekognition to detect faces, labels, text, celebrities, and moderation content.

Action (binary) Utility v1 Binary data

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

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires AWS credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Imageimage

Operations

OperationValueDescription
AnalyzeanalyzeThe operation to perform.

Parameters

Image: Analyze

ParameterTypeRequiredDefaultDescription
TypeoptionsNodetectFacesThe 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 FilebooleanYesfalseWhether the image to analyze should be taken from a binary field. When false, provide an S3 bucket and object key.
Input Binary FieldstringYesdataThe 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)
BucketstringYesName of the S3 bucket containing the image. Supports expressions like {{ $json.bucket }}. (shown when Binary File is false)
NamestringYesS3 object key name of the image. (shown when Binary File is false)
Additional FieldscollectionNo{}Optional settings that refine the analysis. Which of them apply depends on the Type you chose.
— AttributesmultiOptionsNo[]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 LabelsnumberNo0Maximum 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)numberNo0Minimum confidence level for returned labels. Labels below this threshold are excluded. Value between 0 and 100. (shown when Type is detectLabels, detectModerationLabels)
— VersionstringNoIf the bucket is versioning-enabled, specify the object version to analyze. (shown when Binary File is false)
— Regions of InterestfixedCollectionNo{}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)
— — HeightnumberNo0Height of the bounding box as a ratio of the overall image height.
— — LeftnumberNo0Left coordinate of the bounding box as a ratio of overall image width.
— — TopnumberNo0Top coordinate of the bounding box as a ratio of overall image height.
— — WidthnumberNo0Width of the bounding box as a ratio of the overall image width.
— Word FiltercollectionNo{}Filters to apply to detected text words. (shown when Type is detectText)
— — Min Bounding Box HeightnumberNo0Minimum 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 WidthnumberNo0Minimum 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)numberNo0Minimum confidence for word detection. Words with confidence below this value are excluded. Values should be between 50 and 100.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum 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:

TypeRekognition operation calledWhat comes back
detectFacesDetectFacesOne 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.
detectLabelsDetectLabelsThe objects, scenes and concepts found in the image, each with a confidence score, trimmed by Max Labels and Min Confidence.
detectModerationLabelsDetectModerationLabelsThe unsafe-content categories the image matched, each with a confidence score and its parent category.
detectTextDetectTextDetected words and lines, each with its text, confidence and bounding geometry, narrowed by Regions of Interest and Word Filter.
recognizeCelebrityRecognizeCelebritiesThe 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

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes 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 to detectLabels and detectModerationLabels; Regions of Interest and Word Filter to detectText. Fields set for a different Type are simply not sent.
  • all costs more than default. The default attribute set returns bounding box, confidence, pose, quality and landmarks; all adds 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 BusyBot

Last updated . Spotted something wrong? Tell us.