apyhub
AUDIO PROCESSING · FILE CONVERSION

Convert MP3 to AAC API

Hosted on ApyHub

What it does

MP3 to AAC Converter turns an MP3 file or a public MP3 URL into an AAC audio file. Send either a binary MP3 upload or a publicly accessible url, and you get the converted audio back as a downloadable file or a signed data URI, depending on the endpoint you use.

The service exposes four conversion paths: multipart upload with signed URL output, multipart upload with binary download output, URL input with signed URL output, and URL input with binary download output. In all multipart variants, you can also pass an output query value to name the result. Uploaded files are limited to 100 MB and are magic-byte validated.

Use MP3 to AAC Converter when you need a consistent AAC asset for playback workflows, storage optimisation, or downstream media pipelines that require AAC instead of MP3. It fits nicely into media ingestion, asset normalisation, and user-upload processing flows where the source file may come from your app or an externally hosted MP3.

The response is intentionally simple: either a binary AAC file or a JSON object with a data field containing the output URI. That makes it easy to hand the converted file to your storage layer, CDN, or media processing job without extra parsing.

▣ ENDPOINT 01 / 04
POST
MP3 to AAC (multipart, signed URL)
http://localhost:8080/apyhub/convert-mp3-to-aac/multi-part/link
QUICKSTARTGUIDE

Quickstart

Upload an MP3 file to convert it to AAC.

curl -X POST "http://localhost:8080/apyhub/convert-mp3-to-aac/multi-part/link" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.mp3"

What you'll get back

Returns a JSON object with a data string field containing the URI of the generated AAC file.

{
  "data": "https://apyhub-outgoing.s3.eu-west-1.amazonaws.com/mono-go/audio-converter/general/audio_2026-08-10_32d890eb.aac?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIARJOHWS6LWTUUGYPI%2F20260810%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20260810T135114Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&response-content-disposition=inline&response-content-type=audio%2Faac&X-Amz-Signature=83d98ecc19bc61f20d3d4a19ef48abe0d3d3e9568c5126bc61da362e528bbbe1"
}
TRY ITLIVE · 100 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*
MP3 audio file (max 100 MB). Magic-byte validated.

About this endpoint

What it does

Converts an uploaded MP3 audio file to AAC and returns a signed URL to the generated AAC file. The request sends the source file in the multipart body and can include an optional output query parameter to influence the output name.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name. Example: my-song.

Request Body

ParameterTypeMandatoryDescription
fileStringYesMP3 audio file. Max 100 MB. Magic-byte validated.

Response

Returns a JSON object with a data string field containing the URI of the generated AAC file.

ParameterTypeMandatoryDescription
dataStringYesURI to the generated AAC file.

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
MP3 to AAC (URL, download)
http://localhost:8080/apyhub/convert-mp3-to-aac/url/download
QUICKSTARTGUIDE

Quickstart

Convert an MP3 from a public URL into AAC and download the resulting file.

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

What you'll get back

Returns a binary file response (string with format: binary), which is the converted AAC audio content.

TRY ITLIVE · 100 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*
Publicly accessible URL of the source MP3 file.

About this endpoint

What it does

Converts an MP3 file available at a public URL into AAC and returns the converted file as binary content. The request sends the source file URL in the body and can optionally provide an output name in the query string.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput file name. Format: string.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL of the source MP3 file. Format: URI.

Response

Returns the converted AAC file as binary content.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 03 / 04
POST
MP3 to AAC (URL, signed URL)
http://localhost:8080/apyhub/convert-mp3-to-aac/url/link
QUICKSTARTGUIDE

Quickstart

Convert a public MP3 file to AAC by sending its URL in the request body.

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

What you'll get back

Returns a JSON object with a data string field containing the URI of the generated AAC file.

{
  "data": "https://apyhub-outgoing.s3.eu-west-1.amazonaws.com/mono-go/audio-converter/general/audio_2026-08-10_f830e1c4.aac?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIARJOHWS6LWTUUGYPI%2F20260810%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Date=20260810T135239Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&response-content-disposition=inline&response-content-type=audio%2Faac&X-Amz-Signature=72b82ec52f7618f91b518b7ab9a9d35f2f87fcb0fe95cdde7c0801e8ba325c5a"
}
TRY ITLIVE · 100 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*
Publicly accessible URL of the source MP3 file.

About this endpoint

What it does

Converts an MP3 file available at a public URL into AAC and returns the converted file as a URL in the response. Submit the source file URL in the request body and, optionally, provide an output name via query parameter.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name.

Request Body

ParameterTypeMandatoryDescription
urlStringYesPublicly accessible URL of the source MP3 file. Must be a URI.

Response

Returns a JSON object with a data string field. The data value is a URI pointing to the converted AAC file.

ParameterTypeMandatoryDescription
dataStringYesURI of the converted AAC file.

Query parameters

Name
Type
Description
outputOPTIONAL
string

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 04 / 04
POST
MP3 to AAC (multipart, download)
http://localhost:8080/apyhub/convert-mp3-to-aac/multi-part/download
QUICKSTARTGUIDE

Quickstart

Upload an MP3 file to convert it to AAC; this example names the output my-song.

curl -X POST "http://localhost:8080/apyhub/convert-mp3-to-aac/multi-part/download?output=my-song" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/song.mp3"

What you'll get back

Returns a binary file response containing the converted AAC audio.

TRY ITLIVE · 100 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*
MP3 audio file (max 100 MB). Magic-byte validated.

About this endpoint

What it does

Converts an uploaded MP3 audio file to AAC and returns the converted file as a binary response. The request sends the source file in the body and can include an output query parameter to name the download.

Query Parameter(s)

AttributeTypeMandatoryDescription
outputStringNoOutput name for the download.

Request Body

ParameterTypeMandatoryDescription
fileStringYesMP3 audio file. Max 100 MB. Magic-byte validated.

Response

Returns a binary file response containing the converted AAC audio. The success response is a binary payload, 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.

▣ 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.