image-gen について
image-gen は ListenHub CLI で AI 画像を生成するスキルです。プロンプト、モデル、解像度、アスペクト比を設定でき、参照画像を加えて生成画像をローカルに保存できます。
主な機能
- 01テキストプロンプトから画像生成
- 02ローカル画像や URL の参照
- 03モデル・解像度・比率の選択
- 04生成前の設定確認
- 05画像のローカル保存
活用シーン
- 01カバー画像の作成
- 02説明文からのイラスト生成
- 03参照スタイルを使ったコンセプトアート制作
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ marswaveai/ skills --skill image-genインストール後、Claude Code で/image-genを入力して読み込まれたか確認します。
同梱ファイルreferences/prompt-guide.md
詳細
使用する場合
- ユーザーがテキストの説明から AI 画像を生成したい場合
- ユーザーが「画像を生成」「描いて」「絵を作成」「配图」と言った場合
- ユーザーが「生成图片」「画一张」「AI图」と言った場合
- カバー画像、イラスト、コンセプトアートが必要な場合
使用しない場合
- ユーザーが音声コンテンツを作成したい場合(
/podcast、/speechを使用) - ユーザーが動画を作成したい場合(
/explainerを使用) - ユーザーが既存の画像を編集したい場合(未対応)
- ユーザーが URL からコンテンツを抽出したい場合(
/content-parserを使用)
目的
ListenHub CLI を使用して AI 画像を生成します。参照画像(ローカルファイルまたは URL)を任意で指定したテキストプロンプト、複数の解像度、アスペクト比に対応しています。画像はローカルファイルとして保存されます。
厳守事項
- 必ず
shared/cli-authentication.mdに従って CLI 認証を確認します - コマンドの実行とエラー処理では
shared/cli-patterns.mdに従います - 操作を行う前に、必ず
shared/config-pattern.mdに従って設定を読み取ります - 出力は
.listenhub/image-gen/YYYY-MM-DD-{jobId}/に保存します。~/Downloads/は使用しないでください
手順 -1:CLI 認証チェック
shared/cli-authentication.md の「認証チェック」に従います。CLI がインストールされていない、またはログインしていない場合は、自動でインストールしてログインします。ユーザーにコマンドを手動で実行するよう求めてはいけません。
続いて、shared/cli-authentication.md の「認証モードの検出」に従って AUTH_MODE を判定し、次のように設定します。
if [ "$AUTH_MODE" = "openapi" ]; then
CMD_PREFIX="listenhub openapi image"
else
CMD_PREFIX="listenhub image"
fi
以降の CLI 呼び出しでは、ハードコードされた listenhub image の代わりに $CMD_PREFIX を使用します。
手順 0:設定
shared/config-pattern.md の手順 0(質問なしでの起動)に従います。
ファイルが存在しない場合 — デフォルト値で黙って作成し、そのまま続行します。
mkdir -p ".listenhub/image-gen"
echo '{"outputDir":".listenhub","outputMode":"inline"}' > ".listenhub/image-gen/config.json"
CONFIG_PATH=".listenhub/image-gen/config.json"
CONFIG=$(cat "$CONFIG_PATH")
設定に関する質問をしてはいけません。 直接、操作フローに進みます。
ファイルが存在する場合 — 設定を黙って読み取り、そのまま続行します。
CONFIG_PATH=".listenhub/image-gen/config.json"
[ ! -f "$CONFIG_PATH" ] && CONFIG_PATH="$HOME/.listenhub/image-gen/config.json"
CONFIG=$(cat "$CONFIG_PATH")
セットアップフロー(ユーザーが再設定を明示的に依頼した場合のみ)
ユーザーが再設定を明示的に依頼した場合のみ実行します。現在の設定を表示します。
当前配置 (image-gen):
输出方式:{inline / download / both}
次に、質問します。
- outputMode:
shared/output-mode.mdの「セットアップフローの質問」に従います。
直ちに保存します。
NEW_CONFIG=$(echo "$CONFIG" | jq --arg m "$OUTPUT_MODE" '. + {"outputMode": $m}')
echo "$NEW_CONFIG" > "$CONFIG_PATH"
CONFIG=$(cat "$CONFIG_PATH")
操作フロー
手順 1:画像の説明
自由入力です。ユーザーに次のように尋ねます。
生成したい画像について説明してください。
プロンプトが非常に短い(10語未満)場合、かつユーザーがそのまま生成するよう求めていない場合は、プロンプトをより充実させるお手伝いを申し出ます。それ以外の場合は、そのまま使用します。
手順 2:モデル
次のように尋ねます。
Question: "Which model?"
Options:
- "pro (recommended)" — gemini-3-pro-image, higher quality
- "flash" — gemini-3.1-flash-image, faster and cheaper, unlocks extreme aspect ratios (1:4, 4:1, 1:8, 8:1)
手順 3:解像度とアスペクト比
両方をまとめて尋ねます(互いに独立したパラメーターです)。
Question: "What resolution?"
Options:
- "1K" — Standard quality
- "2K (recommended)" — High quality, good balance
- "4K" — Ultra high quality, slower generation
Question: "What aspect ratio?"
Options (all models):
- "16:9" — Landscape, widescreen
- "1:1" — Square
- "9:16" — Portrait, phone screen
- "Other" — 2:3, 3:2, 3:4, 4:3, 21:9
flash モデルが選択された場合は、次の候補も提示します:1:4(縦長)、4:1(横長)、1:8(極端に縦長)、8:1(パノラマ)
手順 4:参照画像(任意)
Question: "Any reference images for style guidance?"
Options:
- "Yes" — Provide file paths or URLs
- "No references" — Generate from prompt only
はいの場合:参照画像のパスまたは URL を(カンマ区切りで)収集します。CLI はローカルファイルと URL の両方をネイティブに処理するため、区別する必要はありません。
- 参照画像は最大5枚
- 対応形式:jpg、png、webp、gif
- ファイルごとの最大サイズ:10MB
各参照画像は、--reference フラグとして CLI に渡されます。
手順 5:確認して生成
すべての選択内容を要約します。
Ready to generate image:
Prompt: {prompt text}
Model: {pro / flash}
Resolution: {1K / 2K / 4K}
Aspect ratio: {ratio}
References: {yes — N image(s) / no}
Proceed?
CLI コマンドを実行する前に、明示的な確認を待ちます。
ワークフロー
-
CLI コマンドを構築する:収集したすべてのパラメーターを使って、
$CMD_PREFIX createコマンドを構築します。 -
実行する:
run_in_background: trueおよびtimeout: 180000を指定してコマンドを実行します。$CMD_PREFIX create \ --prompt "{description}" \ --model "{model}" \ --lang "{lang}" \ --aspect-ratio {16:9|9:16|1:1} \ --size {1K|2K|4K} \ --json参照画像が提供されている場合は、それぞれに
--referenceを追加します。$CMD_PREFIX create \ --prompt "{description}" \ --model "{model}" \ --lang "{lang}" \ --aspect-ratio 16:9 \ --size 2K \ --reference ./sketch.png \ --reference ./photo.jpg \ --json--langフラグは、プロンプトの言語ヒントを指定します。ユーザーのプロンプトの言語(例:中国語のプロンプト →zh、英語のプロンプト →en)を検出してください。 -
結果を解析して提示する
設定から
OUTPUT_MODEを読み取ります。動作についてはshared/output-mode.mdに従ってください。CLI の JSON 出力を解析して、画像の URL を抽出します。
IMAGE_URL=$(echo "$RESULT" | jq -r '.imageUrl')inlineまたはboth:一時ファイルにダウンロードしてから、Read ツールを使用します。JOB_ID=$(date +%s) listenhub download "$IMAGE_URL" -o /tmp/image-gen-${JOB_ID}.jpg次に、
/tmp/image-gen-{jobId}.jpgに対して Read ツールを使用します。画像は会話内にインラインで表示されます。次のように提示します。
图片已生成!downloadまたはboth:アーティファクトディレクトリに保存します。JOB_ID=$(date +%s) DATE=$(date +%Y-%m-%d) JOB_DIR=".listenhub/image-gen/${DATE}-${JOB_ID}" mkdir -p "$JOB_DIR" listenhub download "$IMAGE_URL" -o "${JOB_DIR}/${JOB_ID}.jpg"次のように提示します。
图片已生成! 已保存到 .listenhub/image-gen/{YYYY-MM-DD}-{jobId}/: {jobId}.jpg
プロンプトの扱い
デフォルト:ユーザーのプロンプトを変更せず、そのまま渡します。
最適化を提案する場合:
- プロンプトが非常に短く(数語程度)、かつユーザーがそのまま使うよう指定していない場合
- 「スタイル、照明、構図の詳細を加えて、プロンプトを充実させましょうか?」と尋ねます。
変更してはならない場合:
- 長く、詳細で、または構造化されたプロンプトの場合は、ユーザーは経験豊富だと判断します
- ユーザーが「このプロンプトをそのまま使って」と指定している場合
最適化の手法(ユーザーが同意した場合):
- スタイル:「サイバーパンク」→「ネオンライト、未来的、ディストピア風」を追加します
- シーン:時間帯、照明、天候
- 品質:「非常に詳細」、「8K 品質」、「映画のような構図」
- 英語のキーワードを必ず使います(モデルは英語でトレーニングされているため)
- 送信する前に、最適化したプロンプトを表示します
API リファレンス
- CLI 認証:
shared/cli-authentication.md - CLI の実行パターン:
shared/cli-patterns.md - 設定パターン:
shared/config-pattern.md - 出力モード:
shared/output-mode.md
合成可能性
- 呼び出すもの:なし(直接 CLI を呼び出します)
- 呼び出されるもの:カバー画像用のプラットフォームスキル(フェーズ 2)
例
ユーザー:「画像を生成:夜のサイバーパンクな都市」
エージェントのワークフロー:
- プロンプトが短い → 詳細の追加を提案 → ユーザーが辞退
- モデルを尋ねる → 「pro」
- 解像度を尋ねる → 「2K」
- アスペクト比を尋ねる → 「16:9」
- 参照画像なし
$CMD_PREFIX create \
--prompt "cyberpunk city at night" \
--model "gemini-3-pro-image" \
--lang en \
--aspect-ratio 16:9 \
--size 2K \
--json
outputMode に従って CLI の JSON 出力を解析します(shared/output-mode.md を参照)。
例 2 — 参照画像あり
ユーザー:「このスタイルで画像を生成」(ローカルファイルと URL を提供)
エージェントのワークフロー:
- プロンプトを尋ねる → 「夜明けの静かな山の湖」
- モデルを尋ねる → 「pro」
- 解像度を尋ねる → 「2K」
- アスペクト比を尋ねる → 「16:9」
- 参照画像 →
/path/to/style-reference.png、https://example.com/photo.jpg
$CMD_PREFIX create \
--prompt "a serene mountain lake at dawn" \
--model "gemini-3-pro-image" \
--lang en \
--aspect-ratio 16:9 \
--size 2K \
--reference /path/to/style-reference.png \
--reference https://example.com/photo.jpg \
--json
outputMode に従って CLI の JSON 出力を解析します(shared/output-mode.md を参照)。