Skip to content

Levels

Two different things carry a CEFR level, and confusing them is the most common integration mistake.

Clip level

clip.level describes the clip as a whole: pace, vocabulary spread, how demanding it is to follow. It is useful for sorting and for showing a badge.

It is a poor filter. Every clip in the corpus contains words from several levels at once; in a sample of the English corpus, every clip contained A1 and A2 words, and nine in ten contained B2 words. Filtering a feed to one clip level throws away most of the corpus and buys a beginner almost nothing, because the words they need are inside the clips you just dropped.

Word level

word.level describes the word, and this is the one worth acting on. The learning unit is the word, not the clip: the same clip serves an A2 learner and a B2 learner, with a different word highlighted.

How the feed uses them

GET /feed takes a learner level, does not filter clips by it, and picks the focus word one step above it. A little above current level is where attention and gain are highest; at level is boring, far above is noise.

If you want the old behaviour of a level-filtered clip list, pass level to GET /words/{word}/clips, which filters clips by level because there the caller has already chosen the word.

Metadata only. Playback runs on YouTube, through your own embed.