GIF スプライトシートを作成
GIF スプライトシートは、アニメーションGIFの全フレームを1枚のPNGにまとめる無料のオンラインツールです。ファイルをアップロードしてレイアウトを選び、ジョブを実行するだけで作れます。出力はPNGで、必要に応じてJSONファイルも付けられます。例えばゲームエンジンで、アニメーション全体を1枚の画像として読み込みたいときに使えます。
- サイズと時間は、実際の映像ではなく生成したテスト用アニメーションで測定しました。結果はファイルによって変わります。
- 一度に処理できるファイルは1つです。大きなジョブの前に、制限を確認してください。
- シートの上限は、1辺16384px、合計16,777,216ピクセル(16.8メガピクセル)です。上限を超えると、ページで実行前に警告が表示されます。
ここに画像をドロップ
PNG、JPG、WebP、AVIF、GIF、BMP、TIFF(5 MBまで)
フレームは左から右、上から下の順に並べます。空のままにすると、正方形に近い格子になります。
各セルには1フレーム分の画像がそのまま入ります。末尾の空のセルは透明です。フレームの余白の切り詰めや、重複の削除はしません。
セキュリティ確認を完了すると、ボタンが有効になります。
結果
ここにPNGが表示されます。
無料のWebツールは5 MBまでの画像を、1日30枚まで処理できます。ログインすると上限は10 MBになります。
保存期間:Webツールの結果は10分後に削除され、履歴は保存されません。APIの結果は無料プランでは1日、StarterとProでは7日保存されます(BusinessとScaleでは30日)。
アカウント登録なしで利用可能
無料で毎日30枚まで、透かしなし。
フレーム単位で編集
フレームを1回だけ読み込んで編集し、1回だけ書き出します。元のファイルは変更されず、アップロードしたファイルは処理が終わると削除されます。
自動的に削除
Webツールの結果は10分後に削除されます。
プライバシー:送信された内容は、このファイルを作成するためにのみ使用されます。作業用のコピーはジョブの終了時に削除され、結果は10分後に削除されます。詳しくはプライバシーポリシーをご覧ください。
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やWebPの全フレームを一枚のPNGにまとめる無料のオンラインツールで、フレームの位置と遅延時間を記したJSONファイルも任意で出力できます。
主な仕様
- 入力:アニメーションGIFまたはWebP、無料ツールでは5 MBまで、ログイン時は10 MBまで、各フレームは16 MP (4096 x 4096)まで
- 出力:PNG、各セルに全体のフレーム、左から右、次に上から下へ並べ、余ったセルは透過。JSONオプション選択時はsprite.pngとsprite.jsonのZIP
- シートの上限:一辺16384px、合計16.8メガピクセルを超えるとサイズを示して拒否
- テスト結果:生成した24フレーム、160 x 120 px、60 KBのGIFが、800 x 600 px、56 KBのPNGになり、5 columns x 5 rows。テスト用アニメーションはスクリプトで生成し、結果はファイルによって変わります
- 保存と料金:処理後にアップロードファイルは削除、無料の結果は10分保存。ログイン時はファイルごとに1クレジットに加え、10メガピクセルを超えるフレームは、始まった10メガピクセルごとに1クレジット
- アカウント登録なしの無料利用では、訪問者ごとに毎分10件、毎日50件まで変換でき、透かしは入りません。ログインしているユーザーは、レンダリングごとに1クレジットを使用します。毎月100無料クレジットが付与されます。
- ファイルは自動的に削除されます。アカウント登録なしの場合は変換後10分、無料アカウントの場合は1日で削除されます。
- 開発者は、APIキーを付けてPOST https://api.aiipworld.com/v1/renderを送信すると、同じレンダリングを実行できます。詳しくはAPIドキュメントページをご覧ください。
使い方
- 「ファイルを選択」からアニメーションGIFまたはアニメーションWebPを1つ選びます。ブラウザは、アップロード前にファイル形式、サイズ、フレーム数を確認します。
- 「レイアウト」を「格子状」のままにして列数を自動にするか、「横1行」または「縦1列」を選びます。
- 「スプライトシートを作成」をクリックし、ジョブが終わるまで待ちます。
- 結果パネルで、シートのサイズとグリッドを確認します。
- 「ダウンロード」をクリックして、PNGのスプライトシートを保存します。
出力例
GIF スプライトシートの作り方
アニメーションGIFをアップロードして「スプライトシートを作成」をクリックすると、ツールがすべてのフレームを読み取り、1枚のPNGの各セルに配置します。結果は、アニメーション全体を1つのファイルにまとめたものになります。
実行前の概要行で、シートのサイズを確認できます。実行後は結果パネルに表示されるので、プロジェクトで使う前にサイズを必ず確認してください。
出力されるスプライトシートの中身
ツールは、入力したアニメーションGIFのフレームからスプライトシートを作ります。各セルには1つのフレーム全体が入り、フレームは元の順番を保ちます。出力は1つのPNGファイルです。
PNGは可逆圧縮なので、各セルのピクセルは元のフレームと一致します。フレームのリサイズ、トリミング、フィルター処理は行いません。
グリッド・横一列・縦一列の選び方
レイアウトは、グリッド、横一列、縦一列から選べます。初期設定はグリッドで、列数は自動です。自動の列数は、フレーム数の平方根を切り上げた値になります。列数は手動で設定することもできます。
短いアニメーションには横一列、縦に長いゲームのスプライトレイアウトには縦一列が向いています。読み込み方法に合わせて選んでください。
フレームの配置順とセルのサイズ
フレームは左から右へ、次に上から下へ並びます。最初のフレームは左上のセルに置かれ、最後のフレームは並び順の最後のセルに置かれます。
フレームのトリミングや重複フレームの削除は行いません。すべてのフレームは元のサイズのままで、すべてのセルが同じサイズになります。
JSONファイルのフレーム情報
任意でJSONファイルを付けると、すべてのフレームのサイズ、位置、遅延時間がわかります。JSONオプションを選ぶと、ダウンロードはsprite.pngとsprite.jsonを含むZIPになります。
JSONには、version、order、sheet size、frame size、columns、rows、frames、loop count、total duration in msの項目が入ります。フレームごとにはindex、x、y、delay_msがあります。ブラウザは10ms以下の遅延を100msとして再生するため、JSONにはブラウザが実際に再生する遅延時間が記録されます。
透過と空のセルの扱い
フレームに透過ピクセルがある場合、PNGは透過を保ちます。最後の行が埋まっていない場合も、透過が保たれます。シートの末尾にある空のセルは透明になります。
GIFのフレームは、完全に透明か完全に不透明のピクセルだけで構成されています。シートもその値を保ちます。セルの間に余白や間隔は追加されません。
スプライトシートのサイズ上限
シートの上限は、1辺16384pxまでです。合計は16,777,216ピクセル(16.8メガピクセル)までです。上限を超えるシートは処理されず、必要だったサイズがメッセージに表示されます。ページでも、実行前に同じ警告が出ます。
結果は20MBまでです。上限を超えた場合は、「列数」の値を変えるか、先にGIFのリサイズ・トリミングツールで調整してください。
アカウント別のアニメーション上限
ログインしているユーザーは、最大300フレーム、合計64 MPピクセルまで処理できます。合計ピクセルは、フレームの幅×高さ×フレーム数で計算します。
アカウント登録なしの場合は100フレーム、16 MPまでです。どちらの場合も、各フレームは16 MP (4096 x 4096)までです。上限を超えるとジョブは失敗し、クレジットは返却されます。基本料金は1ファイルあたり1クレジットで、10メガピクセルのアニメーションが含まれます。基本料金を超える分は、始まった10メガピクセルごとに1クレジットかかります。
対応するファイルとアップロードの制限
対応ファイルは、アニメーションGIFとアニメーションWebPです。1フレームだけのファイルも処理でき、1セルのシートになります。PNG、JPG、そのほかのファイルは、メッセージを表示して受け付けません。ファイル形式は、ファイル名ではなくファイルの中身で判断します。
アカウント登録なしの場合、1ファイル5 MBまで、1日30ファイルまで利用できます。ログインしている場合は、1ファイル10 MBまでです。各フレームは16 MP (4096 x 4096)までです。出力が20MBを超えると、「output too large」というメッセージでジョブが失敗します。
APIでスプライトシートを作成する
APIでは、https://api.aiipworld.com/v1/image-jobs にPOSTします。本文にはファイルのバイト列をそのまま入れ、Content-Typeはimage/gifまたはimage/webpを指定します。クエリパラメータは、op=gif_editとaction=spriteです。
認証は、Bearer形式のAPIキーか、x-api-keyヘッダーで行います。アニメーションではtimeout_sec=60を指定してください(最大値)。ページでは、選んだ設定に合わせたcURL、Node.js、Pythonの例を表示します。詳しくは/docs/#image-jobsを参照してください。
プライバシーとファイルの扱い
ファイルはサーバーに送られ、sharp(libvipsを基盤にしたオープンソースの画像ライブラリ)で処理されます。処理は通常の画像処理で、人工知能は使っていません。ジョブが終わると、成功でも失敗でもファイルはすぐに削除されます。
アカウント登録なしの無料の結果は、10分保存されます。履歴は残らず、ダウンロードリンクは短期間だけ有効です。アップロードするファイルの権利を持っていることは、利用ポリシーに従って必要です。
よくある質問
GIF スプライトシートは無料で作れますか?
はい、無料で作れますが、1日の上限内に限られます。登録は不要です。アカウント登録なしの場合は、訪問者ごとに1日30ファイルまでです。
フレームはどの順番で並びますか?
左から右、次に上から下へ、元の順番で並びます。最初のフレームは左上のセルに入ります。
スプライトシートとは何ですか?
1枚の画像に、グリッド、横一列、縦一列でフレームをまとめた画像です。ゲームやアプリでは、アニメーション全体を1つのファイルから読み込むことがよくあります。
列数は指定できますか?
はい、グリッドでは「列数」の値を設定できます。値を空にすると、フレーム数の平方根を切り上げた値になります。
JSONファイルには何が入っていますか?
version、order、sheet size、frame size、columns、rows、frames、loop count、total duration in msの項目が入ります。フレームごとには、x、y、delay_msがあります。
シートは透過を保ちますか?
はい、フレームに透過がある場合や、最後の行が埋まっていない場合は透過を保ちます。シート末尾の空のセルは透明です。
サイズが大きすぎると言われたのはなぜですか?
シートが1辺16384pxまたは合計16.8メガピクセルの上限を超えたためです。「列数」の値を変えるか、先にGIFをリサイズまたはトリミングしてください。
アニメーションWebPも使えますか?
はい、アニメーションWebPもアニメーションGIFと同じように使えます。PNG、JPGなどの静止画ファイルは受け付けません。
スプライトシートをGIFに戻せますか?
はい、「スプライトシートからGIFへ」のページを使えます。1枚の静止画から、グリッドのフレームを使ってアニメーションを作ります。
ファイルはどのくらい保存されますか?
アップロードしたファイルは、ジョブが終わるとすぐに削除されます。無料の結果は10分保存され、履歴は残りません。
コードからスプライトシートを作れますか?
はい、https://api.aiipworld.com/v1/image-jobs にop=gif_editとaction=spriteを付けてPOSTします。アニメーションではtimeout_sec=60を使います。
アプリ内や一括処理で使いたい場合
このツールはAPIと同じプラットフォームで動作するため、同じ画像を、お使いのコードから一回のHTTPリクエストで取得できます。 無料アカウントには、毎月100クレジットが含まれています。

