mcpField
I
image-generation

image-generation

github.com/awesome-genmediaクリエイティブ・メディア4347 回インストール32 週間前に更新
リポジトリ

image-generation について

image-generation は、テキストプロンプトから画像を生成するスキルです。each::sense がリクエストに応じてモデルを選び、OpenAI 互換 API で参照画像やストリーミングにも対応します。

主な機能

  1. 01モデルの自動選択
  2. 02テキストからの画像生成
  3. 03参照画像によるガイド
  4. 04ストリーミングまたは一括応答
  5. 05プロンプトの一括処理

活用シーン

  1. 01写実的なシーンやイラストの作成
  2. 02商品画像やコンセプトアートの生成
  3. 03文字入りポスターの作成
  4. 04複数のビジュアルスタイルの比較

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/awesome-genmedia/skills --skill image-generation

インストール後、Claude Code で/image-generationを入力して読み込まれたか確認します。

詳細

画像生成

each::sense を使用して、テキストの説明から画像を生成します。each::sense は、リクエストに最適なモデルを自動的に選択するインテリジェントな AI エージェントです。

クイックスタート

each::labs の API キーが必要です。eachlabs.ai で取得してください。

curl を使用
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "A lone astronaut standing on a red desert planet, looking up at a sky filled with three massive moons, cinematic lighting, photorealistic, wide shot"}],
    "stream": false
  }'
Python を使用(OpenAI SDK)
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_EACHLABS_API_KEY",
    base_url="https://eachsense-agent.core.eachlabs.run/v1"
)

response = client.chat.completions.create(
    model="eachsense/beta",
    messages=[{"role": "user", "content": "A lone astronaut standing on a red desert planet, looking up at a sky filled with three massive moons, cinematic lighting, photorealistic, wide shot"}]
)

print(response.choices[0].message.content)
参照画像を使用
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Generate an image in the same style as this reference, but change the setting to a futuristic Tokyo street at night"},
              {"type": "image_url", "image_url": {"url": "https://example.com/reference-style.jpg"}}
            ]
          }
    ],
    "stream": false
  }'

画像は OpenAI のマルチモーダルコンテンツ形式を使用してメッセージ内に送信されます。1 回のリクエストにつき、画像は最大 4 枚です。

ストリーミング

リアルタイムの SSE レスポンスには "stream": true を設定し、単一のレスポンスで完全な結果を取得するには "stream": false を設定します。ストリーミングは UI で進行状況を表示するのに便利です。スクリプトや自動化には、ストリーミングを使わないほうが簡単です。

利用可能なモデル

モデル強み最適な用途
flux-2-max最高品質、卓越したディテールメインビジュアル、印刷対応のビジュアル、ポートフォリオ作品
flux-2-pro品質のバランスを保ちながら高速迅速な反復、プロダクションワークフロー
flux-kontext-pro画像内のテキストを正確に描画ポスター、看板、読みやすいテキストを含むロゴ
nano-banana-pro最速の生成速度プロトタイピング、大量生成、リアルタイムプレビュー
gemini-imagen-4卓越したフォトリアリズム商品写真、ライフスタイル写真、リアルなシーン
seedream-v4-5芸術的でスタイライズされた出力イラスト、ファンタジーアート、絵画調のスタイル
kling-text-to-image幅広いスタイルに対応汎用的な生成、ミクストメディア

each::sense はプロンプトに基づいて最適なモデルを自動的に選択します。選択を上書きしたい場合を除き、モデルを指定する必要はありません。

プロンプトエンジニアリングガイド

プロンプトの構成
[subject] + [action/pose] + [environment] + [style] + [lighting] + [camera/composition]
スタイルキーワード
スタイルキーワード
フォトリアリスティックphotorealistic, ultra-realistic, DSLR photo, 8K, raw photo, unedited
イラストdigital illustration, vector art, hand-drawn, watercolor, ink drawing
シネマティックcinematic, film still, movie scene, dramatic lighting, anamorphic lens
アニメanime style, manga, cel shading, Studio Ghibli, Makoto Shinkai
3D レンダリング3D render, octane render, unreal engine, isometric, blender render
油絵oil painting, impasto, classical art, Renaissance, Baroque
ピクセルアートpixel art, 16-bit, retro game, 8-bit, sprite art
ミニマリストminimalist, flat design, simple, clean lines, geometric
アスペクト比

プロンプトにアスペクト比を指定して、画像の寸法を調整します。

"... landscape format, 16:9 aspect ratio"
"... square format, 1:1"
"... portrait format, 9:16, vertical"
"... ultrawide, 21:9 cinematic"
品質を高める表現
masterpiece, highly detailed, sharp focus, professional,
studio quality, award-winning, 8K resolution, HDR
ネガティブガイダンス

望まないものを説明して、結果を改善します。

"... avoid blurry, no watermarks, no text overlays, avoid distorted faces"

例

フォトリアリスティックな風景
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "A misty fjord in Norway at sunrise, mirror-like water reflecting snow-capped mountains, a small red fishing cabin on the shore, photorealistic, 8K, golden hour lighting, shot on Hasselblad"}],
    "stream": false
  }'
デジタルイラスト
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "A cozy bookstore interior with a cat sleeping on a stack of old books, warm lamp light, plants hanging from the ceiling, digital illustration, Studio Ghibli style, soft colors, whimsical atmosphere"}],
    "stream": false
  }'
商品写真
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "A sleek wireless earbud case on a marble surface, soft studio lighting, product photography, shallow depth of field, clean minimalist background, commercial quality, 1:1 square format"}],
    "stream": false
  }'
コンセプトアート
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "A floating cyberpunk city above the clouds, neon lights reflecting off chrome towers, flying vehicles streaming between buildings, concept art, matte painting, epic scale, dramatic perspective, 16:9 cinematic"}],
    "stream": false
  }'
画像内のテキスト(ポスター)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "A vintage concert poster for a band called SOLAR DRIFT, playing at The Echo Lounge, June 15th. Retro psychedelic style with swirling colors, 60s typography, orange and purple palette, portrait format"}],
    "stream": false
  }'

バッチ生成ワークフロー

# Generate multiple style variations of the same subject
PROMPTS=(
  "A medieval castle on a cliff at sunset, oil painting style"
  "A medieval castle on a cliff at sunset, photorealistic, drone shot"
  "A medieval castle on a cliff at sunset, anime style, Makoto Shinkai"
  "A medieval castle on a cliff at sunset, pixel art, 16-bit"
)

for PROMPT in "${PROMPTS[@]}"; do
  curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "X-API-Key: $EACHLABS_API_KEY" \
    -d "{
      \"messages\": [{\"role\": \"user\", \"content\": \"$PROMPT\"}],
      \"stream\": false
    }"
  echo "---"
done

よくある問題

  • 曖昧なプロンプトでは、ありきたりな結果になります。被写体、スタイル、雰囲気を具体的に指定してください。
  • 1 つのプロンプトに被写体を詰め込みすぎると、混乱を招きます。画像ごとに主な被写体を 1 つに絞ってください。
  • ほとんどのモデルでは、テキストの描画が安定しないことがあります。テキストの多い画像には flux-kontext-pro を使用してください。
  • 手や指は歪むことがあります。手が主役の場合は、慎重に切り取るかポーズを指定してください。
  • 矛盾するスタイル(例:「フォトリアリスティックな水彩画」)は、モデルを混乱させます。スタイルは 1 つ選んでください。
  • 50 語を超える詰め込みすぎたプロンプトは、品質を損なうことがよくあります。要点を絞った説明を 15~40 語にまとめてください。

関連スキル

Documentation

コメント