Feather CLI: Feather в Терминале
Скоро Feather CLI ещё не вышел. Эта страница показывает, что он будет уметь; команда установки появится здесь в день выпуска.
Feather CLI — это инструмент командной строки Feather: команда feather в Терминале. Он уменьшает фото, видео, PDF и документы тем же движком, что и приложение, для скриптов, целых папок и автоматизации. Входит в Feather Pro.
Всё происходит на вашем Mac. Feather CLI не загружает файлы, не требует учётной записи и никуда ничего не отправляет.
Что нужно
- Mac с процессором Apple и macOS 15 Sequoia или новее.
- Feather из Mac App Store, с Feather Pro на этом Mac.
- Homebrew, чтобы установить его.
Установка
Feather CLI ещё не вышел. Он будет устанавливаться через Homebrew, а команда появится на этой странице в день выпуска.
После установки feather pro сообщит, находит ли он Feather Pro на этом Mac. Если нет, откройте Feather и перейдите в Настройки › Feather Pro: купите Pro там или выберите «Восстановить покупку», если он у вас уже есть.
Попробуйте
feather photo.jpg
Это записывает photo-min.jpg рядом с оригиналом, без потерь: пиксели остаются точно такими же, а личные данные из файла удаляются (место съёмки, автор, серийные номера камеры). Ещё несколько:
# каждый PNG на рабочем столеfeather ~/Desktop/*.png# папка с подпапками, ещё меньшеfeather -m lossy -r ~/Pictures/Export# наименьший формат для каждого фото, в папкуfeather -m best -o ~/Sites/img ~/Export# размер и формат, которые показывает Instagramfeather -t instagram holiday.jpg# меньше 2 МБfeather --max-size 2mb scan.jpg video.mov# каждое изображение в WebPfeather convert --to webp -r ./assets# видео в MP4feather convert --to mp4 clip.mov
feather --help показывает все параметры.
Насколько меньше
| Режим | Что он делает |
|---|---|
lossless (по умолчанию) | Те же пиксели, файл меньше. Ничего видимого не меняется. |
lossy | Ещё меньше, с качеством, которое вы задаёте через --quality (по умолчанию 80). |
best | Пробует JPEG, PNG, WebP и AVIF (и JPEG XL там, где его принимает место назначения) и оставляет наименьший. |
Куда пойдут файлы
-t (--target) готовит файлы для места, куда они пойдут. Он охватывает:
- инструменты дизайна: Figma, Miro, Mural, Canva, Notion;
- соцсети: Instagram, Threads, Facebook, LinkedIn, X, Bluesky, Mastodon, Pinterest, TikTok, Discord;
- назначения: сайт, слайды, аватар;
- размеры файлов: от «меньше 500 КБ» до «меньше 100 МБ».
feather targets показывает их все, с ограничениями. Свои ограничения тоже работают: --long-side 2000, --megapixels 12, --max-size 1mb.
Ваши собственные пресеты
Пресеты, созданные в Feather, работают и в Feather CLI:
- В Feather перейдите в Настройки › Пресеты › Экспортировать пресеты….
- Сохраните файл как
~/.config/feather/presets.json. - Используйте пресет по имени:
feather -t "Client website" ~/Export
Файл в другом месте работает с --presets <file>. После изменения пресета выполните экспорт заново.
Куда попадают результаты
- Рядом с оригиналом (по умолчанию), с
-minв имени. Измените это с помощью--suffixи--prefix. - В папку:
-o <folder>, с исходными именами. - На место оригинала:
--replace. Оригинал перезаписывается. В Корзину он попадает только тогда, когда файл изменил размер, получил водяной знак или был преобразован в другой формат. Сначала попробуйте команду на копии.
В папке Feather CLI пропускает скрытые файлы и собственные прежние результаты. Повторный запуск не сжимает копии ещё раз.
Конфиденциальность
По умолчанию Feather CLI удаляет личные данные из файла: место съёмки, автора, данные и серийные номера камеры, даты и историю редактирования.
- Чтобы сохранить данные камеры и экспозиции, используйте
--keep-metadata camera(только JPEG: другие форматы не могут их хранить). - Чтобы сохранить всё, используйте
--keep-metadata all.
Чтобы увидеть, что находится в файле, прежде чем делиться им:
feather inspect photo.jpg report.pdf
inspect бесплатна и ничего не меняет.
Водяной знак
feather --watermark "© Studio Max Redecker" --position bottom-right ~/Export
feather --logo logo.png --tile ~/Export
В скриптах
--json выводит один документ JSON с каждым файлом, его размерами, тем, что было удалено, и местом, куда попал результат:
feather --json -o out ~/Export | jq '.totals'
Коды завершения:
| Код | Значение |
|---|---|
| 0 | Готово |
| 1 | Один или несколько файлов не удалось уменьшить |
| 2 | Команда была неверной |
| 3 | Требуется Feather Pro |
| 130 | Остановлено через Ctrl-C |
Feather CLI обрабатывает одновременно не больше четырёх фото и одно видео, чтобы никогда не занимать больше памяти, чем может выделить ваш Mac. С -j 1 он обрабатывает по одному файлу. Ctrl-C останавливает: файлы в работе доводятся до конца или отбрасываются, а оригиналы остаются как были.
Вопросы
Почему Feather CLI нет в App Store вместе с Feather?
Приложения из App Store работают в песочнице. Инструмент командной строки в песочнице не может открыть файлы, которые вы указываете в Терминале, поэтому Feather CLI устанавливается отдельно. Он будет подписан нашим Developer ID и заверен Apple.
Как Feather CLI узнаёт, что у меня есть Feather Pro?
Он читает квитанцию App Store для Feather на этом Mac: проверяет подпись Apple и то, что квитанция принадлежит этому Mac. Это происходит офлайн, и ничего не отправляется.
Работает ли он на сервере или в CI?
Пока нет. Feather CLI нужен Feather с Feather Pro на том же Mac.
Работает ли он на Mac с Intel?
Нет. Feather 2 создан для процессоров Apple.
Вопросы или идеи? Свяжитесь с нами через studiomaxredecker.com.