Clip Tokenizer
CLIP's byte-level BPE: text → 77 token ids, <|startoftext|> … <|endoftext|>, zero-padded (OpenCLIP's padding, which Immich's exports expect). Reads the vocab.json and merges.txt shipped with the model. Skips ftfy's mojibake repair, which only matters for broken input.