计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
scipop-comic-xinghe【效率与协作】科普连环画自动生成工具 - 基于百度星河社区 API 的三阶段闭环创作系统。 TRIGGER when: 用户想要将科普文章/科学内容转化为连环画、漫画、视觉叙事; 用户提到"连环画"、"科普漫画"、"可视化科普"、"科学故事画"; 用户有科普内容需要视觉化呈现;用户提到"星河API"或"Ernie-image"生图。 不要触发: 用户只是想生成单张图片(非连环画)、用户要处理非科普类内容。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: scipop-comic-xinghe description: | 科普连环画自动生成工具 - 基于百度星河社区 API 的三阶段闭环创作系统。
TRIGGER when: 用户想要将科普文章/科学内容转化为连环画、漫画、视觉叙事; 用户提到"连环画"、"科普漫画"、"可视化科普"、"科学故事画"; 用户有科普内容需要视觉化呈现;用户提到"星河API"或"Ernie-image"生图。
基于百度星河社区 API 的自动化科普连环画生成工具,实现多模态解析 × 单 Panel 精修 × N×N 全局合成的三阶段闭环创作。
📖 详细 API 文档参见 references/api_reference.md
| 项目 | 要求 |
|---|---|
| API Key | 星河社区 API Key,环境变量 AISTUDIO_API_KEY |
| API 端点 | https://aistudio.baidu.com/llm/lmapi/v3/chat/completions |
| 分析模型 | ernie-5.0-thinking-preview(原生全模态大模型) |
| 生图模型 | ernie-image-turbo(图像生成 API) |
# 设置 API Key
export AISTUDIO_API_KEY="your-key"
# 验证连通性
curl -s https://aistudio.baidu.com/llm/lmapi/v3/chat/completions \n -H "Content-Type: application/json" \n -H "Authorization: Bearer $AISTUDIO_API_KEY" \n -d '{"model": "ernie-5.0-thinking-preview", "messages": [{"role": "user", "content": "ping"}], "stream": true, "max_completion_tokens": 100}'
| 文档 | 用途 |
|---|---|
| references/api_reference.md | 星河社区 API 详细参考 |
| references/article_analysis_prompts.md | 文章解析提示词模板 |
| references/ernie_image_prompt_guide.md | ERNIE-Image 提示词撰写指南 |
| references/style_guide.md | 连环画风格设计指南 |
目标: 将科普文章拆解为 4-6 个视觉场景,生成风格一致的图像 Prompt。
系统提示词模板:
你是一位科普连环画脚本编写专家。分析文章并根据内容的丰富程度和结构确定最合适的 Panel 数量(4-6个)。输出一个 JSON 对象,包含四个字段:"recommended_panels"(整数,4-6),"recommendation_reason"(一句话中文解释为什么这个 Panel 数量适合该文章),"style_seed"(简短的中文风格描述,在所有 Panel 中复用),"panels"(与推荐数量匹配的对象数组,每个对象包含 "id"、"scene" 中文场景描述、"image_prompt" 中文图像生成提示)。仅输出原始 JSON,不要使用 markdown 代码块。
image_prompt 撰写规范(详见 references/ernie_image_prompt_guide.md):
{主体特征},{动作姿态},{环境背景},{细节元素},{风格关键词},{质量标签}
示例:
一位戴眼镜的女科学家,穿着白色实验服,正激动地指着屏幕,现代实验室背景有显微镜和电脑,屏幕上显示橙红色的黑洞光环图像,扁平插画风格,清晰轮廓,科学配色,高质量,连环画
| Panel数 | 适用场景 |
|---|---|
| 4 | 内容简洁,结构清晰,有明确的起承转合 |
| 5 | 内容适中,需要一个过渡或高潮格 |
| 6 | 内容丰富,知识点多,需要完整叙事链 |
📖 详细规范参见 references/style_guide.md
格式: {画风},{色调},{线条/质感},{氛围}
| 主题类型 | 推荐风格种子 |
|---|---|
| 天文/物理 | 扁平插画风格,深邃太空蓝配色,清晰轮廓,科学严谨氛围 |
| 生物/医学 | 可爱卡通风,柔和粉彩配色,圆润造型,温馨友好 |
| 环境/生态 | 水彩手绘风,清新自然色调,柔和笔触,生态感 |
| 科技/AI | 赛博朋克风格,霓虹光效,高科技质感,未来感 |
| 科学史 | 复古连环画风,怀旧暖色调,经典漫画风格 |
步骤:
ernie-5.0-thinking-preview 进行解析API 调用模板:
curl -s https://aistudio.baidu.com/llm/lmapi/v3/chat/completions \n -H "Content-Type: application/json" \n -H "Authorization: Bearer $AISTUDIO_API_KEY" \n -d '{
"model": "ernie-5.0-thinking-preview",
"messages": [
{
"role": "system",
"content": "你是一位科普连环画脚本编写专家。分析文章并根据内容的丰富程度和结构确定最合适的 Panel 数量(4-6个)。输出一个 JSON 对象,包含四个字段:"recommended_panels"(整数,4-6),"recommendation_reason"(一句话中文解释为什么这个 Panel 数量适合该文章),"style_seed"(简短的中文风格描述,在所有 Panel 中复用),"panels"(与推荐数量匹配的对象数组,每个对象包含 "id"、"scene" 中文场景描述、"image_prompt" 中文图像生成提示)。仅输出原始 JSON,不要使用 markdown 代码块。"
},
{
"role": "user",
"content": "【科普文章全文】"
}
],
"stream": true,
"response_format": {"type": "json_object"},
"max_completion_tokens": 65536
}'
返回结构:
{
"recommended_panels": 5,
"recommendation_reason": "文章涵盖五个层次,5格可完整呈现叙事弧线。",
"style_seed": "扁平插画风格,柔和粉彩配色,清晰轮廓,2D矢量艺术",
"panels": [
{
"id": 1,
"scene": "场景描述",
"image_prompt": "中文图像生成提示,描述画面内容、风格、构图等"
}
]
}
用户确认: 展示 recommended_panels 与 recommendation_reason,询问用户是否采用。若不同意,询问期望数量(4-6),调整 panels 数组。
目标: 为每个 Panel 生成图像,支持用户反馈迭代优化。
ernie-image-turbo 对中文 Prompt 效果最佳主体 → 动作 → 环境 → 风格 的顺序关键规则: 将 style_seed 追加到每个 image_prompt 末尾,保证风格一致。
{panel_image_prompt},{style_seed},高质量,连环画
提示词长度建议: 单 Panel 以 80-150 中文字符为宜
API 调用模板:
📖 详细 API 参数参见 references/api_reference.md
curl -s https://aistudio.baidu.com/llm/lmapi/v3/images/generations \n -H "Content-Type: application/json" \n -H "Authorization: Bearer $AISTUDIO_API_KEY" \n -d '{
"model": "ernie-image-turbo",
"prompt": "【拼接后的完整Prompt】",
"n": 1,
"response_format": "b64_json",
"size": "1024x1024",
"use_pe": true,
"num_inference_steps": 8,
"guidance_scale": 1.0
}'
返回格式: 图像以 base64 编码返回。
{
"created": 1234567890,
"data": [{
"b64_json": "iVBORw0KGgoAAAANSUhEUgA..."
}]
}
保存图像:
# 从 JSON 提取 base64 并保存
echo "iVBORw0KGgoAAAANSUhEUgA..." | base64 -d > panel_01.png
若用户不满意,将图像 base64 + 用户反馈文字传入多模态模型获取改进建议。
常见问题改进策略(详见 references/ernie_image_prompt_guide.md):
| 问题类型 | 改进策略 |
|---|---|
| 风格不一致 | 强化 style_seed 关键词,添加"保持风格统一"指令 |
| 细节缺失 | 添加具体细节描述,如"带有XX标识"、"背景显示XX" |
| 角色变形 | 添加"比例协调"、"人体结构正确"等约束 |
| 色彩偏差 | 明确色调描述,如"主色调为深蓝色" |
| 构图混乱 | 添加构图指令,如"居中构图"、"三分法构图" |
IMAGE_B64=$(base64 -i panel_01.png | tr -d '\n')
curl -s https://aistudio.baidu.com/llm/lmapi/v3/chat/completions \n -H "Content-Type: application/json" \n -H "Authorization: Bearer $AISTUDIO_API_KEY" \n -d "{
"model": "ernie-5.0-thinking-preview",
"messages": [{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": "data:image/png;base64,${IMAGE_B64}"}},
{"type": "text", "text": "用户反馈:【用户反馈】\n\n分析图像与反馈之间的差距,仅返回改进后的中文图像生成提示,不需要解释,不要使用 markdown。"}
]
}],
"stream": true,
"max_completion_tokens": 65536
}"
迭代循环: 用改进后的 Prompt 重新执行 Phase 2a,直至用户满意。
目标: 将所有 Panel 合成为一张完整连环画长图。
📖 详细规范参见 references/style_guide.md
根据 Panel 数量推荐布局:
| Panel 数 | 推荐布局 | 说明 |
|---|---|---|
| 4 | 2×2 | 正方形,视觉均衡 |
| 5 | 2×3(空出右下角) | 横向阅读,留白收尾 |
| 6 | 2×3 | 标准竖向长图 |
阅读顺序: 中文连环画采用从左到右、从上到下的阅读顺序。
向用户展示推荐布局,获取确认或自定义布局。
布局合法性: 行数 × 列数 ≥ Panel数
提示词长度建议: 全局合成以 200-400 中文字符为宜。
{grid} 格连环画,共 {num_panels} 格,{style_seed},
每格之间用粗黑边框清晰分隔,按阅读顺序排列:
第1格:{panel_1_image_prompt}
第2格:{panel_2_image_prompt}
...
第N格:{panel_N_image_prompt}
若有空余格,末尾追加"剩余格子留白"。
curl -s https://aistudio.baidu.com/llm/lmapi/v3/images/generations \n -H "Content-Type: application/json" \n -H "Authorization: Bearer $AISTUDIO_API_KEY" \n -d '{
"model": "ernie-image-turbo",
"prompt": "【全局Prompt】",
"n": 1,
"response_format": "b64_json",
"size": "2048x2048",
"use_pe": true,
"num_inference_steps": 8,
"guidance_scale": 1.0
}'
若用户对大图有整体调整意见,使用多模态反馈路径重新生成。
style_seed 由 Phase 1 生成,在后续所有调用中保持原文不变:
{panel_image_prompt},{style_seed},高质量,连环画
Phase 3 全局合成时,style_seed 置于 Prompt 首部强调,防止风格漂移。
| HTTP 状态码 | 含义 | 处理策略 |
|---|---|---|
401 | API Key 无效 | 检查 AISTUDIO_API_KEY |
402 | 余额不足 | 登录星河社区控制台充值 |
429 | 请求频繁 | 指数退避重试:1s → 4s → 16s,最多3次 |
5xx | 服务端错误 | 指数退避重试3次 |
创建连环画时,按以下顺序执行:
AISTUDIO_API_KEY 已设置style_seedQ: 多张图像风格不统一?
检查每次调用是否将 style_seed 原文追加至 Prompt 末尾。
Q: 支持中文 Prompt?
ernie-image-turbo 对中文 Prompt 效果最佳。
Q: base64 在 Windows 处理?
PowerShell: [Convert]::ToBase64String([IO.File]::ReadAllBytes("panel_01.png"))