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

GIF ツール

アニメーション GIF のリサイズ、最適化、速度変更、逆再生、フレーム抽出、回転を行います。1 つのツールで複数の操作モードを提供します。

API エンドポイント

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

パラメーター

共通パラメーター

パラメーター必須デフォルト説明
modestringいいえ"resize"操作モード: resizeoptimizespeedreverseextractrotate
loopnumberいいえ0出力 GIF のループ回数(0 = 無限、1〜100 = 有限ループ)

リサイズモードのパラメーター

パラメーター必須デフォルト説明
widthintegerいいえ-目標の幅(ピクセル、1 から 16384)
heightintegerいいえ-目標の高さ(ピクセル、1 から 16384)
percentagenumberいいえ-パーセンテージでスケール(1 から 500)。設定すると width/height を上書きします。

最適化モードのパラメーター

パラメーター必須デフォルト説明
colorsnumberいいえ256パレット内の最大色数(2 から 256)
dithernumberいいえ1.0ディザリングの強度(0 から 1、0 でディザリングを無効化)
effortnumberいいえ7最適化の労力レベル(1 から 10、高いほど遅いが小さくなる)

速度モードのパラメーター

パラメーター必須デフォルト説明
speedFactornumberいいえ1.0速度倍率(0.1 から 10)。1 より大きい値で高速化、1 未満で低速化します。

抽出モードのパラメーター

パラメーター必須デフォルト説明
extractModestringいいえ"single"抽出モード: singlerangeall
frameNumbernumberいいえ0single モードで抽出するフレームのインデックス(0 始まり)
frameStartnumberいいえ0range モードの開始フレームインデックス(0 始まり)
frameEndnumberいいえ-range モードの終了フレームインデックス(0 始まり、含む)
extractFormatstringいいえ"png"抽出フレームの形式: pngwebp

回転モードのパラメーター

パラメーター必須デフォルト説明
anglenumberいいえ-回転角度: 90180、または 270
flipHbooleanいいえfalse水平方向に反転
flipVbooleanいいえfalse垂直方向に反転

リクエスト例

リサイズ

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

最適化

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

高速化

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

単一フレームの抽出

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

レスポンス例

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

Info サブルート

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

アニメーション GIF を処理せずにそのメタデータを返します。

Info リクエスト

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

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
}

注記

  • メイン処理エンドポイントには標準の createToolRoute ファクトリを使用します。
  • info エンドポイントはファイルのアップロードのみを必要とします(設定は不要)。
  • resize モードでは、percentage が指定されている場合、width/height より優先されます。リサイズはアスペクト比を維持するために fit: inside を使用します。
  • speed モードでは、フレームの遅延が速度係数で除算されます。フレームあたりの最小遅延は 20ms です(GIF 仕様の制限)。
  • reverse モードでは、逆再生しながら同時に速度を調整するために speedFactor パラメーターも使用できます。
  • range または all を指定した extract モードでは、出力は個々のフレームを含む ZIP ファイルになります。
  • rotate モードでは、各フレームが個別に処理され、アニメーションに再構成されます。
  • loop パラメーターは、出力 GIF がループする回数を制御します。無限ループには 0 を使用します。
  • info レスポンスの duration フィールドは、アニメーション全体の再生時間(ミリ秒)です。