Skip to content

Analyze images

The following parameters are only supported by the /analyze endpoint. The modules.apply parameter can also be used with the /update endpoint.

Apply selective modules for faster image analysis

By default, Flow employs all registered modules to perform a comprehensive analysis. The optional parameter modules.apply allows you to specify which module names in a comma-separated list that should be utilized during the image analysis process. This can significantly enhance performance by focusing the analysis on relevant aspects, thereby reducing the computational cost and speeding up the process.

modules.apply=[modulename, ...]

You can choose from the following modules: color, content, copyspace, duplicate.

Performance gains from selective module indexing

It's important to note that the scope of subsequent search and filter operations will be constrained by the modules applied at this stage. For instance, if an image wasn't analyzed with the color search module, it won't be retrievable through color-based queries.

This is ideal for scenarios where full-scale analysis is unnecessary, and performance optimization is crucial. You should carefully choose the modules based on your specific needs to ensure that essential features for subsequent operations are not omitted.

Analyze by image URL

Analyze an image referenced by URL.

input.url=[image-url]

Valid protocols are HTTPS / HTTP. The image-url must be RFC2396 compliant and point to a valid, accessible image ressource or an error will be returned. Supported image types are jpg, png and gif.

Analyze by image upload

Upload and analyze a Base64 encoded image file (also known as Data-URI).

input.data=[base64-encoded-image-file]

Use POST request to be able to upload larger files without hitting URI length limits. Send the input.data parameter in POST body using Content-Type: application/x-www-form-urlencoded. Supported image types are jpg, png and gif.