Skip to main content

Imagga API Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to an Imagga API location.
imagga_api.png

Imagga API

  1. Click the + icon on the Nexset that will be sent to the Imagga API destination, and select the Send to Destination option from the menu.

  2. Select the Imagga API connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Imagga API, and click Next; or, create a new Imagga API credential for use in this flow.

  3. In Nexla, Imagga API destinations can be created using pre-built endpoint templates, which expedite destination setup for common Imagga API write operations. Each template is designed specifically for the corresponding Imagga API endpoint, making destination setup easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Imagga API destinations can also be configured manually, allowing you to send data to Imagga API endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Imagga API endpoints. Each template is designed specifically for the corresponding Imagga API endpoint, making destination setup easy and efficient.

Endpoint Settings

  • Select the endpoint to which this destination will send data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your destination for this endpoint.

    Upload Image File to Imagga

    Uploads a local image file to Imagga and receives an upload ID that can be used with all analysis endpoints instead of a public image URL. Use this endpoint when your images are not publicly accessible via URL.

    • Sends a POST request to https://api.imagga.com/v2/uploads with the image file as a multipart form upload.
    • No path parameters are required. The response contains an upload_id that can be referenced in subsequent analysis endpoints (tags, categories, colors, etc.).

    Uploaded images are stored temporarily on Imagga's servers. Use the Delete Uploaded Image endpoint to clean up uploads after analysis is complete and to manage storage within your account quota.

    Delete Uploaded Image from Imagga

    Deletes a previously uploaded image from Imagga's servers. Use this endpoint to clean up temporary uploads after analysis is complete.

    • Sends a DELETE request to https://api.imagga.com/v2/uploads/{'{uploadId}'} with the upload ID in the path.
    • Configure the following parameters: Upload ID — the ID of the previously uploaded image to delete, as returned by the Upload Image File endpoint.

    Deleted images cannot be recovered. Confirm that all required analysis operations have been completed before deleting an uploaded image.

    Submit Tag Feedback

    Submits feedback on tags generated for an image to improve tagging accuracy. Use this endpoint to provide positive or negative signal on Imagga tags as part of a model improvement workflow.

    • Sends a POST request to https://api.imagga.com/v2/tags/feedback with a JSON payload containing the image reference and tag feedback.
    • No path parameters are required; all feedback fields are provided in the request body.

    Tag feedback contributes to the overall quality of Imagga's models over time. Consistent feedback on domain-specific images can improve tagging accuracy for your use cases.

    Create Face Groupings

    Asynchronously groups an unstructured set of faces into visually similar clusters. Returns a ticket ID for polling the result. Use this endpoint to organize face datasets by identity without predefined labels.

    • Sends a POST request to https://api.imagga.com/v2/faces/groupings with a list of face image references in the request body.
    • No path parameters are required. The response contains a ticket_id that can be used with the Get Async Job Ticket endpoint to retrieve results when the grouping job completes.

    Face grouping is an asynchronous operation. Use the Get Async Job Ticket source endpoint to poll for completion using the returned ticket ID before attempting to retrieve or use the grouping results.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can send a test payload to the Imagga API to ensure that the destination is configured correctly.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Imagga API destinations can also be manually configured to send data to any valid Imagga API endpoint. A common use case is submitting image URLs stored in a Nexset to the Imagga /tags, /categories, or /uploads endpoints for automated image analysis. You can also configure Nexla to automatically send the response received from the Imagga API after each call to a new Nexla webhook data source for downstream processing of analysis results.

First, select the API method that will be used for calls to the Imagga API from the Method pulldown menu.

  • POST: Use for submitting images for analysis (e.g., uploading image content or triggering categorization jobs).
  • GET: Use for retrieving analysis results or listing previously processed images.

Data Format

  1. Select the format in which the Nexset data will be sent to the Imagga API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call.

    The Imagga API accepts requests in application/x-www-form-urlencoded format for image URL submissions and multipart/form-data for binary image uploads. For most Nexla data flow use cases — such as submitting a list of image URLs for tagging — select JSON or URL-encoded form data as the content format, and verify the format against the specific endpoint's requirements in the Imagga API documentation.

API Endpoint URL

  1. Enter the URL of the Imagga API endpoint to which you want to send the Nexset data in the URL field.

    Common Imagga API destination endpoints include:

    • Image Tagging: https://api.imagga.com/v2/tags — Submit an image URL or upload ID to receive descriptive tags and confidence scores.
    • Image Categorization: https://api.imagga.com/v2/categories/{'{categorizer_id}'} — Classify images using a named categorizer; replace {'{categorizer_id}'} with your target categorizer (e.g., personal_photos).
    • Image Upload: https://api.imagga.com/v2/uploads — Upload image content to Imagga for subsequent analysis; returns an upload_id that can be referenced in tagging or categorization calls.
    • Content Moderation: https://api.imagga.com/v2/categories/nsfw_beta — Submit images for NSFW content classification.
    • Face Detection: https://api.imagga.com/v2/faces/detections — Submit images for face detection and attribute analysis.

    Imagga API endpoints are versioned. The current stable API version is v2. All endpoint URLs should begin with https://api.imagga.com/v2/. Consult the Imagga API documentation to confirm the correct endpoint path and required parameters for your use case.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include the Authorization header here. Nexla automatically constructs and includes the Basic Authentication header using the API Key and API Secret stored in your Imagga API credential.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Imagga API destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings. Some algorithms require additional settings — click on an algorithm listed below to view instructions for configuring these settings.

Property Inside JSON Object

  1. Enter the name of the JSON property that should contain the batched records in the Property Name field.
  2. If any additional properties should be included in the request, enter the properties in the Other Props field in JSON format.

Code

  1. Enter the code that will be used to create the batched request in the code editor below the Grouping Algorithm field.

Response Webhook

Optional

Nexla can automatically send the response received from the Imagga API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and capture any image analysis results, upload IDs, or error messages returned by Imagga after each call.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Imagga API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.
  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing

After all endpoint settings have been configured, Nexla can send a test payload to the Imagga API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Imagga API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Imagga API endpoint, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to the Imagga API until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.