Bulk image upload to AEM Dynamic Media fails with “Not a Supported File Format” error

Bulk image uploads to Adobe Experience Manager (AEM) Dynamic Media or Scene7 fail with errors like not a supported file format or not a valid format, even when the images are valid JPG/JPEG files. This issue typically occurs during automated ingestion from remote servers. It often involves scripts or API calls.

The issue stems from bot protection mechanisms on the remote server that block requests from default clients, causing AEM to misinterpret HTML error pages as image files.

To fix this, update the User-Agent string or adjust server settings to allow image downloads without triggering bot protection.

Description description

Environment

  • Product: Adobe Experience Manager Dynamic Media / Scene7
  • Upload Method: Bulk asset ingestion, automated scripts, or API calls (for example, using UploadUrl functionality)
  • Asset Source: Remote/external server via public URLs (for example, external DAM, product repository, partner platform)

Issue/Symptoms

  • JPG and JPEG images fail to upload and are flagged in the Scene7 job logs as unsupported file format  or not a valid format.
  • Partial/inconsistent success: Some files in a batch job are uploaded correctly, others fail.
  • Manual upload or download of assets (using a browser) from the same URL generally works.

Root Cause

  • Remote server hosting the image files uses server-side bot protection that blocks rapid or automated requests.
  • Requests from the default Apache HttpClient User-Agent (Apache-HttpClient/4.5.x) are flagged and blocked.
  • Server responds with HTTP 429 (Too Many Requests) and returns an HTML error page instead of the image.
  • The Dynamic Media Server attempts to process the response from the asset URL as an image; since it’s actually HTML and not a JPEG, logs report it as not a supported file format  or not a valid format.

Resolution resolution

To fix the issue:

  1. Configure the remote server to allow requests from the default Apache HttpClient User-Agent (Apache-HttpClient/4.5.14).

  2. Alternatively, modify your script or application to use a different User-Agent string that mimics a standard browser, such as:

    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36

  3. If changing server configurations or User-Agent strings isn’t feasible, implement rate-limiting in your script to reduce concurrent requests and avoid triggering bot detection.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f