# GIF カット：アニメーションGIFを一部だけ切り出す

> GIF カットは、アニメーションGIFやWebPの一続きの部分を残して、ほかを削除する無料のオンラインツールです。

GIF カットは、アニメーションGIFやアニメーションWebPの連続した一部分だけを残し、ほかを削除する無料のオンラインツールです。フレーム番号か、開始と終了の時間（ミリ秒）で範囲を決め、「GIFをカット」をクリックするだけで切り出せます。会員登録は必要なく、1ファイルは5 MBまで使えます。

## 主な仕様

- 入力：フレームが複数あるアニメーションGIFまたはWebP。無料ツールでは5 MBまで、ログイン時は10 MBまで、各フレームは16 MP (4096 x 4096)まで。
- 出力：残したフレームを含むGIF（またはアニメーションWebP）。各フレームは自分のディレイと元のループ回数を持ち、開始時刻が開始以上かつ終了より前にあるフレームが残る。
- 一続きの部分だけを残せます。途中の区間の削除や、部分をつなげることはできません。アップロードしたファイルはジョブの終了時に削除され、結果は10分後に削除されます。
- テスト：生成した30フレーム、1.8s、106KBのGIFが、フレーム1から15の15フレーム、0.9s、59KBのGIFになりました。テスト用アニメーションはサイトのスクリプトで生成し、結果は変わります。
- 料金：ログインしている場合はファイルごとに1クレジットで、10メガピクセルを超えるデコード済みフレームは、開始した10メガピクセルごとに1クレジット追加されます。
- アカウント登録なしの無料利用では、訪問者ごとに毎分10件、毎日50件まで変換でき、透かしは入りません。ログインしているユーザーは、レンダリングごとに1クレジットを使用します。毎月100無料クレジットが付与されます。
- ファイルは自動的に削除されます。アカウント登録なしの場合は変換後10分、無料アカウントの場合は1日で削除されます。
- 開発者は、APIキーを付けてPOST https://api.aiipworld.com/v1/renderを送信すると、同じレンダリングを実行できます。詳しくはAPIドキュメントページをご覧ください。

## 使い方

1. ファイルを選択して、GIFまたはアニメーションWebPをアップロードします。ブラウザにプレビューとフレーム数が表示されます。
2. 「切り取りの指定方法」で「フレーム番号」か「時間（ミリ秒）」を選び、範囲を設定します。
3. 表示される要約行を読み、残るフレームを確認します。
4. 「保存形式」で「元の形式のまま」「GIF」「アニメーションWebP」から出力形式を選びます。
5. 「GIFをカット」をクリックして、結果をダウンロードします。ダウンロードのリンクは短時間だけ有効なので、早めに保存してください。

## GIF カットの使い方

ファイルをアップロードし、切り出し方法を選んで実行します。フレーム番号でも時間の範囲でも手順は同じです。実行前にプレビューとフレーム数が表示されるので、先に切り出し結果を確認できます。「切り取りの指定方法」から設定を始め、範囲を決め、要約行を読み、出力形式を選んでから「GIFをカット」をクリックしてください。リンクが使えなくなる前に、結果をダウンロードしてください。

## GIF カットでできること

選んだフレームを残し、残りを削除します。残したフレームは、それぞれの表示時間（ディレイ）と、繰り返し回数（ループ回数）をそのまま保ちます。各フレームの絵は変わらず、サイズとピクセル数も同じです。元のファイルは変更されません。残すフレームは最低1つ必要で、1つだけ残すと1コマのGIFになります。

- アニメーションの一続きの部分を残します。
- フェードを追加することや、アニメーションを逆再生することはできません。
- 速度を変える場合は、「GIFの速度を変えるツール」を使ってください。

## フレーム番号で切り出す

フレーム番号が初期設定です。「最初のフレーム」と「最後のフレーム」にそれぞれ数値ボックスとスライダーがあり、数値で範囲を指定します。両端を含むので、フレーム1から15を指定すると15フレームになります。テストでは、320 x 240px、1フレーム60msで作った30フレームのアニメーションを使いました。フレーム1から15を残すと15フレーム、0.9sになりました。フレーム11から20を残すと10フレーム、0.6sになりました。フレーム番号が総数を超えると、フレーム数を示すメッセージとともに受け付けられません。

- フレーム番号は1から数えます。
- プレビューで総フレーム数を確認します。

## 時間（ミリ秒）で切り出す

「Time」を選び、「開始（ms）」と「終了（ms）」を入力します。フレームは、開始時刻が指定した開始以上で、終了より前にあるときに残ります。終了の時刻ちょうどのフレームは含まれません。ブラウザはファイルのヘッダーからディレイを読み取り、実行前に残るフレームを要約に表示します。テストでは、600から1200msの範囲で、フレーム番号で切り出した場合と同じフレーム11から20が残りました。0から1000msでは17フレーム、1.0sになりました。17フレーム目は960msに始まるためです。

- どのフレームも開始しない範囲は、受け付けられません。
- 時間は各フレームの開始から数えます。ディレイが不均一だと結果が変わります。

## 再生時間とループの扱い

切り出したGIFは、残したフレームのディレイを保ちます。元のファイルのループ回数も引き継ぎます。再生時間は、ブラウザがファイルを再生する方法で数えます。ディレイが10ms以下のフレームは100msとして数えます。結果パネルには、切り出し前後の再生時間を示す「Frames kept」の行と、アニメーション全体の再生時間およびループ回数が表示されます。ディレイが100、100、500、100、100、1000msの不均一なアニメーションで、150から800msを指定したところ、200msと700msに始まるフレーム3と4が残りました。

## 切り出したGIFのファイルサイズ

フレームを減らすと、ファイルは通常小さくなりますが、サイズは直線的には減りません。テストでは、30フレームの元のGIFは106KBでした。フレーム1から15は59KB、フレーム11から20は37KBになりました。1フレームだけ残すと9.8KBでした。結果は、ファイルや絵の内容によって変わります。サイズは結果パネルに表示され、1KBは1024バイトとして示されます。数値は生成したテスト用アニメーションによるもので、実際の映像によるものではありません。

## GIFとアニメーションWebPで保存する

「保存形式」では「元の形式のまま」「GIF」「アニメーションWebP」から選べます。WebPを選ぶと品質のスライダーが表示され、初期値は80です。アニメーションWebPの出力は非可逆圧縮のため、品質の設定で絵の細かさが変わります。テストでは、フレーム1から15をアニメーションWebPにすると37KB、GIFにすると59KBでした。両方の形式を試し、結果パネルでファイルサイズを比べてください。

## 1フレームだけを残す

最初のフレームと最後のフレームに同じ番号を設定します。結果は1コマのGIFになります。テストでは、フレーム5を残して9.8KBの1コマGIFができました。GIF カットは一続きの部分だけを残すため、途中の区間を削除したり、別々の部分をつなげたりすることはできません。速度を変える場合は「GIFの速度を変えるツール」を、各フレームを個別の画像にする場合は「GIFの各フレームを画像にするツール」を使ってください。

## アニメーションの上限

上限は、ファイルのヘッダーを読んで、デコードする前に確認します。ログインしている場合は300フレームと総ピクセル数64 MPまで扱えます。総ピクセル数は、フレームの幅×高さ×フレーム数で計算します。アカウント登録なしの場合は100フレームと16 MPまでです。1フレームの上限は16 MP (4096 x 4096)です。料金は1ファイルあたり1クレジットからで、デコード後のフレームが10メガピクセルを超えた分は、開始した10メガピクセルごとにさらに1クレジットが加算されます。上限を超えるとジョブは失敗し、クレジットは返却されます。

- ブラウザは、上限を超えるアニメーションをアップロード前に警告します。

## 対応するファイル形式

GIFとアニメーションWebPを受け付けます。PNG、JPG、そのほかのファイルは、その旨のメッセージとともに受け付けられません。ファイル形式は名前ではなく中身で判断します。テキストや壊れたファイルの拡張子を.gifに変えたものは、「unsupported image」のメッセージで受け付けられません。終了マーカーより前で切れているGIFも、同じメッセージで受け付けられません。無料のウェブ利用では、1ファイル5 MBまで、訪問者1人あたり1日30ファイルまで、1フレーム16 MP (4096 x 4096)までです。ログインしている場合は、1ファイル10 MBまで使えます。結果が20MBを超えると、途中で切れたファイルではなく、「output too large」のメッセージで失敗します。

## APIでGIF カットを実行する

POST https://api.aiipworld.com/v1/image-jobs に、ファイルの生のバイト列を送ります。JSONやmultipartは使いません。Content-Typeはimage/gifまたはimage/webpです。認証はAuthorization: Bearer `<API key>` か x-api-key で行います。クエリにはop=gif_editとaction=trimを指定し、トリムのパラメータはドキュメントに従ってください。各アクションは自分のパラメータだけを受け付け、未知の名前は拒否されます。アニメーションではtimeout_sec=60（最大値）を送ります。1リクエストに1ファイルで、一括処理用のエンドポイントやwebhookはまだありません。APIは202とjob_idを返します。GET /v1/jobs/:id を繰り返し確認し、ジョブが成功、失敗、タイムアウトのいずれかになるまで待ちます。ツールの下に、選んだ設定に合わせたcURL、Node.js、Pythonの例が表示されます。ドキュメントは /docs/#image-jobs にあります。

## プライバシーとファイルの扱い

ファイルはサーバーに送られ、ブラウザの中では編集されません。画像処理には、libvipsの上に作られたsharp（Apache-2.0）を使います。通常の画像処理で、人工知能は使っていません。アップロードされたファイルは結果を作るためだけに使われ、ジョブが成功しても失敗しても、終わった時点で削除されます。無料のウェブ版では、結果は10分後に削除されます。履歴は残らず、ダウンロードのリンクも短時間だけ有効です。アップロードするファイルは、利用規約（利用ポリシー）に従って使う権利があるものに限ってください。

## よくある質問

### GIF カットは無料で使えますか？

はい、無料のウェブツールで、アカウント登録は必要ありません。アカウント登録なしの利用には、セキュリティ確認が必要です。訪問者1人あたり1日30ファイルまで、1ファイルは5 MBまでです。ログインして使う場合はクレジットで課金され、1ファイルあたり1クレジットからです。

### GIFの最初や最後だけを削るにはどうすればいいですか？

フレーム番号で指定するなら、最初を削る場合は「最初のフレーム」、最後を削る場合は「最後のフレーム」を設定します。時間で指定するなら、「Time」を選び、「開始（ms）」と「終了（ms）」を入力します。「GIFをカット」をクリックする前に、要約行を確認してください。

### 切り出したGIFでもタイミングは保たれますか？

はい、残したフレームはそれぞれのディレイとループ回数を保ちます。結果に表示される再生時間は、残したフレームだけを数えたものです。

### 時間の範囲では、どのフレームが残りますか？

開始時刻が「開始（ms）」以上で、「終了（ms）」より前にあるフレームが残ります。終了の時刻ちょうどのフレームは含まれません。範囲内で開始するフレームがない場合、ジョブは受け付けられません。

### 途中の部分だけを削除できますか？

いいえ、GIF カットは一続きの部分だけを残します。途中の区間を削除することや、別々の部分をつなげることはできません。個別の画像にしたい場合は、「GIFの各フレームを画像にするツール」を使ってください。

### 1フレームだけ残せますか？

はい、最初のフレームと最後のフレームに同じ番号を設定します。結果は1コマのGIFになります。テストでは、フレーム5を残すと9.8KBのファイルになりました。

### 切り出したGIFがフレーム数の割にKBが大きいのはなぜですか？

フレームを減らすと、ファイルは通常小さくなります。ただし、GIFは各フレームを最大256色の画像として保存するため、サイズは直線的には減りません。サイズはファイルの内容によって変わります。テストでは、同じフレームをアニメーションWebPにすると37KB、GIFにすると59KBでした。

### アニメーションWebPも切り出せますか？

はい、アニメーションWebPを入力として受け付けます。出力は「元の形式のまま」「GIF」「アニメーションWebP」から選べます。アニメーションWebPの出力は非可逆圧縮で、品質スライダー（初期値は80）で絵の細かさが変わります。

### フレーム番号が総数を超えたらどうなりますか？

ジョブは受け付けられず、フレーム数を示すメッセージが表示されます。テストでは、30フレームのアニメーションに対してフレーム20から40を指定したところ、受け付けられませんでした。プレビューに表示された総フレーム数の範囲で番号を選んでください。

### 上限を超えたと言われるのはなぜですか？

ファイルかアニメーションが上限を超えているためです。ログインしている場合は300フレームと総ピクセル数64 MPまで、アカウント登録なしの場合は100フレームと16 MPまでです。無料利用では1ファイル5 MBまで、ログインしている場合は10 MBまでです。ブラウザはアップロード前に警告し、上限を超えたジョブは失敗してクレジットが返却されます。

### アップロードしたファイルや結果はどのくらい残りますか？

アップロードされたファイルは、ジョブが終わると削除されます。無料のウェブ版では、結果は10分後に削除されます。履歴は残らず、ダウンロードのリンクは短時間だけ有効です。

### プログラムからGIF カットを使えますか？

はい、APIを使えます。POST to /v1/image-jobs にファイルの生のバイト列を送り、op=gif_editとaction=trimを指定します。アニメーションではtimeout_sec=60を送ってください。ツールの下に、選んだ設定に合わせたcURL、Node.js、Pythonの例が表示されます。

## 関連ツール

- [GIF 速度 変更：再生速度を遅くも速くもする](https://aiipworld.com/ja/tools/gif-speed/index.md)
- [GIF トリミング（無料・オンライン）](https://aiipworld.com/ja/tools/gif-cropper/index.md)
- [GIF フレーム 抽出](https://aiipworld.com/ja/tools/gif-to-frames/index.md)
- [GIF 圧縮（無料・登録不要）](https://aiipworld.com/ja/tools/compress-gif/index.md)
- [GIF リサイズ｜アニメーションGIFを小さくする](https://aiipworld.com/ja/tools/resize-gif/index.md)
- [GIF スプライトシートを作成](https://aiipworld.com/ja/tools/gif-to-sprite-sheet/index.md)

ページ： https://aiipworld.com/ja/tools/gif-trimmer/
