CLI
ターミナルから生成する
Bannerify CLI をインストールして、シェルから画像と PDF を生成する方法を説明します。
Bannerify CLI は、ターミナルから画像と PDF を生成します。REST API と同じテンプレートと API キーを使うので、1 つのコマンドでファイルを描画し、その結果を別のツールに渡せます。このページは、シェルで作業する開発者と、シェルを呼び出すスクリプトやエージェントを対象にしています。
CLI は、次のような場面で使います。
- ビルド、デプロイ、cron ジョブの中でファイルを描画する。
- シェルスクリプトから、多数の描画を実行する。
- コードを書かずに、エージェントやスクリプトでファイルを作成する。
始める前に
- テンプレートが 1 つ以上ある Bannerify アカウント。テンプレートカードのメニューにある Copy Template ID で、ID をコピーします。
- API キー。API Keys ページの New API key で作成します。手順はリクエストの認証を参照してください。
- Node.js 18 以降。
インストール
npm install -g bannerify-cli
パッケージをインストールせずにコマンドを実行するには、次のようにします。
npx bannerify-cli <command>
API キーを保存する
git config と同じ要領で、キーを一度だけ保存します。
bannerify config set apiKey YOUR_API_KEY
対話型のターミナルでは、キーがまだ保存されていないときに、引数なしで bannerify を実行することもできます。CLI がキーの入力を求め、入力内容を非表示にしてキーを検証し、保存します。対話型のターミナルでは、キーが必要なコマンドがキーを見つけられない場合にも、同じセットアップが始まります。スクリプトでは、コマンドがすぐに失敗します。
CLI は、キーを $XDG_CONFIG_HOME/bannerify/config.json に書き込みます。XDG_CONFIG_HOME が設定されていない場合は ~/.config/bannerify/config.json です。ファイルのパーミッションは 0600 に設定されます。
キーを確認する
bannerify whoami
このコマンドは、ワークスペースの名前と ID、作成日、CLI がキーを見つけた場所を表示します。
+ Authenticated as Acme
project id: proj:xxxxxxxxxx
created: 2026-01-14T09:12:31.000Z
key source: config
画像を生成する
bannerify create image tpl_xxx -o out.png
CLI は画像を out.png に保存し、そのパスとサイズを表示します。
+ Created image /home/dev/out.png (80734 bytes, png)
-o を付けない場合、ファイル名は <templateId>.<format>(例: tpl_xxx.png)になり、カレントフォルダーに保存されます。
テンプレートのレイヤーを変更するには、--modifications を渡します。
bannerify create image tpl_xxx -o out.png \
--modifications '[{"name":"title","text":"Hello world"}]'
値は JSON の配列です。各要素は name でレイヤーを指定し、text や src などのフィールドを設定します。レイヤーの種類ごとのフィールドは、Modificationsにまとめています。
形式は --format で選びます。png(初期値)、jpeg、webp が使えます。
PDF を生成する
bannerify create pdf tpl_xxx -o out.pdf
PDF にも、同じ --modifications の値を渡せます。
bannerify create pdf tpl_invoice -o invoice.pdf \
--modifications '[{"name":"total","text":"$29.00"}]'
パイプラインで使う
CLI は、標準出力をデータ用、標準エラー出力をメッセージ用に使い分けます。そのため、ファイルのバイト列をそのまま次のコマンドに渡せます。--out=- を指定すると、ファイルを標準出力に書き出します。
bannerify create image tpl_xxx --out=- --quiet > out.png
バッチ処理では、結果が出るたびに、それぞれの保存先へ送ります。
for id in tpl_a tpl_b tpl_c; do
bannerify create image "$id" --out=- --quiet | rclone rcat "remote:$id.png"
done
長い modification の配列を渡すには、ファイルに保存するか、パイプで渡します。
bannerify create image tpl_xxx -o out.png --modifications-file ./data.json
echo '[{"name":"title","text":"From stdin"}]' | \
bannerify create image tpl_xxx -o out.png --modifications-file -
スクリプト向けの JSON 出力と終了コードは、CLI コマンドで説明しています。
キーの解決順序
CLI は、次の順序で API キーを探します。
--api-keyフラグ。BANNERIFY_API_KEY環境変数。- 保存済みの設定。
設定に 1 つのキーを保存しておき、1 回のコマンドやコンテナでだけ別のキーに上書きできます。
BANNERIFY_API_KEY=YOUR_OTHER_KEY bannerify create image tpl_xxx -o out.png
ベース URL も同じ順序で決まります。--base-url フラグ、BANNERIFY_BASE_URL 環境変数、保存済みの設定、最後に https://api.bannerify.co/v1 です。
設定ファイル
| キー | 用途 |
|---|---|
apiKey |
CLI が送信する API キー |
baseUrl |
API のベース URL。初期値は https://api.bannerify.co/v1 です |
defaultFormat |
--format がないときの画像形式。初期値は png です |
outputDir |
--out がないときの、出力ファイルのフォルダー |
ファイルは、config コマンドで変更します。コマンドの一覧はCLI コマンドにあります。
使用量と制限
CLI での生成は、REST API や SDK と同じ月間・日次の上限に含まれます。失敗したリクエストは数えられません。詳しくはクォータと制限を参照してください。