Neural Analog API endpoint

Audio Mastering API

Queue release-ready audio mastering for an audio file or stem, optionally using a restored source.

post/master-audio
Get a key
Audio Mastering API

Queue audio mastering for a track or stem.

Use this after the source audio is complete. For imported links, poll GET /status/audio/{audio_id} before calling this endpoint. To master a restored version, pass upscaled_id; otherwise set use_restored to true to let Neural Analog use or create a restored source before mastering.

The Audio Mastering API creates release-ready masters from original, upscaled, or stem sources with loudness, bit depth, and genre controls.

The endpoint returns immediately with id, the mastered artifact ID:

text
POST /master-audio -> id
GET /status/mastered/{id}
GET /download/mastered/{id}

target_lufs controls integrated loudness. genre selects the mastering profile, with modern as the default release-ready profile.

Queue release-ready masters from original, restored, or stem sources with target loudness and bit depth controls.

Use POST /master-audio, poll the mastered artifact status, then download the finished WAV.

Parameters

x-api-key
optionalheaderstring | null
No description provided.

Request Body

audio_id
requiredstring

Source audio asset ID to master.

Example: "6c62f8e7-02a3-48c0-a5b5-5de87ed9c31a"

preset
optionalstring

Restoration preset to apply before optional mastering. The preset selects the backend and determines which advanced parameters are used; parameters that do not apply to the selected preset are ignored. Use universal_enhancer for general music cleanup, denoise/denoise_debleed/dereverb/decrowd/phantom_center for targeted repair, and voice presets such as novasr, lavasr, and reuse for speech.

"universal_enhancer""novasr""flashsr""dacvae""declip""dialogue_isolate""denoise""denoise_debleed""dereverb""decrowd""phantom_center""audiosr""apollo_voice""lavasr""reuse""acestep_15_xl""stable_audio_3""universr""aero"

Default: "universal_enhancer"

stereo_mode
optionalstring

Applies to stereo-capable restoration backends such as universal_enhancer, apollo_voice, universr, reuse, flashsr, audiosr, aero, and acestep_15_xl. Presets such as declip and dialogue_isolate ignore this field. How stereo material is processed. single_pass keeps the stereo file together, mid_sides processes center and side content separately, left_right processes channels independently, and mono folds to mono.

"single_pass""mid_sides""left_right""mono"

Default: "single_pass"

frequency_cutoff
optionalinteger

Only used by the audiosr preset. Other restoration presets ignore this field. Upper frequency boundary in hertz for bandwidth extension models. Values are clamped between 0 and 22000.

Default: 13000

multiband_ensemble
optionalboolean

Only used by the audiosr preset. Other restoration presets ignore this field. Run compatible restoration models in frequency bands and blend the result for cleaner high-frequency recovery.

Default: true

model_name
optionalstring

Only selects variants for aero, universr, acestep_15_xl, and stable_audio_3. Most restoration presets choose their model from the preset and ignore this field. Underlying restoration model variant. Music variants are tuned for full mixes, voice variants for speech bandwidth, Universr variants for broad audio/vocal super-resolution, and ACE-Step/Stable Audio variants for prompt-guided remastering.

"music_musedb""voice_4_16""voice_8_16""voice_8_24""voice_12_48""universr-audio""universr-vocal""acestep-v15-xl-turbo""acestep-v15-xl-sft""stable-audio-3-medium"

Default: "music_musedb"

reconstruction_method
optionalstring

Only used by the universr preset. original preserves the legacy UniverSR reconstruction path and takes the final low-frequency bins from the bandwidth-limited model input. original_signal keeps that bandwidth-limited input for model conditioning but takes the final low-frequency bins from the original 48 kHz source signal.

"original""original_signal"

Default: "original_signal"

strength
optionalnumber

Only used by prompt-guided restoration presets such as acestep_15_xl and stable_audio_3. Other restoration presets ignore this field. Processing intensity from subtle cleanup to aggressive restoration. Higher values preserve less of the degraded source.

Default: 0.95

prompt
optionalstring

Only used by prompt-guided restoration presets such as acestep_15_xl and stable_audio_3. Other restoration presets ignore this field. Short text prompt used by prompt-guided restoration models to steer the desired sound.

Default: "high quality remaster, studio recording, official release, CD quality."

Example: "clean studio master, full bandwidth, natural transients"

inpaint_regions
optionalarray<object> | null

Only used by the stable_audio_3 preset. Optional source regions to regenerate with Stable Audio 3 inpainting while preserving the rest of the input audio. Omit to run ordinary audio-to-audio remix.

Example: [{"end":8,"start":4}]

stem_id
optionalstring | null

Optional source stem ID. Omit to master the full audio file.

Example: "abf8a992-1c4e-4935-93f0-197116e77e49"

use_restored
optionalboolean

When true, mastering uses an existing restored version or queues restoration automatically before mastering.

Default: true

upscaled_id
optionalstring | null

Specific restored version to use as the mastering source.

Example: "d66cf940-bf26-45bb-80f7-332f26b6859a"

source_mastered_id
optionalstring | null

Specific mastered artifact to use as the mastering source.

Example: "f5db8e4b-2e74-4198-a8de-0c3a398620e9"

selection
optionalobject | null

Optional source region to master. When provided, processing runs only on this time range.

Example: {"end":42,"start":12.5}

bit_depth
optionalinteger

Output WAV bit depth for the mastered audio.

1624

Default: 24

hq_streaming_format
optionalstring

No description provided.

"aac""mp3""flac"

Default: "aac"

target_lufs
optionalnumber

Target integrated loudness in LUFS for the mastered output.

Default: -14

genre
optionalstring

Mastering profile name. modern is the default release-ready profile.

Default: "modern"

Example

Python
import os
import requests
response = requests.post(
    "https://api.neuralanalog.com/master-audio",
    headers={"X-API-Key": os.environ["NEURALANALOG_API_KEY"]},
    json={
        "audio_id": "00000000-0000-0000-0000-000000000000",
        "upscaled_id": "00000000-0000-0000-0000-000000000000",
        "target_lufs": -14,
    },
)
print(response.json())

Success Response

200Successful Response
id
requiredstring

ID of the queued mastered audio version.

Example: "f5db8e4b-2e74-4198-a8de-0c3a398620e9"

status
requiredstring

Queueing status for the mastering job.

Example: "processing"

message
requiredstring

Human-readable queueing result.

Example: "Mastering queued"