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

Ferramentas de GIF

Redimensione, otimize, altere a velocidade, inverta, extraia quadros e gire GIFs animados. Oferece vários modos de operação em uma única ferramenta.

Endpoint da API

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

Parâmetros

Parâmetros Comuns

ParâmetroTipoObrigatórioPadrãoDescrição
modestringNão"resize"Modo de operação: resize, optimize, speed, reverse, extract, rotate
loopnumberNão0Número de repetições do GIF de saída (0 = infinito, 1-100 = repetições finitas)

Parâmetros do Modo Redimensionar

ParâmetroTipoObrigatórioPadrãoDescrição
widthintegerNão-Largura alvo em pixels (1 a 16384)
heightintegerNão-Altura alvo em pixels (1 a 16384)
percentagenumberNão-Escala por percentual (1 a 500). Sobrepõe width/height se definido.

Parâmetros do Modo Otimizar

ParâmetroTipoObrigatórioPadrãoDescrição
colorsnumberNão256Número máximo de cores na paleta (2 a 256)
dithernumberNão1.0Intensidade de dithering (0 a 1, onde 0 desativa o dithering)
effortnumberNão7Nível de esforço de otimização (1 a 10, maior = mais lento porém menor)

Parâmetros do Modo Velocidade

ParâmetroTipoObrigatórioPadrãoDescrição
speedFactornumberNão1.0Multiplicador de velocidade (0.1 a 10). Valores > 1 aceleram, < 1 desaceleram.

Parâmetros do Modo Extrair

ParâmetroTipoObrigatórioPadrãoDescrição
extractModestringNão"single"Modo de extração: single, range, all
frameNumbernumberNão0Índice do quadro a extrair no modo single (base 0)
frameStartnumberNão0Índice do quadro inicial para o modo range (base 0)
frameEndnumberNão-Índice do quadro final para o modo range (base 0, inclusivo)
extractFormatstringNão"png"Formato para os quadros extraídos: png, webp

Parâmetros do Modo Girar

ParâmetroTipoObrigatórioPadrãoDescrição
anglenumberNão-Ângulo de rotação: 90, 180 ou 270 graus
flipHbooleanNãofalseInverter horizontalmente
flipVbooleanNãofalseInverter verticalmente

Exemplos de Requisição

Redimensionar

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

Otimizar

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

Acelerar

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

Extrair Quadro Único

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"}'

Exemplo de Resposta

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

Sub-rota de Info

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

Retorna metadados sobre um GIF animado sem processá-lo.

Requisição de Info

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

Resposta de 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
}

Observações

  • Usa a fábrica padrão createToolRoute para o endpoint principal de processamento.
  • O endpoint de info requer apenas o envio de um arquivo (não são necessárias configurações).
  • No modo resize, se percentage for fornecido ele tem prioridade sobre width/height. O redimensionamento usa fit: inside para manter a proporção.
  • No modo speed, os atrasos dos quadros são divididos pelo fator de velocidade. O atraso mínimo por quadro é de 20ms (limitação da especificação do GIF).
  • No modo reverse, o parâmetro speedFactor também está disponível para ajustar a velocidade simultaneamente à inversão.
  • No modo extract com range ou all, a saída é um arquivo ZIP contendo os quadros individuais.
  • No modo rotate, cada quadro é processado individualmente e remontado em uma animação.
  • O parâmetro loop controla quantas vezes o GIF de saída se repete. Use 0 para repetição infinita.
  • O campo duration na resposta de info é a duração total da animação em milissegundos.