Is a reference Short silent? Reference ingest audio gate at -60 LUFS

Reference ingest marks audio.silent when integrated loudness is -60 LUFS or lower. Silent means plan new music and skip STT; the manifest also reports beats.

4 min readSume
All posts

Sume reference ingest sets audio.silent: true when the clip's integrated loudness is at or below -60 LUFS, or the true peak is negative infinity. When it is true, the docs say to plan new music and discard the source audio, and never request speech-to-text on it. The check is a loudness gate plus Silero voice activity detection, with librosa beats reported when the track is music.

Reference ingest is dest first: the docs say Sume lists POST /v1/reference-ingest and the tool reference_ingest only where SUME_COM_REFERENCE_INGEST_ENABLED permits them, with development auto-on and production opt-in.

Why this check comes first

A lot of vertical clips are posted without any sound, with text on screen and the music added in the app. A remix plan that assumes a soundtrack will miss that. The manifest's audio block tells you which case you are in before you pay for anything else. YouTube also treats sound as a Shorts matter, since it says most songs can be used for up to 90 seconds in a three-minute Short (YouTube Help, read 2026-10-05).

reading the audio block of a reference manifest (Sume docs read 2026-10-05)
SignalMeaningWhat to plan
audio.silent trueloudness at or below -60 LUFSnew music, no STT
speech presentvoice activity found speechtranscript, if STT is allowed
beats presenttrack is musicmatch cut points to beats
warning stt_skipped_silentSTT did not run, track is silentnone, no charge
warning stt_skipped_no_audio_trackfile has no audio tracknone, no charge

Reading it in code

The manifest's exact JSON beyond these documented names is not reproduced here, so the helper below only reads the two fields the docs name and tolerates missing data. Pass it the parsed result of a finished ingest.

def audio_plan(manifest):
    audio = manifest.get("audio") or {}
    if audio.get("silent"):
        return "silent: plan new music, skip STT"
    return "has sound: read speech and beats from the manifest"

print(audio_plan({"audio": {"silent": True}}))
print(audio_plan({"audio": {}}))

Choosing the new sound

For a silent reference, Music Router takes a prompt of up to 5000 characters and charges a fixed price per generation; control the length in the prompt, because a duration field is rejected. The same page says to put exclusions into the positive prompt, since a non-empty negative_prompt is not supported.

Beats and cut points

When the track is music, the manifest reports beats. A remix of that reference can then place cuts on those beats, with the cut times placed as video[].start values in a Timeline 1.0 render. Starts must begin at 0 and increase, slots must be at least 0.2 seconds, and the spine length sets the output. If the reference has no beats and no speech, there is nothing to anchor to, and a declared length with a music bed is the straightforward alternative.

Limits

A silent file may still carry a sound you want, such as a very quiet track below the gate, so listen once. The gate is a mechanical measurement, not a rights check. Nothing in the manifest says whether the music in the clip is licensed for your use.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume