Audio: Normalize — API reference
Normalize audio levels
All API tools
POST
/api/v1/jobs
tool: audio-normalize
scope: audio:write
~2 credits
Normalize audio levels
Request body
| Field | Type | Required | Description |
|---|---|---|---|
tool | string | required | Must be "audio-normalize" for this endpoint. |
input.url | string (URL) | required | Publicly fetchable URL of the source audio file. Use /v1/uploads to upload directly to R2 if you don't have one. |
options | object | optional | Tool-specific knobs. Defaults shown in the example. Unknown keys are ignored. |
webhookUrl | string (URL) | optional | If set, we POST the final result to this URL. Pro/Max only — see Webhooks. |
idempotencyKey | string | optional | Re-submitting with the same key within 24 h returns the original response without re-running the job. |
Code sample
curl -X POST https://api.utified.com/v1/jobs \
-H "Authorization: Bearer utf_live_…" \
-H "Content-Type: application/json" \
-d '{
"tool": "audio-normalize",
"input": { "url": "https://www.kozco.com/tech/piano2-CoolEdit.mp3" },
"options": {}
}'Responses
202
Accepted — job queued
{
"id": "job_abc123def456",
"state": "queued",
"statusUrl": "/api/v1/jobs/job_abc123def456"
}Polled status (GET /api/v1/jobs/<id>)
{
"id": "job_abc123def456",
"tool": "audio-normalize",
"state": "completed",
"progress": 100,
"result": {
"status": "converted",
"outputFormat": "mp3",
"downloadUrl": "https://media.utified.com/processed/abc123-clip_converted.mp3"
},
"createdAt": "2026-05-17T15:42:00.000Z",
"startedAt": "2026-05-17T15:42:01.124Z",
"finishedAt": "2026-05-17T15:42:13.842Z",
"queue": "audio-standard-queue"
}Pull result.downloadUrl once state === 'completed'. Set up a webhook to skip polling — see /docs/api/webhooks.