コンテンツへスキップ

GIF フレーム 抽出

GIF フレーム 抽出は、アニメーションGIFをフレームごとにPNGファイルへ分けられる無料のオンラインツールです。ファイルを選んで「フレームに分割」をクリックするだけで、全フレームのZIPや1枚のPNGを受け取れます。無料のWebツールは登録も不要です。

  • 結果が20MBを超えると、「output too large」のメッセージが表示されて書き出しが拒否されます。範囲を指定して少しずつ書き出すと、この上限を避けやすくなります。
  • ツールは一度に1つのファイルを処理します。扱える上限は、アカウントの有無によって変わります。
  • サイズや時間は、生成したテスト用のアニメーションで測定したものです。実際の素材ではないため、結果はファイルによって変わります。

ここに画像をドロップ

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

フレームはframe-001.pngのような名前のPNGファイルとして保存され、番号は元のアニメーションでの順番です。長いGIFや大きいGIFはZIPの20MBの上限を超えることがあります。その場合は、フレームの範囲を分けて書き出してください。

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

結果

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

無料の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を、全フレームのZIP、1フレーム、指定した範囲のいずれかのPNGに分割する無料のオンラインツールです。

主な仕様

  • 入力:アニメーションGIFまたはWebP。無料のWebツールでは5 MBまで、ログイン時は10 MBまで。各フレームは16 MP (4096 x 4096)まで。
  • 出力:元の順番に従い番号が付いたframe-001.pngなどの全体画像のPNG。圧縮を追加しないZIPに格納されます。
  • 20MBを超える結果は拒否されます。長い、または大きいアニメーションは、範囲を指定して書き出してください。
  • テスト:生成した20フレーム、240 x 180 px、63KBのGIFで、全フレームのZIPは95KB、フレーム10のPNGは4.6KB。テスト用アニメーションはスクリプトで生成したもので、結果は変わります。
  • 保存:アップロードは、ジョブの終了時に削除されます。結果は、無料のWebツールでは10分後に削除されます。ログイン時は、ファイルごとに1クレジットで、10MPを超える分は、始まった10MPごとにクレジットが加算されます。
  • アカウント登録なしの無料利用では、訪問者ごとに毎分10件、毎日50件まで変換でき、透かしは入りません。ログインしているユーザーは、レンダリングごとに1クレジットを使用します。毎月100無料クレジットが付与されます。
  • ファイルは自動的に削除されます。アカウント登録なしの場合は変換後10分、無料アカウントの場合は1日で削除されます。
  • 開発者は、APIキーを付けてPOST https://api.aiipworld.com/v1/renderを送信すると、同じレンダリングを実行できます。詳しくはAPIドキュメントページをご覧ください。

使い方

  1. GIFファイルを選択してアップロードします。ツールがファイルの種類、サイズ、ピクセル数を確認し、プレビューを表示します。
  2. アニメーションの概要で、フレーム数、再生時間、サイズを確認します。
  3. 「書き出す内容」で「すべてのフレーム」を選ぶか、「1フレームだけ」または「フレームの範囲」を選びます。
  4. 「フレームに分割」をクリックします。
  5. 結果をダウンロードします。全フレームと範囲指定はPNGファイルのZIP、1フレームは1つのPNGで届きます。

出力例

Original GIF, 240 x 180 px, 20 frames, 63 KB

The sample animated GIF before it is split

Frame 10 as a PNG, 4.6 KB (all 20 frames: 95 KB ZIP)

サンプルのアニメーションGIFから書き出したフレーム10のPNG画像
生成したテスト用のアニメーション(240 x 180 px、20フレーム、1フレーム70ms、63KBのGIF)を分割した例です。全20フレームは95KBのZIPにまとめられます。フレーム10だけを書き出すと、上の画像の4.6KBのPNGになります。 このサイトの独自エンジンで変換しました。 変換後のファイルを開く(または画像を選択)で原寸で確認できます。

GIF フレーム 抽出の手順

GIFを分割する操作は、ファイルのアップロード、書き出し方法の選択、分割の実行の3段階です。

初期設定は「すべてのフレーム」で、PNGファイルをまとめたZIPが返されます。必要な部分だけなら「1フレームだけ」か「フレームの範囲」を選びます。ボタンの上の概要欄には、書き出される内容が表示されます。

  • すべてのフレーム:すべてのフレームを1つのZIPにまとめます。
  • 1フレームだけ:1つのPNGファイルを書き出します。
  • フレームの範囲:一部のフレームをZIPにまとめます。

ツールの仕組み

アニメーションGIFを読み込み、各フレームを1枚ずつ独立した画像として書き出す変換ツールです。GIFを全フレームに展開し、各フレームをPNGとして保存します。各画像を開いたり編集したり、再利用したりする用途に使えます。

「gif frame by frame」「split GIF into frames」「break GIF into frames」「get the GIF frames as pictures」といった検索語で探している方にも向いています。PNGは可逆圧縮のため、書き出しでピクセルは変わりません。効果を加えたり、画像を変えたりすることもありません。処理はサーバー上の通常の画像処理で行い、AI機能は使っていません。

書き出し方法の選び方

書き出しは3つの方法から選べます。「すべてのフレーム」は全フレームを個別のPNGにしてZIPにまとめます。「1フレームだけ」は入力したフレーム番号の1枚をPNGで書き出します。「フレームの範囲」は最初と最後のフレームを指定し、その範囲をZIPで受け取ります。

長いアニメーションや大きなアニメーションの場合は、範囲指定を使うと1回の結果が小さくなります。概要欄には、範囲で作られるPNGファイルの数が表示されます。

フレームのプレビュー一覧や、フレームごとに見られる画面はありません。書き出したファイルは、手元のアプリで開いて確認してください。

PNGファイル名とサイズ

各フレームは、GIFの幅と高さのままの全体画像のPNGになります。ファイル名はframe-001.png、frame-002.pngのように付き、番号は元のアニメーションでの位置と一致します。番号は3桁以上で付きます。

たとえばフレーム5から10を書き出すと、frame-005.pngからframe-010.pngになります。ZIPはPNGファイルを追加で圧縮せずに格納します。

  • 各PNGは、GIFのサイズでフレーム全体を表示します。
  • ファイル名は、アニメーションの元の順番を保ちます。

フレームの透過

GIFの透明な部分は、PNGファイルでも保たれます。GIFの各ピクセルは完全な透明か完全な不透明のどちらかで、PNGでも同じ部分が透明に見えます。

透明な部分があるかどうかは、元のファイルによって決まります。透明な部分がないGIFからは、透明な部分のないPNGが作られます。

20MBの上限と範囲指定での書き出し

結果が20MBを超えると、「output too large」のメッセージで失敗します。ツールは途中で切れたZIPは返しません。長い、または大きいGIFでは大きなPNGが多数できるため、合計が上限に達することがあります。

処理の前にページで警告が出た場合は、範囲を指定して少しずつ書き出してください。処理エンジンでの計測では、ノイズの多いテスト用アニメーション(854 x 480 px、100フレーム)は51フレームで上限に達しました。画面録画風のテスト(1280 x 720 px、69フレーム)は18.9MBのZIPになりました。結果はファイルによって変わります。

フレーム番号の指定

フレーム番号は、ツールが表示する番号を使ってください。番号は1から総フレーム数までです。範囲外の番号は受け付けられません。

範囲は、最初のフレームと最後のフレームを指定します。最初のフレームは最後のフレーム以前にしてください。ファイル名は元のフレーム番号のままです。frame-005.pngは必ずフレーム5です。

アカウントごとの制限

アニメーションは、デコードの前にファイルのヘッダーから確認されます。ログインしているユーザーは最大300フレーム、合計64 MP(幅 x 高さ x フレーム数)まで扱えます。アカウント登録がない場合は、100フレーム、合計16 MPまでです。各フレームは16 MP (4096 x 4096)までです。上限を超えるとジョブは失敗し、クレジットは返金されます。

ログインしている場合の基本料金は、ファイルごとに1クレジットです。基本料金には10MPのアニメーションが含まれます。それを超える分は、始まった10MPごとに1クレジットが加算されます。

  • アカウント登録がない場合は、1日の上限内で無料で使えます。
  • 失敗したジョブとタイムアウトしたジョブは、クレジットが返金されます。

対応するファイル形式と上限

アニメーションGIFとアニメーションWebPに対応しています。PNG、JPGなどのファイルは、その旨のメッセージが表示されて受け付けられません。

無料のWebツールでは1ファイルあたり5 MBまで、ログインしているユーザーは1ファイルあたり10 MBまで扱えます。アカウント登録がない場合は、訪問者1人あたり1日30ファイルまでです。各フレームは16 MP (4096 x 4096)までです。拡張子が.gifでも、実際にはGIFやWebPではないファイルは非対応の画像として拒否されます。20MBを超える結果は、大きすぎるとして拒否されます。

コードからGIFを分割する方法

APIでも同じ処理を行えます。https://api.aiipworld.com/v1/image-jobs に、ファイルのバイト列をそのまま送るPOSTリクエストを送ります。JSONやマルチパートフォームデータは送らないでください。Content-Typeはimage/gifまたはimage/webpです。クエリ文字列にはop=gif_editとaction=framesを指定します。

認証はAuthorization: Bearer <API key>またはx-api-keyヘッダーで行います。アニメーションでは、timeout_sec=60(最大)を指定します。

レスポンスは202と job_id で返ります。GET /v1/jobs/:id をポーリングして結果を取得します。ツールの下のページには、選んだ設定に合わせたcURL、Node.js、Pythonの例が表示されます。詳しくは/docs/#image-jobsを確認してください。

プライバシーとファイルの削除

ファイルはサーバーに送られ、そこでデコードと分割が行われます。アップロードされたファイルは結果を作るためだけに使われ、ジョブが成功しても失敗しても、終わり次第削除されます。

無料のWebツールでは、結果は10分後に削除されます。履歴は残りません。ダウンロード用のリンクは短時間で使えなくなるため、準備ができたら保存してください。アップロードするファイルは、利用ポリシーに従って利用する権利があるものに限ってください。

よくある質問

GIFを無料で分割できますか?

はい、無料のWebツールはアカウント登録なしで使えます。訪問者1人あたり1日30ファイルまでです。

1フレームだけ取り出すには、どうすればよいですか?

「書き出す内容」で「1フレームだけ」を選び、「Frame number」欄にフレーム番号を入力して「フレームに分割」をクリックします。結果は1つのPNGファイルです。

ファイル名はどのように付きますか?

frame-001.png、frame-002.pngのように付きます。番号は元のアニメーションでの位置と一致し、3桁以上で付きます。

フレームは全体の画像ですか?

はい、各フレームはGIFの幅と高さのままの全体画像のPNGです。一部を切り抜いたものではありません。

好きなフレームを複数選んで書き出せますか?

選べるのは、すべてのフレーム、1フレーム、または最初から最後までの範囲の3通りです。2、5、9のように離れた番号の一覧は指定できません。

「output too large」と表示されたのはなぜですか?

結果が20MBを超えたためです。大きなPNGが多数集まると、この上限に達することがあります。範囲を指定して、少しずつ書き出してください。

透過は残りますか?

はい、元のGIFに透明な部分があれば残ります。各ピクセルは完全な透明か、完全な不透明です。

アニメーションWebPも分割できますか?

はい、アニメーションWebPもGIFと同じように受け付けます。書き出しの選択肢とファイル名のルールも同じです。

各フレームの表示時間も取得できますか?

いいえ、ZIPにはフレームごとの表示時間のファイルは含まれません。表示時間が必要な場合は、JSON形式を選べるスプライトシートのページを使ってください。

上限を超えたと表示されたのはなぜですか?

フレーム数と合計ピクセル数が、アカウントの種類ごとの上限と照らし合わせて確認されるためです。上限を超えるとジョブは失敗し、クレジットは返金されます。ログインしているユーザーの上限は、アカウント登録がない場合より高く設定されています。

ファイルはどのくらい保存されますか?

アップロードしたファイルは、ジョブが終わると削除されます。結果は、無料のWebツールでは10分後に削除されます。

コードからGIFを分割できますか?

はい、生のファイルをimage jobsのエンドポイントに送り、op=gif_editとaction=framesを指定します。詳しくは/docs/#image-jobsを確認してください。

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

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

関連ツール