Getting 422 on create asset with source URL

I am using frame io V2 SDK and trying to create an asset with source object.

I am uploading files to S3 bucket, which is publicly accessible and I am able to open bucket object from everywhere.

After uploading to S3, I want to move that assets to frame io cloud.
I referred documentation to achieve it.

So I am sending following payload to /children frame io API.

{
  "type": "file",
  "name": "image.jpg",
  "filetype": "image/jpeg",
  "filesize": 8975,
  "source": {
   "url": "https://BUCKET_NAME.s3.SERVER_ZONE.amazonaws.com/image.jpg"
 }

}

Unfortunately. this APIs fails and giving me 422 response.

Response is like,

{
 "code": 422,
 "errors": [
    {
        "code": 422,
        "detail": "The supplied parameters were malformed",
        "status": 422,
        "title": "Invalid Argument"
    }
 ],
 "message": "Invalid Argument"
}

I have tried to figure out what is wrong. But, nothing worked.

Any help would be appreciated. Thanks