store migration image issus Node code >JPEG

Topic summary

A developer is encountering errors when migrating approximately 25,000 product images to Shopify from a third-party API. The core issue is that the API returns image URLs with uppercase .JPEG extensions, which Shopify’s API rejects—only accepting lowercase .jpg, .png, .gif, and .webp formats.

Current situation:

  • Third-party API provides image URLs ending in .JPEG (uppercase)
  • Direct upload attempts via Shopify API fail with format rejection errors
  • A Node.js script was attempted but returns a 403 error
  • The developer has created an image handler in their Shopify app, but it’s not functioning

Key challenge:
The developer needs a Node.js solution to programmatically convert or handle these uppercase .JPEG extensions during bulk migration.

Status: The issue remains unresolved with no working code solution provided yet. The discussion includes screenshots showing the API response structure and error messages.

Summarized with AI on October 28. AI used: claude-sonnet-4-5-20250929.

Shopify only accepts .jpg, .png, .gif, and .webp image formats for product images — not .JPEG (uppercase extension). Even though .jpeg is technically the same as .jpg, Shopify is strict about the file extension casing and format during API uploads.

My third-party API response looks like this. How can I upload images to Shopify products using this data? When I try to add an image using the JSON response, I get an error saying JPEG is not allowed

“part_photo_gallery”: [
https://images.ovoko.com/br/1024x768/eea/0/0/0/0/0/0/0/5/2/4cae965ba2ddb40e3a5753c0e3183e94-bmw-3-e36-variklio-tvirtinimo-kronsteinas.JPEG”,
https://images.ovoko.com/tr/1024x768/eea/0/0/0/0/0/0/0/5/2/77ac769443f8fa77a776ac6760d4d8fd-bmw-3-e36-variklio-tvirtinimo-kronsteinas.JPEG”,
https://images.ovoko.com/bl/1024x768/eea/0/0/0/0/0/0/0/5/2/95be6d975003603eee403799f99e6573-bmw-3-e36-variklio-tvirtinimo-kronsteinas.JPEG”,
https://images.ovoko.com/tr/1024x768/eea/0/0/0/0/0/0/0/5/2/e5cfdfe5fd0b506a4e4e3eb0d935c16e-bmw-3-e36-variklio-tvirtinimo-kronsteinas.JPEG”,
https://images.ovoko.com/bl/1024x768/eea/0/0/0/0/0/0/0/5/2/d8333b266be35493f0a419135346263f-bmw-3-e36-variklio-tvirtinimo-kronsteinas.JPEG”,
https://images.ovoko.com/bl/1024x768/eea/0/0/0/0/0/0/0/5/2/e57e324a516e475ab33550d0d1ec90c4-bmw-3-e36-variklio-tvirtinimo-kronsteinas.JPEG
]

2 Likes

I try using Node script but not working properly, showing me error

Yash__1-1746454402624.png

1 Like

Yes, but how can I do it using Node.js code?

total 25k images from product data

I created an image handler in the Shopify app, but it’s not working, showing me error 403

If you have any solution using Node code, please share it with me.