apyhub
Back
▣ INGESTION KIT · OUTPUT KIT

Convert MP3 to AAC API

Hosted on ApyHub

What it does

The MP3 to AAC API converts MP3 audio into AAC. Upload the MP3 as a file (up to 100 MB per request) or send a public url in a JSON body, and get the AAC file back. Choose a /download endpoint to receive the audio as a binary file, or a /link endpoint to get a JSON data field with a signed URL. The optional output query parameter sets the file name.

AAC is the standard audio format for Apple devices, iOS apps, YouTube and most streaming players, so converting MP3 to AAC keeps your audio consistent across the platforms your users listen on. Teams use the MP3 to AAC API to normalize user uploads, prepare podcast and course audio for mobile apps, and convert audio libraries in bulk from Python, Node.js or any language that can send an HTTP request. Uploads are checked by their actual file contents, so files that aren't real MP3s are rejected before conversion.

The API returns a raw .aac file. Converting from MP3 can't restore quality lost in the original compression, so start from the highest quality MP3 you have.

For other audio steps, use the WAV to MP3 Converter API or the MP3 to WAV Converter API. To get audio out of a video first, use the Audio Extractor from Video API. AI agents can also call it through ApyHub MCP.

▣ ENDPOINT 01 / 04
POST
MP3 to AAC (multipart, signed URL)
https://api.eu.apyhub.com/apyhub/convert-mp3-to-aac/multi-part/link

QUICKSTART

GUIDE

Quickstart

Upload an MP3 file to convert it to AAC.

curl -X POST "https://api.eu.apyhub.com/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)

AttributeTypeDescription
outputStringOutput name. Example: my-song.

Request Body

ParameterTypeDescription
fileBinaryMP3 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.

ParameterTypeDescription
dataStringURI to the generated AAC file.

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)
https://api.eu.apyhub.com/apyhub/convert-mp3-to-aac/url/download

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyhub.com/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)

AttributeTypeDescription
outputStringOutput file name. Format: string.

Request Body

ParameterTypeDescription
urlStringPublicly accessible URL of the source MP3 file. Format: URI.

Response

Returns the converted AAC file as binary content.

▣ ENDPOINT 03 / 04
POST
MP3 to AAC (URL, signed URL)
https://api.eu.apyhub.com/apyhub/convert-mp3-to-aac/url/link

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyhub.com/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)

AttributeTypeDescription
outputStringOutput name.

Request Body

ParameterTypeDescription
urlStringPublicly 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.

ParameterTypeDescription
dataStringURI of the converted AAC file.
▣ ENDPOINT 04 / 04
POST
MP3 to AAC (multipart, download)
https://api.eu.apyhub.com/apyhub/convert-mp3-to-aac/multi-part/download

QUICKSTART

GUIDE

Quickstart

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

curl -X POST "https://api.eu.apyhub.com/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)

AttributeTypeDescription
outputStringOutput name for the download.

Request Body

ParameterTypeDescription
fileBinaryMP3 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.

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.