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-audioQueue 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:
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-keyRequest Body
audio_idSource audio asset ID to master.
Example: "6c62f8e7-02a3-48c0-a5b5-5de87ed9c31a"
presetRestoration 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, dereverb, decrowd, or phantom_center for targeted repair, and voice presets such as novasr, lavasr, and reuse for speech.
Default: "universal_enhancer"
stereo_modeApplies 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.
Default: "single_pass"
frequency_cutoffOnly used by the audiosr and universr presets. Other restoration presets ignore this field. Upper frequency boundary in hertz for bandwidth extension models. AudioSR accepts 3000, 4000, 5000, 8000, 10000, 13000, or 16000. UniverSR accepts 4000, 6000, 8000, or 12000.
Default: 13000
model_nameOnly selects variants for denoise, 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.
Default: "music_musedb"
reconstruction_methodOnly used by the audiosr and universr presets. For AudioSR, multiband_ensemble low-passes the original audio at frequency_cutoff minus 1000 Hz, high-passes the AudioSR output at the same crossover, then sums both bands. original_signal uses frequency_cutoff as a hard final spectrum boundary: original source bins below the cutoff and generated bins at or above it. For UniverSR, original preserves the legacy reconstruction path, while original_signal keeps the bandwidth-limited input for model conditioning but takes the final low-frequency bins from the original 48 kHz source signal.
Default: "original"
strengthOnly 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
promptOnly 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"
prompt_strengthOnly used by the stable_audio_3 preset. Other restoration presets ignore this field. Stable Audio 3 classifier-free guidance scale. Higher values make the text prompt influence generation more strongly relative to the reference audio.
Default: 1
inpaint_regionsOnly 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_idOptional source stem ID. Omit to master the full audio file.
Example: "abf8a992-1c4e-4935-93f0-197116e77e49"
use_restoredWhen true, mastering uses an existing restored version or queues restoration automatically before mastering.
Default: true
upscaled_idSpecific restored version to use as the mastering source.
Example: "d66cf940-bf26-45bb-80f7-332f26b6859a"
source_mastered_idSpecific mastered artifact to use as the mastering source.
Example: "f5db8e4b-2e74-4198-a8de-0c3a398620e9"
selectionOptional source region to master. When provided, processing runs only on this time range.
Example: {"end":42,"start":12.5}
bit_depthOutput WAV bit depth for the mastered audio.
Default: 24
hq_streaming_formatNo description provided.
Default: "aac"
target_lufsTarget integrated loudness in LUFS for the mastered output, or 'auto' to maximize loudness up to -1 dBTP true peak.
Default: -14
genreMastering profile name. modern is the default release-ready profile.
Default: "modern"
Example
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
idID of the queued mastered audio version.
Example: "f5db8e4b-2e74-4198-a8de-0c3a398620e9"
statusQueueing status for the mastering job.
Example: "processing"
messageHuman-readable queueing result.
Example: "Mastering queued"