All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
Изменение размера, оптимизация, изменение скорости, реверс, поворот и извлечение кадров анимированных GIF в одном инструменте.
5e525e80db92
human
b17a88f42542
Инструменты GIF
Изменяйте размер, оптимизируйте, меняйте скорость, реверсируйте, извлекайте кадры и поворачивайте анимированные GIF. Предоставляет несколько режимов работы в одном инструменте.
Конечная точка API
POST /api/v1/tools/image/gif-tools
Параметры
Общие параметры
Параметр
Тип
Обязательный
По умолчанию
Описание
mode
string
Нет
"resize"
Режим работы: resize, optimize, speed, reverse, extract, rotate
loop
number
Нет
0
Число повторов выходного GIF (0 = бесконечно, 1-100 = конечное число повторов)
Параметры режима изменения размера
Параметр
Тип
Обязательный
По умолчанию
Описание
width
integer
Нет
-
Целевая ширина в пикселях (от 1 до 16384)
height
integer
Нет
-
Целевая высота в пикселях (от 1 до 16384)
percentage
number
Нет
-
Масштабирование в процентах (от 1 до 500). Переопределяет width/height, если задан.
Параметры режима оптимизации
Параметр
Тип
Обязательный
По умолчанию
Описание
colors
number
Нет
256
Максимальное число цветов в палитре (от 2 до 256)
dither
number
Нет
1.0
Сила дизеринга (от 0 до 1, где 0 отключает дизеринг)
effort
number
Нет
7
Уровень усилий оптимизации (от 1 до 10, выше = медленнее, но меньше)
Параметры режима скорости
Параметр
Тип
Обязательный
По умолчанию
Описание
speedFactor
number
Нет
1.0
Множитель скорости (от 0.1 до 10). Значения > 1 ускоряют, < 1 замедляют.
Параметры режима извлечения
Параметр
Тип
Обязательный
По умолчанию
Описание
extractMode
string
Нет
"single"
Режим извлечения: single, range, all
frameNumber
number
Нет
0
Индекс кадра для извлечения в режиме single (отсчёт с 0)
frameStart
number
Нет
0
Индекс начального кадра для режима range (отсчёт с 0)
frameEnd
number
Нет
-
Индекс конечного кадра для режима range (отсчёт с 0, включительно)
extractFormat
string
Нет
"png"
Формат извлекаемых кадров: png, webp
Параметры режима поворота
Параметр
Тип
Обязательный
По умолчанию
Описание
angle
number
Нет
-
Угол поворота: 90, 180 или 270 градусов
flipH
boolean
Нет
false
Отразить по горизонтали
flipV
boolean
Нет
false
Отразить по вертикали
Примеры запросов
Изменение размера
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif"\
-F 'settings={"mode":"resize","percentage":50}'
Оптимизация
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@large.gif"\
-F 'settings={"mode":"optimize","colors":128,"effort":9}'
Ускорение
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif"\
-F 'settings={"mode":"speed","speedFactor":2.0}'
Извлечение одного кадра
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif"\
-F 'settings={"mode":"extract","extractMode":"single","frameNumber":5,"extractFormat":"png"}'
Основная конечная точка обработки использует стандартную фабрику createToolRoute.
Конечной точке info требуется только загрузка файла (настройки не нужны).
В режиме resize, если задан percentage, он имеет приоритет над width/height. Изменение размера использует fit: inside для сохранения соотношения сторон.
В режиме speed задержки кадров делятся на коэффициент скорости. Минимальная задержка на кадр составляет 20 мс (ограничение спецификации GIF).
В режиме reverse также доступен параметр speedFactor для одновременной регулировки скорости при реверсе.
В режиме extractсrange или all вывод представляет собой ZIP-файл с отдельными кадрами.
В режиме rotate каждый кадр обрабатывается отдельно и вновь собирается в анимацию.
Параметр loop управляет тем, сколько раз повторяется выходной GIF. Используйте 0 для бесконечного повтора.
Поле duration в ответе info представляет собой общую длительность анимации в миллисекундах.