Text-to-Carousel
使用 Gemini 图像生成 API 从文本内容生成专业的轮播图像。
要求
Gemini API 密钥,开启计费(查看 TOOLS.md 或询问用户)
模型:gemini-3-pro-image-preview(必需,用于正确渲染中文/CJK 文本)
VPN:如果 Gemini 返回位置错误,可能需要使用美国 VPN
工作流程
从以下来源确定轮播内容:
直接文本/项目符号从用户
文章 URL(获取和提取关键点)
WordPress 文章(通过 API 获取)
用户提供的主题(生成内容)
收集:
品牌信息:名称、颜色、风格(查看 TOOLS.md 中已知品牌)
产品图像:URL 或路径(用于 CTA幻灯片)
幻灯片数量:默认 6 张
大小:默认 1024x1024
语言:从内容中检测
对于健康/产品轮播,使用以下 6 幻灯片结构:
# 类型 目的
1 封面 钩子 + 品牌 + 主题
2 问题 为什么读者应该关心
3 解决方案 产品/主题如何解决它
4 详情 关键功能、数据、成分
5 社交证明 评价、结果、证据
6 CTA 产品图像 + 购买/联系
对于其他结构,请参阅 references/prompt-patterns.md。
对于每个幻灯片,编写一个 Gemini 提示,遵循以下规则:
设计提示结构:为 [品牌] 创建一个 [SIZE] [STYLE_PRESET] Instagram 幻灯片。
布局:
- 背景:[COLORS/GRADIENT]
- [元素描述,包含确切文本]
- "[幻灯片编号] / [总数]" 底部右侧
关键规则:
指定确切文本以渲染 —— 引用每个中文字符
包含幻灯片编号(例如 "01 / 06")
引用品牌名称和一致的颜色调色板
对于包含产品图像的 CTA 幻灯片:通过 API 调用中的 inlineData 附加图像
有关样式预设和模板,请参阅 references/prompt-patterns.md。
使用 scripts/generate_carousel.py 或直接调用 Gemini API:
导入 urllib.request、json、base64
API_KEY = "..." # 从 TOOLS.md 中获取
MODEL = "gemini-3-pro-image-preview" # 必需,用于 CJK 文本
url = f"https://generativelanguage.googleapis.com/v1beta/models/{MODEL}:generateContent?key={API_KEY}"
parts = [{"text": prompt}] # 对于包含产品图像的 CTA 幻灯片:
# parts.insert(0, {"inlineData": {"mimeType": "image/jpeg", "data": base64_image}})
payload = {
"contents": [{"parts": parts}],
"generationConfig": {"responseModalities": ["image", "text"]}
}
data = json.dumps(payload).encode("utf-8")
req = urllib.request.Request(url, data=data, headers={"Content-Type": "application/json"})
resp = urllib.request.urlopen(req, timeout=180)
result = json.loads(resp.read())
在幻灯片之间添加 5 秒延迟,以避免速率限制。
生成后,使用视觉模型验证每个幻灯片:
中文/CJK 文本准确性(字符级检查)
设计的一致性跨幻灯片
产品图像在 CTA 幻灯片上的可见性
品牌元素的存在(标志、颜色、幻灯片编号)
如果文本混乱,重新生成该幻灯片。
专业模型很少在中文上失败,但仍要验证。
模型选择指南
模型 中文文本 设计质量 速度 使用时
gemini-3-pro-image-preview 完美 高 慢 默认选择 —— CJK 内容
gemini-2.5-flash-image 混乱 高 快 仅限英文内容
gemini-3.1-flash-image-preview 未测试 高 快 尝试英文内容
常见问题
问题 解决方案
429 配额超出 检查计费是否链接到正确的 GCP 项目
位置不支持 使用美国 VPN
中文文本混乱 切换到 gemini-3-pro-image-preview
产品图像不匹配 通过 inlineData 附加实际产品图像
设计不一致 跨幻灯片包含品牌颜色十六进制代码和样式描述在每个提示中
文件结构
text-to-carousel/
├── SKILL.md # 本文件
├── scripts/
│ └── generate_carousel.py # 批量生成脚本(配置驱动)
└── references/
└── prompt-patterns.md # 设计预设,幻灯片模板,提示