Appearance
The corpus
The index is built from a curated list of channels, not from open crawling. A daily run walks those channels, pulls each candidate's automatic captions, aligns them, scores the clip, and writes it to the index.
What gets in
A candidate has to clear every gate:
| Gate | Threshold | Why |
|---|---|---|
| Captions present | required | Every learning feature is built on word timings. No captions, no clip |
| Duration | up to 180 s | Short form. Long videos are a different product |
| Words spoken | at least 25 | Filters music, montages and silent clips |
| Speech density | 0.9 words per second and up | A clip where someone actually talks |
| Safety and topic screening | model reviewed | Curated corpus, usable next to a child account |
| New vocabulary | at least one word not already saturated | Stops the index filling with the same hundred words |
Clips that fail are recorded with a reason rather than forgotten, so a later run does not re-download them and a threshold change can be replayed against them.
What that costs you in expectations
- The corpus is curated, not exhaustive. A word can be common in the language and absent here.
GET /wordstells you which words are covered before you build a feature that assumes one. - It grows daily and is not a frozen dataset. Clip counts for a word go up over time.
- It shrinks occasionally, when an uploader deletes a video. Clip ids are stable; the video behind one is not guaranteed forever.
Languages
English is indexed today. Adding a language is a data job, not a code change: a levelled word list, glosses, a channel list, then a corpus run. GET /corpus is the live answer to what is available; nothing in the API assumes English.