This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Công cụ GIF

Thay đổi kích thước, tối ưu hóa, đổi tốc độ, đảo ngược, trích xuất khung hình và xoay GIF động. Cung cấp nhiều chế độ thao tác trong một công cụ duy nhất.

Điểm cuối API

POST /api/v1/tools/image/gif-tools

Tham số

Tham số chung

Tham sốKiểuBắt buộcMặc địnhMô tả
modestringKhông"resize"Chế độ thao tác: resize, optimize, speed, reverse, extract, rotate
loopnumberKhông0Số lần lặp cho GIF đầu ra (0 = vô hạn, 1-100 = số lần lặp hữu hạn)

Tham số chế độ Resize

Tham sốKiểuBắt buộcMặc địnhMô tả
widthintegerKhông-Chiều rộng đích tính bằng pixel (1 đến 16384)
heightintegerKhông-Chiều cao đích tính bằng pixel (1 đến 16384)
percentagenumberKhông-Thu phóng theo phần trăm (1 đến 500). Ghi đè width/height nếu được đặt.

Tham số chế độ Optimize

Tham sốKiểuBắt buộcMặc địnhMô tả
colorsnumberKhông256Số màu tối đa trong bảng màu (2 đến 256)
dithernumberKhông1.0Cường độ khử răng cưa màu (0 đến 1, trong đó 0 tắt dithering)
effortnumberKhông7Mức nỗ lực tối ưu hóa (1 đến 10, cao hơn = chậm hơn nhưng nhỏ hơn)

Tham số chế độ Speed

Tham sốKiểuBắt buộcMặc địnhMô tả
speedFactornumberKhông1.0Hệ số nhân tốc độ (0.1 đến 10). Giá trị > 1 tăng tốc, < 1 làm chậm.

Tham số chế độ Extract

Tham sốKiểuBắt buộcMặc địnhMô tả
extractModestringKhông"single"Chế độ trích xuất: single, range, all
frameNumbernumberKhông0Chỉ số khung hình cần trích xuất trong chế độ single (bắt đầu từ 0)
frameStartnumberKhông0Chỉ số khung hình bắt đầu cho chế độ range (bắt đầu từ 0)
frameEndnumberKhông-Chỉ số khung hình kết thúc cho chế độ range (bắt đầu từ 0, bao gồm cả chỉ số này)
extractFormatstringKhông"png"Định dạng cho khung hình được trích xuất: png, webp

Tham số chế độ Rotate

Tham sốKiểuBắt buộcMặc địnhMô tả
anglenumberKhông-Góc xoay: 90, 180, hoặc 270 độ
flipHbooleanKhôngfalseLật ngang
flipVbooleanKhôngfalseLật dọc

Ví dụ yêu cầu

Resize

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
  -F "[email protected]" \
  -F 'settings={"mode":"resize","percentage":50}'

Optimize

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
  -F "[email protected]" \
  -F 'settings={"mode":"optimize","colors":128,"effort":9}'

Tăng tốc

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
  -F "[email protected]" \
  -F 'settings={"mode":"speed","speedFactor":2.0}'

Trích xuất một khung hình đơn

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
  -F "[email protected]" \
  -F 'settings={"mode":"extract","extractMode":"single","frameNumber":5,"extractFormat":"png"}'

Ví dụ phản hồi

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/animation.gif",
  "originalSize": 2345678,
  "processedSize": 1234567
}

Tuyến con Info

POST /api/v1/tools/image/gif-tools/info

Trả về siêu dữ liệu về một GIF động mà không xử lý nó.

Yêu cầu Info

bash
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools/info \
  -F "[email protected]"

Phản hồi Info

json
{
  "width": 480,
  "height": 320,
  "pages": 24,
  "delay": [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
  "loop": 0,
  "fileSize": 2345678,
  "duration": 2400
}

Ghi chú

  • Sử dụng factory createToolRoute tiêu chuẩn cho điểm cuối xử lý chính.
  • Điểm cuối info chỉ cần tải lên một tệp (không cần cài đặt).
  • Ở chế độ resize, nếu percentage được cung cấp thì nó được ưu tiên hơn width/height. Việc thay đổi kích thước dùng fit: inside để giữ tỷ lệ khung hình.
  • Ở chế độ speed, độ trễ khung hình được chia cho hệ số tốc độ. Độ trễ tối thiểu mỗi khung hình là 20ms (giới hạn của đặc tả GIF).
  • Ở chế độ reverse, tham số speedFactor cũng khả dụng để đồng thời điều chỉnh tốc độ trong khi đảo ngược.
  • Ở chế độ extract với range hoặc all, đầu ra là một tệp ZIP chứa từng khung hình riêng lẻ.
  • Ở chế độ rotate, mỗi khung hình được xử lý riêng và lắp ghép lại thành một hoạt ảnh.
  • Tham số loop kiểm soát số lần lặp của GIF đầu ra. Dùng 0 để lặp vô hạn.
  • Trường duration trong phản hồi info là tổng thời lượng hoạt ảnh tính bằng mili-giây.