mcpField
I
image-gen

image-gen

github.com/marswaveaiクリエイティブ・メディア811.2k 回インストール5 週間前に更新
リポジトリ

image-gen について

image-gen は ListenHub CLI で AI 画像を生成するスキルです。プロンプト、モデル、解像度、アスペクト比を設定でき、参照画像を加えて生成画像をローカルに保存できます。

主な機能

  1. 01テキストプロンプトから画像生成
  2. 02ローカル画像や URL の参照
  3. 03モデル・解像度・比率の選択
  4. 04生成前の設定確認
  5. 05画像のローカル保存

活用シーン

  1. 01カバー画像の作成
  2. 02説明文からのイラスト生成
  3. 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/ は使用しないでください
複数選択の手順では、必ず AskUserQuestion ツールを使用してください。選択肢を通常のテキストとして表示してはいけません。質問は一度に1つずつ行い、次の手順に進む前にユーザーの回答を待ってください。すべてのパラメーターを収集した後、選択内容を要約してユーザーに確認してください。ユーザーが明示的に確認するまで、画像生成コマンドを呼び出してはいけません。

手順 -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}

次に、質問します。

  1. 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 コマンドを実行する前に、明示的な確認を待ちます。

ワークフロー

  1. CLI コマンドを構築する:収集したすべてのパラメーターを使って、$CMD_PREFIX create コマンドを構築します。

  2. 実行する: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)を検出してください。

  3. 結果を解析して提示する

    設定から 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)

例

ユーザー:「画像を生成:夜のサイバーパンクな都市」

エージェントのワークフロー:

  1. プロンプトが短い → 詳細の追加を提案 → ユーザーが辞退
  2. モデルを尋ねる → 「pro」
  3. 解像度を尋ねる → 「2K」
  4. アスペクト比を尋ねる → 「16:9」
  5. 参照画像なし
$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 を提供)

エージェントのワークフロー:

  1. プロンプトを尋ねる → 「夜明けの静かな山の湖」
  2. モデルを尋ねる → 「pro」
  3. 解像度を尋ねる → 「2K」
  4. アスペクト比を尋ねる → 「16:9」
  5. 参照画像 → /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 を参照)。

コメント