Naming and sizes

How is a name put together?

A URL is https://loremfile.dev/{format}/{name}. The format matches ^[a-z0-9]+$. The name is lowercase kebab-case followed by one or more extensions: ^[a-z0-9]+(-[a-z0-9]+)*(\.[a-z0-9]+)+$. There are no capitals, spaces or underscores.

A name is a list of tokens separated by hyphens: a variant, then a dimension, duration, count or size, then qualifiers. They always come in that order.

Three examples show it:

What is the difference between kb and kib?

Size tokens say which unit they mean. kb, mb and gb are decimal, so bin/1mb.bin is exactly 1,000,000 bytes. kib, mib and gib are binary, so bin/1mib.bin is exactly 1,048,576 bytes.

Upload limits are written both ways in the wild. A limit tested with the wrong unit passes files it should refuse.

Boundary files sit one byte either side of a limit. bin/10mib-plus-1.bin is 10,485,761 bytes, and bin/1mb-minus-1.bin is 999,999 bytes. Test the edge of a limit, not its middle.

How exact is a size?

The manifest's size_class says:

How is HLS named?

HLS is the one nested case. A playlist sits at hls/{variant}/index.m3u8, and its numbered segments sit beside it, such as hls/720p-10s/seg-000.ts.

Will a name ever point at different bytes?

No. The bytes at a published name never change. A fix gets a new name, and the old entry points to its replacement.

In rare cases a file can be withdrawn. See the terms of use.