cli-anything-gimp について
cli-anything-gimpは、AIエージェントや上級ユーザー向けのPillowベースの画像編集CLIです。レイヤー構成のプロジェクトを操作し、対話セッション、取り消し・やり直し、JSON出力に対応します。
主な機能
- 01レイヤーとキャンバスの編集
- 02フィルターの追加と設定
- 03テキストと矩形の描画
- 04画像のレンダリングと書き出し
- 05操作の取り消し・やり直しと履歴
- 06人間向けまたはJSON形式の出力
活用シーン
- 01コマンドでレイヤー画像を作成
- 02キャンバスやレイヤーの属性を調整
- 03AIエージェントでプロジェクト状態を確認し画像を書き出し
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-gimpインストール後、Claude Code で/cli-anything-gimpを入力して読み込まれたか確認します。
詳細
cli-anything-gimp
Pillow 上に構築された、画像編集用のステートフルなコマンドラインインターフェースです。GUI なしで画像を作成・操作する必要がある AI エージェントやパワーユーザー向けに設計されています。
インストール
この CLI は cli-anything-gimp パッケージの一部としてインストールされます:
pip install cli-anything-gimp
前提条件:
- Python 3.10+
- ネイティブのバッチレンダリングには gimp を推奨しますが、GIMP が利用できない場合や、遅延された
draw操作が存在する場合でも、レイヤー構成は組み込みの Pillow パスを通じてレンダリングできます
使用方法
基本コマンド
# Show help
cli-anything-gimp --help
# Start interactive REPL mode
cli-anything-gimp
# Create a new project
cli-anything-gimp project new -o project.json
# Run with JSON output (for agent consumption)
cli-anything-gimp --json project info -p project.json
REPL モード
サブコマンドを指定せずに呼び出すと、CLI は対話型の REPL セッションに入ります:
cli-anything-gimp
# Enter commands interactively with tab-completion and history
コマンドグループ
Project
プロジェクト管理コマンド。
| コマンド | 説明 |
|---|---|
new | 新しいプロジェクトを作成します |
open | 既存のプロジェクトを開きます |
save | 現在のプロジェクトを保存します |
info | プロジェクト情報を表示します |
profiles | 利用可能なキャンバスプロファイルを一覧表示します |
json | 生のプロジェクト JSON を出力します |
Layer
レイヤー管理コマンド。
| コマンド | 説明 |
|---|---|
new | 新しい空白のレイヤーを作成します |
add-from-file | 画像ファイルからレイヤーを追加します |
list | すべてのレイヤーを一覧表示します |
remove | インデックスを指定してレイヤーを削除します |
duplicate | レイヤーを複製します |
move | レイヤーを新しい位置に移動します |
set | レイヤーのプロパティ(name、opacity、visible、mode、offset_x、offset_y)を設定します。負のオフセットも自然に受け付けます |
flatten | すべての可視レイヤーを統合します |
merge-down | レイヤーをその下のレイヤーと結合します |
Canvas
キャンバス操作。
| コマンド | 説明 |
|---|---|
info | キャンバス情報を表示します |
resize | キャンバスのサイズを変更します(コンテンツは拡大縮小しません) |
scale | キャンバスとすべてのコンテンツを比例縮尺します |
crop | キャンバスを矩形に切り抜きます |
mode | キャンバスのカラーモードを設定します |
dpi | キャンバスの DPI を設定します |
Filter Group
フィルター管理コマンド。
| コマンド | 説明 |
|---|---|
list-available | 利用可能なすべてのフィルターを一覧表示します |
info | フィルターの詳細を表示します |
add | レイヤーにフィルターを追加します |
remove | インデックスを指定してフィルターを削除します |
set | フィルターのパラメーターを設定します |
list | レイヤー上のフィルターを一覧表示します |
Media
メディアファイル操作。
| コマンド | 説明 |
|---|---|
probe | 画像ファイルを解析します |
list | プロジェクトで参照されているメディアファイルを一覧表示します |
check | 参照されているすべてのメディアファイルが存在することを確認します |
histogram | 画像のヒストグラム分析を表示します |
Export Group
エクスポート/レンダリングコマンド。
| コマンド | 説明 |
|---|---|
presets | エクスポートプリセットを一覧表示します |
preset-info | プリセットの詳細を表示します |
render | プロジェクトを画像ファイルにレンダリングします。遅延された draw 操作はレンダリング時に適用されます |
Session
セッション管理コマンド。
| コマンド | 説明 |
|---|---|
status | セッションのステータスを表示します |
undo | 最後の操作を元に戻します |
redo | 最後に元に戻した操作をやり直します |
history | undo 履歴を表示します |
Draw
描画操作(レンダリング時に適用されます)。
| コマンド | 説明 |
|---|---|
text | レイヤーにテキストを描画します(テキストレイヤーに変換することにより) |
rect | 矩形を描画します(描画操作として保存されます) |
例
新しいプロジェクトの作成
新しい gimp プロジェクトファイルを作成します。
cli-anything-gimp project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-gimp --json project new -o myproject.json
対話型 REPL セッション
undo/redo をサポートする対話型セッションを開始します。
cli-anything-gimp
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
プロジェクトのエクスポート
プロジェクトを最終的な出力形式にエクスポートします。
cli-anything-gimp --project myproject.json export render output.png --overwrite
レイヤー合成ワークフロー
オーバーレイを多用する合成の場合:
cli-anything-gimp --project poster.gimp-cli.json layer set 0 offset_x -48
cli-anything-gimp --project poster.gimp-cli.json layer set 0 offset_y 24
cli-anything-gimp --project poster.gimp-cli.json draw text --layer 0 --text "Launch Night" --x 96 --y 120 --size 72 --color "#f6f1e8"
cli-anything-gimp --project poster.gimp-cli.json export render output.png --overwrite
注意:
layer setはコマンドモードと REPL モードの両方で、負のoffset_xおよびoffset_y値を受け付けるようになりました。draw textとdraw rectはレンダリング時の操作です。プロジェクト JSON だけでなく、エクスポートされた画像をレビュー対象として扱ってください。- 遅延描画操作を含むプロジェクトでは、GIMP がインストールされていても、Pillow のレンダリングパスが安定したデフォルトになると想定してください。
状態管理
CLI は次のものでセッション状態を維持します:
- Undo/Redo: 最大 50 レベルの履歴
- プロジェクトの永続化: プロジェクト状態を JSON として保存/読み込み
- セッション追跡: 変更と更新の追跡
出力形式
すべてのコマンドは 2 つの出力モードをサポートします:
- 人間が読みやすい形式 (デフォルト): テーブル、色、整形されたテキスト
- 機械可読形式 (
--jsonフラグ): エージェントが利用するための構造化 JSON
# Human output
cli-anything-gimp project info -p project.json
# JSON output for agents
cli-anything-gimp --json project info -p project.json
AI エージェント向け
この CLI をプログラムから使用する場合:
- 常に
--jsonフラグを使用する - 解析可能な出力のため - リターンコードを確認する - 成功なら 0、エラーなら非ゼロ
- 失敗時は stderr を解析する - エラーメッセージのため
- すべてのファイル操作に絶対パスを使用する
- エクスポート操作後に出力が存在することを確認する
- オフセット、描画、ブレンドモード、フィルターの変更後は、保存されたプロジェクト状態だけを信用せず、レンダリングされた出力をレビューする
詳細情報
- 完全なドキュメント: パッケージ内の README.md を参照してください
- テストカバレッジ: パッケージ内の TEST.md を参照してください
- 方法論: cli-anything-plugin 内の HARNESS.md を参照してください
バージョン
1.0.0
コメント
Markdown 対応