Skip to content

Ffmpeg Api · Loudnorm

Integrate

Model id ffmpeg-api/loudnorm
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/ffmpeg-api/loudnorm?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Up to $0.306 per run charged by actual usage, the rest is refunded Run it on this page

Get API key
Utility Audio #ffmpeg

Normalizes audio loudness to an EBU R128 target with adjustable LUFS, true peak and range settings

Utility · Audio

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required audio_url
Drop a file, or

URL pointing to the audio file requiring normalization.

Advanced integrated_loudness · true_peak · loudness_range · offset · measured_i · measured_lra · measured_tp · measured_thresh · linear · dual_mono · print_summary
default -18

Target value for integrated loudness, expressed in LUFS.

default -0.1

True-peak ceiling, expressed in dBTP.

default 7

Target range for loudness, expressed in LU.

default 0

Gain offset, expressed in dB, applied ahead of the true-peak limiter.

Integrated loudness measurement that linear mode requires from the input file, supplied in LUFS.

Loudness-range measurement needed by linear mode, taken from the input file and supplied in LU.

True-peak measurement required by linear mode, supplied in dBTP from the input file.

Input audio's measured threshold, expressed in LUFS; required when using linear mode.

POST /run/ffmpeg-api/loudnorm?wait=20 quote → $0.306
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/ffmpeg-api/loudnorm?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Ffmpeg Api · Loudnorm

Applies loudness normalization to the file at `audio_url`. Targets include `integrated_loudness` (-70 to -5 LUFS), `true_peak` (-9 to 0 dBTP) and `loudness_range` (1 to 20 LU). Dynamic two-pass mode is the default. Linear single-pass mode needs the measured values for the input, and a measurement summary can be returned.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
audio_urlrequired audio
Typeurl · audio
URL pointing to the audio file requiring normalization.
integrated_loudnessoptional
Typenumber
Default-18
-70 – -5
Target value for integrated loudness, expressed in LUFS.
true_peakoptional
Typenumber
Default-0.1
-9 – 0
True-peak ceiling, expressed in dBTP.
loudness_rangeoptional
Typenumber
Default7
1 – 20
Target range for loudness, expressed in LU.
offsetoptional
Typenumber
Default0
-99 – 99
Gain offset, expressed in dB, applied ahead of the true-peak limiter.
linearoptional
Typeboolean
Defaultfalse
Normalization mode selector: false chooses the higher-quality, two-pass dynamic approach; true chooses single-pass linear processing.
dual_monooptional
Typeboolean
Defaultfalse
Whether mono inputs are treated as dual-mono so that EBU R128 loudness measurements are correct on stereo systems.
print_summaryoptional
Typeboolean
Defaultfalse
Includes a summary of loudness measurements alongside the normalized audio.
measured_ioptional
Typenumber | null
-99 – 0
Integrated loudness measurement that linear mode requires from the input file, supplied in LUFS.
measured_lraoptional
Typenumber | null
0 – 99
Loudness-range measurement needed by linear mode, taken from the input file and supplied in LU.
measured_tpoptional
Typenumber | null
-99 – 99
True-peak measurement required by linear mode, supplied in dBTP from the input file.
measured_threshoptional
Typenumber | null
-99 – 0
Input audio's measured threshold, expressed in LUFS; required when using linear mode.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "ffmpeg-api/loudnorm",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 306,
    "usd": "0.306",
    "charged": 306,
    "refunded": 0
  },
  "input": {
    "audio_url": "https://content.doitong.com/audio/showcase/v3/tools/dub_es.mp3"
  },
  "output": {
    "audio": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
      "content_type": "audio/mpeg",
      "file_name": "0-output.mp3",
      "file_size": 1843200
    },
    "summary": {
      "input_integrated": 1.0,
      "input_true_peak": 1.0,
      "input_lra": 1.0,
      "input_threshold": 1.0,
      "output_integrated": 1.0,
      "output_true_peak": 1.0,
      "output_lra": 1.0,
      "output_threshold": 1.0,
      "normalization_type": "string",
      "target_offset": 1.0
    }
  },
  "outputs": [
    {
      "type": "audio",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
      "content_type": "audio/mpeg",
      "file_size": 1843200,
      "duration": 12,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
audio
object {url, content_type, file_name, file_size}Audio file after normalization.
summary
object {input_integrated, input_true_peak, input_lra, input_threshold, output_integrated, output_true_peak, output_lra, output_threshold, normalization_type, target_offset} | nullStructured summary of loudness measurements, returned when requested.

More models: Audio

For AI agents: this page as Markdown is at https://doitong.com/en-GB/developers/models/ffmpeg-api/loudnorm.md. All models and guides: https://doitong.com/developers/llms.txt