GPT Image CLI
gpt-image CLIを使用して、ユーザーがリクエストした画像を生成し、そのローカルパスを返します。Node.js 22+ が必要です。デフォルトモデルは gpt-image-2.6-flare、品質はAPIの auto にデフォルト設定されています。ユーザーが別の設定を選択しない限り、これらのデフォルトを維持してください。
CLI と設定の確認
利用可能な場合は、インストール済みの gpt-image コマンドを使用します。 それ以外の場合は、npmを使用して公開リポジトリから直接CLIを実行します。
npx --yes --package=github:zsio/openai-image-cli#v1.0.0 gpt-image --help
以降の例でも gpt-image の代わりに同じプレフィックスを使用します。 これは、スキルが別途CLIがインストールされていないマシンにインストールされている場合でも機能します。 チェックアウトやマシン固有のパスは必要ありません。
設定は gpt-image config show で確認します。 OPENAI_API_KEY のみが必須です。 サイズ、モデル、品質、フォーマット、出力場所にはすべてデフォルト値があります。 CLIは最初に環境変数を読み取り、次にユーザー設定ファイル ${XDG_CONFIG_HOME:-$HOME/.config}/gpt-image/.env を読み取ります。 gpt-image config path は解決されたパスを表示します。 明示的に選択された --config または GPT_IMAGE_CONFIG を優先してください。
キーが設定されていない場合は、必要に応じて gpt-image config init を実行し、そのローカルファイルに OPENAI_API_KEY を入力するようユーザーに伝えてください。 キーはソースリポジトリやスキルファイルの外部に保管し、チャットに貼り付けたり、表示したり、コマンド引数に含めたりしないでください。 設定ファイルを表示せずに、config show を使用して存在を確認してください。 設定を確認するためだけにサンプル画像を生成しないでください。リクエストのプレビューには --dry-run を使用してください。
生成または編集
新しい画像の場合は、プロンプトを単一の引数として渡します。 長いプロンプトや複数行のプロンプトの場合は、UTF-8 プロンプトファイルを作成し、--prompt-file を使用します。
gpt-image generate "赤いマフラーをした水彩画の子猫" --name kitten --json
gpt-image generate --prompt-file ./prompt.txt --out-dir ./assets --name cover --json
編集や参照ベースの生成には edit を使用し、複数の参照画像がある場合は --image を繰り返します。 入力の順序が重要です。最初の画像がマスクやマークアップレイヤーのプライマリ画像になります。
gpt-image edit "背景を雪山に変更。人物の顔と服装はそのまま維持" \
--image ./portrait.png --name snowy-portrait --json
gpt-image edit "両方の製品を白背景の製品写真に配置" \
--image ./product-a.png --image ./product-b.jpg --name product-pair --json
gpt-image edit "透明なマスク領域を青い花瓶に置き換え" \
--image ./room.png --mask ./mask.png --name blue-vase --json
透明なカットアウトやステッカーには --background transparent --format png を使用します。 既存の透明アセットを編集する場合は、リクエストにその一部が含まれている場合、透明度を維持します。 --mask と --markup は PNG ファイルを受け取り、組み合わせることはできません。これらの寸法は最初の画像と一致する必要があります。 ローカルの PNG/JPEG/WebP、画像 URL、OpenAI ファイル ID を含む、最大 16 個の参照画像がサポートされています。
プロンプトは、ユーザーの主題、要求された正確なテキスト、スタイル、制約を維持する必要があります。 編集の場合は、目的の変更と維持する詳細の両方を記載します。 要求された画像数、モデル、品質を黙って変更しないでください。 CLI 呼び出しごとに 1 つの最終画像が生成されます。 リトライは無効になっているため、別の課金リクエストが必要かどうかを判断する前に、失敗を検査してください。
出力と便利なオプション
- デフォルトの出力は、システムの一時ディレクトリにある一意の
name-YYYYMMDD-HHmmss-SSS-suffixフォルダです。 便利な短いファイル名には--nameを使用します。 - 正確なファイルパスには
--output FILEを、出力先ディレクトリには--out-dir DIR --name NAMEを使用します。 これらの代替方法は組み合わせることができません。 既存の出力ファイルは保持されます。 --jsonを使用して、image_path、metadata_path、prompt_path、request_id、API使用量を読み取ります。 進行状況は stderr に出力されます。 実際に保存された画像パスを返します。 必要に応じて、利用可能なローカル画像ビューアで画像をプレビューします。--size WIDTHxHEIGHT、--quality auto|low|medium|high|xhigh|max、--background auto|opaque|transparent、--format png|jpeg|webp|gif|svgはAPI設定にマッピングされます。 モデル/プロジェクトのサポートは引き続き適用されます。- ユーザーが詳細なビジュアルワークを目的としたブランチを選択した場合は、
--model gpt-image-2.6-sunburstを使用します。 モデル指定がない通常のリクエストには、Flare を維持します。 --stream --partial-images 1はプレビューと最終画像を保存します。 完了した画像のみが最終結果です。--params '{"complexity":"medium"}'または--params @params.jsonは追加の API フィールドを渡します。nは 1 に固定されたままです。 一般的でないオプションを使用する前に、gpt-image --helpを読んでください。--timeout SECONDSはリクエスト全体をカバーします。 タイムアウト/キャンセル時、サービスはすでにリクエストを受け入れている可能性があります。 自動的に再送信しないでください。
CLI と API の詳細: https://github.com/zsio/openai-image-cli