bgm_pick match tiers: strict, relaxed, widened, catalog_fallback

Sume's bgm_pick returns a match tier with every track. What strict, relaxed, widened and catalog_fallback mean, and what to do when you get the last one.

5 min readSume
All posts

bgm_pick searches Sume's background-music catalog and tells you how hard it had to look. The tier is strict when every filter you gave matched, relaxed when it dropped some, widened when it opened the search further, and catalog_fallback when nothing fit and it returned a default. The result also lists matched_signals and relaxed_filters, so you can see which.

The catalog it searches

The catalog is version bgm_catalog_v3: 48 first-party Sume loops hosted on media.sume.com, plus licensed Kevin MacLeod beds with CC BY 4.0 attribution. Tracks are grouped into nine categories: corporate, acoustic, beauty, tech, cinematic, kpop, commerce, fashion and lofi.

Each track carries bpm, energy (calm, upbeat, dramatic or neutral), loopable, moods, genres, tags, video_genres, product_categories and locales. bgm_pick scores tracks against the fields you send.

Reading the tiers

Match tiers returned by bgm_pick, from docs/operations/bgm-catalog.md (read 2026-10-05)
TierMeaningWhat to do
strictEvery filter matchedUse the track
relaxedSome filters were dropped; see relaxed_filtersCheck that the dropped filter is not one you care about
widenedThe search opened beyond your filtersListen before using; the mood may be off
catalog_fallbackNo fit; a default track came backNarrow your request or generate music instead

Using the extra fields

The response includes a score, the matched_signals that earned it, the relaxed_filters that were dropped, and a candidate_count. Read relaxed_filters first: if the filter that was dropped is the one you cared about, such as a locale few tracks list, treat the pick as a miss even though a track came back.

The same matching powers Assets, then BGM in the app, the bgm_list and bgm_get tools, and the Timeline soundtrack pick.

When catalog_fallback is the answer

Treat it as a signal, not a result. Loosen the one filter that matters least, or drop to the mood alone. If the brief is specific, such as a 96 BPM minor-key track with a marimba lead, the catalog may not have it. A Music Router take costs $0.125 and can be written to that brief. The choice is between a catalog track that approximately fits and a paid take that fits exactly.

A habit worth keeping

Log the tier with every pick. A pipeline that picks music for many videos can then flag any non-strict result for a human listen, and count how often catalog_fallback happens. A rising rate tells you the catalog is missing a style your videos need, which is the moment to generate a few beds instead.

Keep the track slug with the video so you can reproduce the pick later.

Related posts

More in Media tools

All Media tools posts

Written by Sume