Варіанти
Набір варіантів
Набір іменований і скінченний. Довільної ширини не буває —
і це не спрощення, а рішення: ?w=473 це і вибух кешу, і
безкоштовний спосіб зайняти процесор машини.
Спробуйте
Який варіант потрібен блоку?
Задайте ширину блоку на сторінці й щільність екрана. Правильний — найменший варіант, що ще покриває пікселі.
- thumbзавширшки 400 пкс
- cardзавширшки 1 000 пкс
- fullзавширшки 1 400 пкс
Віддавати:
Картинки
| Ім’я | Ширина | Формат | Для чого |
|---|---|---|---|
thumb | 400 px | WebP, якість 82 | списки, плитки, аватари |
card | 1000 px | WebP, якість 82 | картка товару, основна вітрина |
full | 1400 px | WebP, якість 82 | повноекранний перегляд |
Відео
| Ім’я | Що це | Формат |
|---|---|---|
poster | кадр-заставка, береться з 10% тривалості — не раніше 0,5 с і не пізніше 3 с | WebP до 1280 px |
preview | беззвучний уривок перших секунд | MP4 640 px |
hls | основне відтворення, до трьох сходинок якості | HLS, H.264 + AAC |
mp4 | запасний шлях для старих клієнтів | прогресивний MP4 1280 px |
Сходинки HLS — 640, 1280 і 1920 px. Сходинка, ширша за оригінал, не робиться: розтягнута копія виглядає як наша провина.
Два правила, через які варіант може не з’явитися
Не розтягуємо
Якщо оригінал вужчий за ширину варіанта, варіант залишається розміру
оригіналу, і відповідь каже про це чесно — у полях w і
h стоять справжні числа.
Однакові копії не заводяться двічі
Якщо після цього дві ширини зійшлися б в один і той самий файл, друга адреса не заводиться. Два побайтово однакові файли за різними адресами — це два завантаження одного й того самого на телефоні людини.
POST /api/v1/put?kind=prodimg&key=42&variants=card,full ← оригінал 300×200
→ {
"ow": 300, "oh": 200,
"variants": { "card": { "w": 300, "h": 200, … } },
"skipped": { "full": "оригінал шириною 300 px — варіант збігся б байт у байт із «card»" }
}
Тому набір варіантів у відповіді завжди треба читати, а не припускати: попросили два — могли отримати один, і це нормальна, очікувана відповідь.
Як заводиться новий варіант
Новий варіант з’являється в конфігурації сервісу і в орендаря у тому самому завданні. Заводити його «поки лише на сервісі» сенсу немає: адресу все одно беруть із відповіді, а незапитаний варіант просто займав би місце.
Уже завантажені об’єкти можна перезібрати в новий варіант без повторного надсилання файлу — оригінал зберігається в нас у холодному дереві і назовні не віддається ніколи. Заради цього він і зберігається.