# 批量生成示例

本示例展示如何使用批量生成功能创建角色的多个变体。

## 场景描述

用户想要为一个角色生成 3 个不同表情的图像：开心、严肃、惊讶。

## 执行步骤

### 步骤 1: 读取 Skill 文档

```python
read_file("skills/creative_generation/SKILL.md")
```

**获取信息**：
- 了解批量生成的工作流模式
- 确认使用 `generate_images_batch` 工具
- 理解提示词结构

### 步骤 2: 准备提示词列表

```python
prompts = [
    "艾莉丝，18岁，金色长发，蓝色眼睛，魔法学院制服，开心的笑容，双手比心，动漫风格，高质量，精细细节",
    "艾莉丝，18岁，金色长发，蓝色眼睛，魔法学院制服，严肃的表情，双手抱胸，动漫风格，高质量，精细细节",
    "艾莉丝，18岁，金色长发，蓝色眼睛，魔法学院制服，惊讶的表情，张大嘴巴，动漫风格，高质量，精细细节"
]
```

**关键点**：
- 保持角色基本特征一致（姓名、年龄、外貌、服装）
- 只改变表情和动作
- 添加质量关键词

### 步骤 3: 调用批量生成工具

```python
result = generate_images_batch(
    prompts=prompts,
    model="wan2.6-image",  # 动漫风格专用模型
    size="3:4",            # 竖向人物肖像
    steps=40               # 高质量
)
```

### 步骤 4: 处理结果

```python
# 返回结果示例
[
    {
        "image_url": "https://example.com/image1.png",
        "width": 896,
        "height": 1152
    },
    {
        "image_url": "https://example.com/image2.png",
        "width": 896,
        "height": 1152
    },
    {
        "image_url": "https://example.com/image3.png",
        "width": 896,
        "height": 1152
    }
]
```

### 步骤 5: 向用户展示结果

```
已为艾莉丝生成 3 个不同表情的图像：

1. 开心表情：[图像 URL]
2. 严肃表情：[图像 URL]
3. 惊讶表情：[图像 URL]

所有图像使用相同的角色设定，确保视觉一致性。
```

## 性能对比

### 批量生成（推荐）
- 调用次数：1 次
- 总耗时：~60 秒
- Token 消耗：~3000 tokens

### 单独生成
- 调用次数：3 次
- 总耗时：~90 秒（每次 30 秒）
- Token 消耗：~3000 tokens

**结论**：批量生成节省 33% 的时间！

## 扩展场景

### 场景 1: 角色的多个角度

```python
prompts = [
    "艾莉丝，正面视角，...",
    "艾莉丝，侧面视角，...",
    "艾莉丝，背面视角，..."
]
```

### 场景 2: 场景的不同时间

```python
prompts = [
    "魔法学院，清晨，阳光初升，...",
    "魔法学院，正午，阳光明媚，...",
    "魔法学院，黄昏，夕阳西下，..."
]
```

### 场景 3: 风格探索

```python
prompts = [
    "艾莉丝，动漫风格，...",
    "艾莉丝，写实风格，...",
    "艾莉丝，水彩画风格，..."
]
```

## 最佳实践

1. **保持一致性**：批量生成时，保持基本元素一致，只改变目标变量
2. **合理数量**：一次生成 2-10 个最佳，超过 10 个考虑分批
3. **质量优先**：使用较高的 steps 参数（40-50）
4. **模型选择**：根据风格选择合适的模型
5. **提示词优化**：添加质量关键词提升效果

## 常见问题

**Q: 批量生成的图像质量会降低吗？**
A: 不会，批量生成使用相同的质量参数，只是并行处理提高效率。

**Q: 可以批量生成不同尺寸的图像吗？**
A: 不可以，批量生成使用统一的尺寸参数。如需不同尺寸，请分别调用。

**Q: 批量生成失败了怎么办？**
A: 检查提示词列表，确保每个提示词都符合要求。如果部分失败，可以单独重新生成失败的图像。
