@directus-labs/ai-text-extraction-operation

1.0.1 • Public • Published

AI Text Extraction Operation

Extract text from image files within Directus Files with this custom operation, using Clarifai.

Sample output

This operation requires two options to be set - first a personal access token from Clarifai (you can find this in your personal settings under Security), and a link to the image file. It will return a JSON object, with all the found text into a single merged string and a list of regions where the texts were found.

You can use the operation to then save the result to a file description or item, or run further automation on the output.

Output

This operation outputs a JSON object with the following structure:

{
  "text": "DIGGING\nTHE RABBIT HOLE",
  "regions": [
    {
      "id": "1e3fcaca88308d377d567966e4ae1dda",
      "region_info": {
        "bounding_box": {
          "top_row": 0.6302083,
          "left_col": 0.102489024,
          "bottom_row": 0.703125,
          "right_col": 0.32796484
        }
      },
      "data": {
        "text": {
          "raw": "DIGGING",
          "text_info": {
            "encoding": "UnknownTextEnc"
          }
        }
      },
      "value": 0.9584053
    },
      ...
  ]
}

Flow Setup

Automatically Extract Text From New Files

Create a Flow with an Event Hook action trigger and a scope of files.upload. Use the AI Text Extraction operation, setting the File URL to https://your-directus-project-url/assets/{{ $trigger.key }}, being sure to provide your specific Directus Project URL.

This will work if your file is public, but if it isn't, you can append ?access_token=token to the File URL, replacing the value with a valid user token that has access to the file.

This operation will trigger on every new file upload, regardless of location or filetype. You may wish to add a conditional step between the trigger and transcription operation. The following condition rule will check that the file is an image:

{
    "$trigger": {
        "payload": {
            "type": {
                "_contains": "image"
            }
        }
    }
}

Extract Text On-Demand

Create a Flow with a Manual trigger and select a collection with a file field, which should contain an image file. Set the Location to Item Page Only. To receive the file ID create a Read Data operation for the same collection, setting IDs to {{ $trigger.body.keys[0] }}.

Use the AI Text Extraction operation, setting the File URL to https://your-directus-project-url/assets/{{ $last.file_field_name }}, being sure to provide your specific Directus Project URL and file field name.

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i @directus-labs/ai-text-extraction-operation

    Weekly Downloads

    3

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    5.49 kB

    Total Files

    4

    Last publish

    Collaborators

    • bryantgillespie
    • phazonoverload
    • rijk