目次 / 画像のメタ除去
画像のメタデータ除去(CG集の出荷用)
生成した画像を CG集として配布するとき、画像に埋め込まれた ComfyUI のワークフローやプロンプト(= 生成レシピ)や EXIF などのメタデータを、1 コマンドでまとめて外します。元の画像はそのまま残し、除去済みを別フォルダに書き出します。画素は変えない(再エンコードしない)ので画質はそのままです。
なぜ消すのか
Pixubus で作った画像(ComfyUI 経由の PNG)には、あとで同じ絵を再現できるよう プロンプト・seed・使ったモデル・ワークフロー が埋め込まれています。手元で使う分には便利ですが、そのまま配ると生成レシピが丸ごと読み取れてしまいます。CG集として出荷する画像は、これらを消してから配るのがおすすめです。スマホやスクショ経由で紛れ込む EXIF(撮影日時・機種・位置情報) なども一緒に落とせます。
何が消えて、何が残るか
消すもの(メタデータ):
- ComfyUI の
workflow(グラフ)とprompt(プロンプト・seed・モデル・LoRA・サンプラ設定 = レシピ全部) - Automatic1111 / Forge の
parameters - その他の埋め込みテキスト(ソフト名・作者・コメント・XMP など)
- EXIF(撮影日時・機種・GPS)/ 変更時刻 / 解像度(DPI)情報
残すもの(見た目は変わりません):
- 画素そのもの — 再エンコードしません(元とビット単位で同じ)
- 透過(アルファ)と色(ICC プロファイル・色空間)
仕組みはシンプルで、画像の中の「メタデータの区画」だけを外して詰め直します。絵のデータ(ピクセル)は一切触らないので、画質は劣化せず、ファイルは少し軽くなります。
使い方
- まず 中身を確認(消さずに一覧・おすすめ):
各画像で「何が消えるか」だけが表示され、ファイルは書き込まれません。npm run clean-images -- ./出荷用フォルダ --dry-run - 問題なければ 実行:
npm run clean-images -- ./出荷用フォルダ - できあがり —
出荷用フォルダ-clean/に、元と同じ名前・同じフォルダ構成で除去済み画像が入ります。元のフォルダは読み取りのみで一切変更しません。
1 枚だけ処理したいときは、フォルダの代わりに画像ファイルを渡せます:
npm run clean-images -- ./hero.png → 同じ場所に hero-clean.png(メタ除去済み)を作ります(原本はそのまま)。-o <出力先> で場所やファイル名も変えられます。
出力先(
-clean フォルダ)がすでに存在すると、安全のため止まります。作り直したいときは末尾に --force を付けると上書きします。別の場所に出したいときは -o <出力先> を指定してください。
オプション
-o <出力先>/--out <出力先>— 出力先フォルダを指定(既定は<入力>-clean)。--dry-run— 書き込まず、消す対象だけ表示。--force— 出力先がすでにあっても実行(上書き)。--strip-color— 色チャンク(ICC など)も除去。※通常は不要。色が変わる場合があります。--sd-only—prompt/workflow/parametersだけを消し、他のメタは残す。--no-recursive— サブフォルダを処理しない(既定はサブフォルダも含む)。--flat— サブフォルダを平坦化して 1 つのフォルダに出力。-h/--help— ヘルプを表示。
処理の最後に「残存レシピ(prompt/workflow/parameters): 0」と出れば、生成レシピはきれいに消えています。
連番でそのまま CG集に
--seq を付けると、除去済みの画像を 001.png からの連番にリネームします。フォルダをそのまま CG集(zip)として並べられます。
npm run clean-images -- ./出荷用フォルダ --seq
- 番号は
001から(3 桁ゼロ埋め)。1.pngではなく001.pngにすることで、どのビューアや zip でも正しい順番に並びます(1, 10, 2…のように崩れません)。枚数が 1000 を超えたら自動で桁が増えます。 - 並び順はファイル名順が既定です。Pixubus の生成ファイル名は日時入りなので、結果的に作った順に並びます。
- サブフォルダがあっても 1 本の連番にまとめます。
- 元ファイルとの対応表(
<出力>.manifest.csv)が 出荷フォルダの外に自動で作られます。「001.pngは元のどれか」を後から追えます(この表は配布物には入れないでください)。
よく使うオプション:
--start 0—000.pngから始める(表紙を000にしたいとき)。--prefix <名前>—名前_001.pngのように接頭辞を付ける(作品名など)。--pad <桁数>— ゼロ埋めの桁数(既定 3)。--order mtime— ファイルの更新時刻順で番号を振る。--no-manifest— 対応表を作らない。
連番も 画素は変えません(名前を変えてメタを外すだけ)。まず
--seq --dry-run で「どの画像が何番になるか」を確認してから本実行すると安心です。
注意とヒント
- 元の画像は消えません — 除去済みは必ず別フォルダ(
-clean)に出ます。手元にはレシピ入りの原本が残るので、あとで自分が再生成に使えます。配るのは-cleanの方だけにしてください。 - 今は PNG に対応 — Pixubus の生成物は PNG です。JPEG・WebP は今後の対応予定で、v1 ではスキップします(処理結果にスキップ件数が出ます)。
- 消せないものもあります(正直な注意) — 一部の画像生成には、メタデータではなくピクセルそのものに薄く埋め込む「透かし」(例: SynthID)や、来歴情報(C2PA)を付ける仕組みがあります。これらは本ツールの対象外で、メタ除去では消えません。Pixubus 既定の Anima 生成物には入りませんが、他のモデル/ツールを併用した画像を混ぜるときは頭の片隅に置いてください。
- 出荷前にまず
--dry-run— 何が消えるかを一度確認してから本実行すると安心です。