Каталог форматов
Один публичный эндпоинт без аутентификации возвращает всё, что мы конвертируем, и каждый маршрут между форматами. Стройте интерфейс на его основе, а не на зашитом списке.
Ключ не нужен
GET https://rework.live/api/v1/formats не требует аутентификации. Это список возможностей, а не данные, и требовать ключ только ради того, чтобы узнать, что сервис конвертирует, — маленькая недружелюбность; это также означало бы, что оценить API до оплаты невозможно.
Ответ можно кешировать на час. Запрашивайте его при запуске, а не на каждый запрос.
curl https://rework.live/api/v1/formatsЧто возвращается
Два массива. formats описывает каждый формат, который мы умеем читать или записывать; conversions — каждое ребро между ними.
{
"formats": [
{
"id": "png",
"label": "PNG",
"kind": "image",
"extensions": ["png"],
"mime": "image/png"
}
],
"conversions": [
{
"from": "png",
"to": "webp",
"fidelity": "high",
"async": false,
"maxInputMb": 200,
"options": []
}
]
}| Поле | Описание |
|---|---|
| from / to | Идентификаторы форматов, соединяемых ребром |
| fidelity | Насколько точна конвертация |
| async | Истина, когда эта конвертация ставится в очередь, а не выполняется сразу |
| maxInputMb | Наибольший вход, принимаемый именно этой конвертацией |
| options | Дополнительные параметры этой конвертации, если они есть |
Два потолка, а не один
maxInputMb — потолок именно этой конвертации. У вашего тарифа есть свой, и действует меньший из двух. Видео на 400 МБ в аккаунте Plus всё равно не пройдёт, если сама конвертация принимает меньше.