---
name: minicoohei/media-generator
source: https://app.decimal.ai/s/minicoohei-media-generator@1/SKILL.md
source_sha256: 63332687986b
---

# Media Generator サブエージェント

バナー/図表/スライド/画像の生成・編集を専用コンテキストで実行するサブエージェント。

## 目的

メディア生成処理をメインエージェントのコンテキストから分離し：
- 複数の参照画像を含む処理を効率化
- プラットフォーム別プリセットの適用
- 生成結果のパス情報のみを返却

## 機能一覧

| 機能 | スクリプト | 説明 |
|-----|----------|------|
| バナー生成 | `banner_creator.py` | SNS/広告向けバナー生成 |
| 図表生成 | `generate_diagram.py` | インフォグラフィック/図表生成 |
| スライド生成 | `generate_slide.py` | 講義用スライド画像生成 |
| 汎用画像生成 | `nanobanana.py` | テキスト→画像、画像編集 |

## 1. バナー生成 (`tools/banner_creator.py`)

### プラットフォーム別プリセット

| プリセット | サイズ | アスペクト比 | 用途 |
|-----------|-------|-------------|------|
| `x_post` | 1200x675 | 16:9 | X タイムライン投稿 |
| `x_card` | 800x418 | 16:9 | X リンクカード |
| `facebook` | 1200x630 | 16:9 | Facebook リンク投稿 |
| `facebook_story` | 1080x1920 | 9:16 | Facebook ストーリーズ |
| `instagram_feed` | 1080x1080 | 1:1 | Instagram フィード |
| `instagram_story` | 1080x1920 | 9:16 | Instagram ストーリーズ |
| `prtimes` | 1200x630 | 16:9 | PRTimes プレスリリース |
| `youtube_thumbnail` | 1280x720 | 16:9 | YouTube サムネイル |
| `line` | 1200x628 | 16:9 | LINE 公式アカウント |
| `web_banner` | 1200x628 | 16:9 | Web広告バナー |

### 使用方法

```bash
# X用バナー生成
uv run python tools/banner_creator.py \
  --platform x_post \
  --topic "新サービスリリース告知" \
  --tone professional \
  --output-dir docs/generated/banners

# 参照画像を使用
uv run python tools/banner_creator.py \
  --platform instagram_feed \
  --topic "夏のキャンペーン" \
  --reference-images image1.png image2.png \
  --output-dir docs/generated/banners

# コピーテキスト同時生成
uv run python tools/banner_creator.py \
  --platform prtimes \
  --topic "プレスリリース用" \
  --with-copy \
  --output-dir docs/generated/banners
```

## 2. 図表/インフォグラフィック生成 (`tools/generate_diagram.py`)

### スタイル

| スタイル | 説明 |
|---------|------|
| `colorful_infographic` | 明るい色、アイコン、読みやすいレイアウト |
| `sketch` | 手描き風、鉛筆/チャコールテクスチャ |
| `photorealistic` | 写真のようなリアルな質感 |
| `minimalist` | シンプル、余白重視、限定カラー |
| `claymation` | 3Dクレイ風、柔らかい照明 |
| `pixel_art` | レトロゲーム風、ブロック調 |

### 使用方法

```bash
# トピックから図表生成
uv run python tools/generate_diagram.py \
  --topic "マーケティングファネル" \
  --style colorful_infographic \
  --aspect-ratio 16:9 \
  --output-dir reports/visualizations

# 長文テキストからインフォグラフィック
uv run python tools/generate_diagram.py \
  --topic "$(cat article.txt)" \
  --style minimalist \
  --output-dir reports/visualizations
```

## 3. 汎用画像生成/編集 (`tools/nanobanana.py`)

### 使用方法

```bash
# テキストから画像生成
uv run python tools/nanobanana.py \
  --prompt "A futuristic city at sunset" \
  --aspect-ratio 16:9 \
  --output-dir docs/generated

# 画像編集（参照画像+指示）
uv run python tools/nanobanana.py \
  --prompt "Make the background blue" \
  --reference reference.png \
  --output-dir docs/generated

# 複数参照画像を使用
uv run python tools/nanobanana.py \
  --prompt "Combine these styles" \
  --reference image1.png image2.png \
  --output-dir docs/generated
```

### アスペクト比

| アスペクト比 | 用途 |
|-------------|------|
| `1:1` | Instagram、プロフィール画像 |
| `4:3` | 汎用横長 |
| `3:4` | 汎用縦長 |
| `16:9` | YouTube、プレゼン |
| `9:16` | ストーリーズ、リール |
| `21:9` | ウルトラワイド |

## サブエージェント呼び出しパターン

メインエージェントは以下のパターンでこのサブエージェントを呼び出す：

```python
Task(
    subagent_type="generalPurpose",
    model="fast",
    description="Banner generation",
    prompt="""
    このスキルを読んで実行してください: skills/media-generator/SKILL.md
    
    タスク: {ユーザーの指示}
    プラットフォーム: {x_post / instagram_feed / etc.}
    トピック: {生成内容}
    
    生成した画像のパスを返却してください。
    """
)
```

## 返却フォーマット

処理結果は以下の形式で返却：

```yaml
status: success
generated_files:
  - path: docs/generated/banners/x_post_20260127_143022.png
    platform: x_post
    size: 1200x675
    aspect_ratio: 16:9
copy_text: |
  【新サービスリリース】
  AIを活用した業務効率化ツールが登場！
  #AI #業務効率化
```

## 依存関係

```txt
google-generativeai>=0.3.0
Pillow>=9.0.0
python-dotenv>=1.0.0
```

## 環境変数

```bash
# 必須
GEMINI_API_KEY=your_api_key
# または
GOOGLE_API_KEY=your_api_key
```

## 注意事項

- 生成画像は`docs/generated/`配下に自動保存
- セッション名を指定するとサブフォルダに整理
- 日本語テキストを含める場合は明示的に指示
- 参照画像は最大5枚まで