apyhub
FILE SECURITY · SECURITY & PRIVACY

Remove Image Metadata API

Hosted on ApyHub

What it does

Image Metadata Remover strips metadata from images and returns the cleaned file or a signed download link, depending on the endpoint you use. Send a binary image upload or a public image URL, and choose whether you want the result downloaded directly or returned as a URI.

Use the multipart endpoints when you already have the image file, or the URL endpoints when the image is hosted elsewhere. You can pass keys to target specific writable tags, or leave keys empty to clear all writable tags present. The optional group field supports gps only, which clears GPS-related metadata.

The service is a fit for privacy-focused workflows where you need to remove embedded image data before sharing or storing files. Common uses include sanitising user-uploaded photos, preparing images for public distribution, and removing location data from media assets.

The responses stay simple: download mode returns the cleaned image as binary data, while signed URL mode returns a JSON object with a data URI.

▣ ENDPOINT 01 / 04
POST
Strip metadata
http://localhost:8080/apyhub/remove-image-metadata/multi-part/download
QUICKSTARTGUIDE

Quickstart

Upload an image with multipart form data to remove its metadata and download the result.

curl -X POST "http://localhost:8080/apyhub/remove-image-metadata/multi-part/download" \
  -H "apy-token: $APY_TOKEN" \
  -F "image=@/path/to/image.jpg"

What you'll get back

Returns the cleaned image as a binary file (string with format: binary), not JSON.

TRY ITLIVE · 30 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
keys

About this endpoint

What it does

Uploads an image as multipart form data, strips the specified metadata keys from it, and returns the processed image as a binary download.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoName used for the downloaded output.

Request Body

ParameterTypeMandatoryDescription
imageStringYesThe source image file to process.
keysString ArrayNoMetadata keys to remove from the image.
groupStringNoMetadata group to target for removal.

Response

Returns a binary file containing the image after metadata removal. The success response is a binary download, not a JSON object.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 02 / 04
POST
Strip metadata
http://localhost:8080/apyhub/remove-image-metadata/multi-part/link
QUICKSTARTGUIDE

Quickstart

Upload an image file to remove its metadata and return a link to the processed image.

curl -X POST "http://localhost:8080/apyhub/remove-image-metadata/multi-part/link" \
  -H "apy-token: $APY_TOKEN" \
  -F "image=@/path/to/image.jpg"

What you'll get back

Returns a JSON object with a data string field containing a URI for the result.

{
  "data": "https://example.com/processed-image.jpg"
}
TRY ITLIVE · 30 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
keys

About this endpoint

What it does

Strips metadata from an image submitted to this endpoint and returns a URI in the data field. The request sends the image in the multipart body and can include optional body fields plus an output query parameter.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput identifier; example: my-invite.

Request Body

ParameterTypeMandatoryDescription
imageStringYesImage file to process. Format: binary.
keysString ArrayNoArray of strings.
groupStringNoString value.

Response

Returns a JSON object with a data string field formatted as a URI.

ParameterTypeMandatoryDescription
dataStringNoURI returned by the service.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 03 / 04
POST
Strip metadata
http://localhost:8080/apyhub/remove-image-metadata/url/download
QUICKSTARTGUIDE

Quickstart

Remove metadata from an image by sending its URL in a JSON body.

curl -X POST "http://localhost:8080/apyhub/remove-image-metadata/url/download" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://assets.apyhub.com/samples/sample.jpg"}'

What you'll get back

Returns binary data (string with format: binary) — the processed file content is returned directly, not a JSON object.

TRY ITLIVE · 30 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Remove-metadata URL mode — requires `url`. Optional `keys` (writable tags to clear); empty clears all writable tags present. Optional `group` — only `gps` supported (clears GPS tags).
keys

About this endpoint

What it does

Strips metadata from an image fetched from a URL and returns the processed file as binary output. The request body provides the source url and optional metadata-removal controls.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput filename or identifier to use for the returned file.

Request Body

ParameterTypeMandatoryDescription
urlStringYesImage URL to fetch and process. Must be a URI.
keysString ArrayNoWritable metadata tags to clear. If provided as an empty array, all writable tags present are cleared.
groupStringNoMetadata group to clear. Only gps is supported.

Response

Returns a binary file stream containing the image after metadata removal. The success response body is a single binary payload, not a JSON object.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object
Remove-metadata URL mode — requires `url`. Optional `keys` (writable tags to clear); empty clears all writable tags present. Optional `group` — only `gps` supported (clears GPS tags).
▣ ENDPOINT 04 / 04
POST
Strip metadata
http://localhost:8080/apyhub/remove-image-metadata/url/link
QUICKSTARTGUIDE

Quickstart

Removes metadata from an image URL and returns a new file URL. Replace the sample URL with your own image URL if needed.

curl -X POST "http://localhost:8080/apyhub/remove-image-metadata/url/link" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://assets.apyhub.com/samples/sample.jpg"
  }'

What you'll get back

Returns a JSON object with a data string field containing a URI for the processed image.

{
  "data": "https://..."
}
TRY ITLIVE · 30 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Remove-metadata URL mode — requires `url`. Optional `keys` (writable tags to clear); empty clears all writable tags present. Optional `group` — only `gps` supported (clears GPS tags).
keys

About this endpoint

What it does

Removes metadata from an image fetched from a URL and returns the resulting file location as a URI string. The request body accepts the source url and optional controls for which writable tags to clear.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name/identifier.

Request Body

ParameterTypeMandatoryDescription
urlStringYesSource image URL to fetch. Must be a URI.
keysString ArrayNoWritable metadata tags to clear. If empty, all writable tags present are cleared.
groupStringNoMetadata group to clear. Only gps is supported, and it clears GPS tags.

Response

Returns a JSON object with a data string field formatted as a URI. The data value points to the processed image output.

ParameterTypeMandatoryDescription
dataStringYesURI of the processed image result.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object
Remove-metadata URL mode — requires `url`. Optional `keys` (writable tags to clear); empty clears all writable tags present. Optional `group` — only `gps` supported (clears GPS tags).
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.