Shopify ProductSet Mutation Error: "filename extension must match original source"

I’m encountering an issue while using the ProductSet mutation from API.

We are trying to update an existing product and upload an image using a pre-signed S3 URL, but getting the following error:

{
  "code": "INVALID_INPUT",
  "field": ["input", "files", "0", "filename"],
  "message": "Provided filename extension must match original source."
}

Mutation Used:

<strong>mutation updateProductWithDetails($productSet: ProductSetInput!, $synchronous: Boolean!) {
  productSet(input: $productSet, synchronous: $synchronous) {
    product {
      id
      title
      handle
      images(first: 5) {
        nodes {
          id
          url
        }
      }
    }
    productSetOperation {
      id
      status
    }
    userErrors {
      code
      field
      message
    }
  }
}</strong>

Input Sample:

{
  "synchronous": true,
  "productSet": {
    "id": "gid://shopify/Product/7877404786758",
    "title": "Winter hat (Updated)",
    "productOptions": [
      {
        "id": "gid://shopify/ProductOption/10245423202374",
        "name": "Color",
        "position": 1,
        "values": [
          { "name": "Grey" },
          { "name": "Black" }
        ]
      }
    ],
    "files": [
      {
        "originalSource": "https://sns-images-shopify.s3.us-east-1.amazonaws.com/SNS/Images/Color/101498_f_fm.jpg?...",
        "contentType": "IMAGE",
        "filename": "101498_f_fm.jpg",
        "duplicateResolutionMode": "APPEND_UUID"
      }
    ],
    "variants": [
      {
        "id": "gid://shopify/ProductVariant/43446829875270",
        "optionValues": [
          {
            "optionName": "Color",
            "name": "Black"
          }
        ],
        "price": 69.99,
        "file": {
          "originalSource": "https://sns-images-shopify.s3.us-east-1.amazonaws.com/SNS/Images/Color/101498_f_fm.jpg?...",
          "contentType": "IMAGE",
          "filename": "101498_f_fm.jpg",
          "duplicateResolutionMode": "APPEND_UUID"
        }
      }
    ]
  }
}