コンテンツへスキップ

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

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

  • 残すのは一続きの部分だけです。途中の区間を削除することや、別々の部分をつなげることはできません。
  • サイズや時間は、生成したテスト用アニメーションで測った値です。実際の結果はファイルによって変わります。
  • 無料で使う場合、1ファイルは5 MBまで、アカウント登録なしの訪問者は1日30ファイルまで使えます。

ここに画像をドロップ

PNG、JPG、WebP、AVIF、GIF、BMP、TIFF(5 MBまで)

残したフレームは、それぞれの表示時間と繰り返し回数をそのまま引き継ぎます。元のファイルは変更されません。

GIFの色数は最大256色で、各ピクセルは完全な透明か完全な不透明のどちらかです。フレームを読み込んで編集し、もう一度書き出すため、色数の多いGIFは見た目が少し変わることがあります。WebPは非可逆です。画質スライダーで調整してください。

セキュリティ確認を完了すると、ボタンが有効になります。

結果

ここにGIFが表示されます。

無料のWebツールは5 MBまでの画像を、1日30枚まで処理できます。ログインすると上限は10 MBになります。

保存期間:Webツールの結果は10分後に削除され、履歴は保存されません。APIの結果は無料プランでは1日、StarterとProでは7日保存されます(BusinessとScaleでは30日)。

  • アカウント登録なしで利用可能

    無料で毎日30枚まで、透かしなし。

  • フレーム単位で編集

    フレームを1回だけ読み込んで編集し、1回だけ書き出します。元のファイルは変更されず、アップロードしたファイルは処理が終わると削除されます。

  • 自動的に削除

    Webツールの結果は10分後に削除されます。

プライバシー:送信された内容は、このファイルを作成するためにのみ使用されます。作業用のコピーはジョブの終了時に削除され、結果は10分後に削除されます。詳しくはプライバシーポリシーをご覧ください。

コードから実行する

上の入力と設定から作成した、同じリクエストです。APIキーを取得するには、アカウントを作成してください。

curl -X POST https://api.aiipworld.com/v1/render \
  -H "Authorization: Bearer $AIIPWORLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"html":"","output":"pdf","options":{}}'

# returns {"job_id": "...", "status": "queued"}; then poll:
curl https://api.aiipworld.com/v1/jobs/JOB_ID -H "Authorization: Bearer $AIIPWORLD_API_KEY"

一括処理

Webツールは一度に1画像まで処理します。APIでは画像ごとに一つのリクエストとなるため、プランが許す数だけスクリプトで処理できます。

保存期間

Webツールの結果は10分保存されます。無料APIの結果は1日、StarterとProの結果は7日、BusinessとScaleの結果は30日保存されます。Webツールでは、訪問者ごとに毎分10回、毎日50回まで変換できます。

ひとことで言うと

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

主な仕様

  • 入力:フレームが複数あるアニメーション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をカット」をクリックして、結果をダウンロードします。ダウンロードのリンクは短時間だけ有効なので、早めに保存してください。

出力例

Original GIF, 30 frames, 1.8 s, 106 KB

The sample animated GIF before trimming

Trimmed GIF, frames 1 to 15, 0.9 s, 59 KB

生成したテスト用アニメーションを、最初の15フレームに切り出したアニメーションGIF
生成したテスト用アニメーション(320 x 240px、30フレーム、1フレーム60ms、1.8s、106KBのGIF)を、フレーム1から15に切り出したもの。59KBのGIFで、15フレーム、0.9sになり、各フレームのディレイは同じです。 このサイトの独自エンジンで変換しました。 変換後のファイルを開く(または画像を選択)で原寸で確認できます。

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の例が表示されます。

アプリ内や一括処理で使いたい場合

このツールはAPIと同じプラットフォームで動作するため、同じ画像を、お使いのコードから一回のHTTPリクエストで取得できます。 無料アカウントには、毎月100クレジットが含まれています。

関連ツール