grokimg は、pass で管理している xAI API キーを使って Grok Imagine API を呼び出し、生成画像とプロンプト記録を コマンド実行ディレクトリに保存するための簡易 Bash コマンドです。
実験用途を前提にした最小構成で、次のことだけに絞っています。
passからapi/xaiを読み出す- Grok Imagine API を叩く
- 生成画像をカレントディレクトリに保存する
- 生成時の prompt を YAML frontmatter 付き Markdown として保存する
pass前提なので API キーをスクリプトに直書きしない- Bash / curl / jq だけで動く
- 画像と Markdown の 2 ファイルだけを保存する
- Obsidian や Git 管理と相性がよい
- まずは Grok Imagine 専用の簡易実験として使える
- Bash
curljqpassgpggpg-agent
Debian / Ubuntu 系なら、だいたい次で入ります。
sudo apt update
sudo apt install -y curl jq pass gnupgpass は GPG 鍵で内容を暗号化するので、まず秘密鍵があるか確認します。
gpg \--list-secret-keys \--keyid-format LONG
秘密鍵がなければ先に GPG 鍵を作成してください。
gpg --list-secret-keys で表示された鍵 ID を使って初期化します。
例:
pass init YOUR\_GPG\_KEY\_ID
たとえば sec rsa4096/ABCDEF1234567890 ... のように表示された場合は、ABCDEF1234567890 を使うことが多いです。
api/xai というパスに保存する前提です。
pass insert api/xai入力時は 1 行目に API キー本体 を入れてください。
例:
xai-xxxxxxxxxxxxxxxxxxxxxxxx
この grokimg は次のように先頭行を読み出します。
pass show api/xai | head \-n 1そのため、1 行目にキー本体を置くのがいちばん簡単です。
スクリプト本体を grokimg という名前で保存し、実行権限を付けます。
chmod +x grokimg手元で試すだけなら、そのままカレントディレクトリで実行できます。
./grokimg "A collage of London landmarks in a stenciled street-art style"よく使うなら ~/bin に置くと便利です。
mkdir \-p ~/bin
cp grokimg ~/bin/grokimg
chmod +x ~/bin/grokimg~/bin が PATH に入っていれば、次のように呼べます。
grokimg "A collage of London landmarks in a stenciled street-art style"grokimg "A collage of London landmarks in a stenciled street-art style"grokimg \-p "A snow leopard on a Himalayan ridge at blue hour"grokimg \--helpコマンドを実行すると、実行したディレクトリに次の 2 ファイルが保存されます。
-
画像ファイル
例:grokimg-20260422-213015.jpg -
Markdown ファイル
例:grokimg-20260422-213015.md
画像の拡張子は API レスポンスの mime_type に応じて決まります。
-
image/jpeg→.jpg -
image/png→.png -
image/webp→.webp
Markdown は YAML frontmatter 付きで保存されます。
例:
---
created_at: '2026-04-22T21:30:15+09:00'
model: 'grok-imagine-image'
mime_type: 'image/jpeg'
cost_in_usd_ticks: 200000000
tags:
- grok-imagine
- image-generation
---

A collage of London landmarks in a stenciled street-art styleこの形式にしておくと、あとで
-
どの prompt を投げたか
-
どの画像に対応する記録か
-
生成コストの目安
-
revised prompt が返ってきたか
を Markdown だけで把握できます。
このツールは、画像生成サービスを「作品保管庫」ではなく 実験ログ生成ツール として扱うための最小実装です。
そのため、次のような使い方を想定しています。
-
画像を生成する
-
生成画像と prompt 記録を同じ場所に置く
-
必要なものだけ後で整理する
-
不要なものは捨てる
JSON を大量に残すとノイズになりやすいため、この版では 画像 + Markdown のみ 保存します。
pass は内部で GPG を使っているため、初回やキャッシュ切れ時には GPG のパスフレーズ入力 が求められることがあります。
これは gpg-agent のキャッシュが効いていないタイミングでは自然な挙動です。
毎回 API キー文字列を手入力するわけではなく、pass の復号時に必要になることがあります。
pass がインストールされていません。
sudo apt install \-y passjq がインストールされていません。
sudo apt install \-y jqpass 側に api/xai が保存されていないか、先頭行が空の可能性があります。
確認:
pass show api/xaipass が秘密情報を復号するときに GPG を使っているためです。
異常ではありません。gpg-agent のキャッシュが効くと再入力回数は減ります。
一時 URL の有効期限切れや通信エラーの可能性があります。
このツールは API 呼び出し直後にダウンロードする前提なので、保存処理を遅らせないほうが安全です。
このスクリプトは簡易版なので、必要なら次のような拡張が考えられます。
-
--nameで出力ファイル名の接頭辞を指定する -
prompt の一部から title を自動生成する
-
縦横比や seed などのパラメータ指定を追加する
-
保存先ディレクトリを指定できるようにする
-
fal.ai など他プロバイダ対応に広げる
-
単発スクリプトではなく本格的な CLI に育てる
必要に応じて追記してください。
例:
MIT
このツールは Grok Imagine API の簡易実験用 です。
堅牢な再試行制御、複数画像管理、履歴検索、モデル切り替えなどはまだ入れていません。
まずは「pass を前提に安全寄りの最小構成で画像生成を回す」ことを目的にしています。