把任意中文内容/需求 → 一张高信息密度的中文信息图。
核心原则(务必牢记):
--aspect 9:16。除非用户明确说"做横版/方图/16:9/1:1",否则不要改画幅。即便用户给的参考图是横图,也只取它的"风格",画幅仍然 9:16。--quality medium --resolution 2K;若小字号中文仍糊,再迭代升到 high。xyq-nest-skill 或 hunyuan-image-generator。pptx。这是硬性前置条件。脚本必须用腾讯云 VOD 的 TENCENTCLOUD_SECRET_ID / TENCENTCLOUD_SECRET_KEY 才能跑。
由于 WorkBuddy 运行在沙箱环境中,shell 配置文件(~/.zshrc 等)不会自动加载,环境变量必须手动 source。 因此,每次执行腾讯云相关命令前,必须先 source ~/.zshrc。
# 先加载环境变量(sandbox 不会自动 source)
source ~/.zshrc 2>/dev/null
# 检查是否已配置
[ -n "$TENCENTCLOUD_SECRET_ID" ] && [ -n "$TENCENTCLOUD_SECRET_KEY" ] && echo "✅ 已配置" || echo "❌ 未配置"
如果 source 后仍显示未配置,必须停下来引导用户配置,绝不能降级到 hunyuan-image-generator / xyq-nest-skill / doubao-image-generator 等其他生图。 因为:
引导话术(直接发给用户):
本 skill 需要腾讯云 VOD 的 API Key 才能调 GPT-Image2 出图。请按以下任一方式配置:
方式 A · 临时(当前 shell,sandbox 内不持久):
export TENCENTCLOUD_SECRET_ID=AKIDxxxxxxxxxxxx
export TENCENTCLOUD_SECRET_KEY=xxxxxxxxxxxxxxxx
方式 B · 永久(写入 ~/.zshrc,本 skill 会自动 source 加载):
echo 'export TENCENTCLOUD_SECRET_ID=AKIDxxxx' >> ~/.zshrc
echo 'export TENCENTCLOUD_SECRET_KEY=xxxx' >> ~/.zshrc
获取 Key:访问 https://console.cloud.tencent.com/cam/capi
安全建议:不要把 SecretId/SecretKey 写进 skill 文件、prompt 或聊天记录;只通过本机环境变量传入。
配置完成后告诉我,我立即出图。
SubAppId 注意事项:
脚本默认 SubAppId=0(主应用)。如果使用 VOD 子应用,可通过 --subapp-id <子应用ID> 或环境变量 TENCENTCLOUD_VOD_SUBAPP_ID 指定。处理策略:
0 试一次invalid vod user,去 VOD 控制台 确认自己的子应用 ID--subapp-id <实际子应用ID>,或先设置 export TENCENTCLOUD_VOD_SUBAPP_ID=<实际子应用ID>绝不因为没 key 就改用其他生图模型——这是错误降级,违背用户选 skill 的本意。
先判断这份内容最适合的形态,不要直接套模板。常见形态:
| 形态 | 触发关键词 | 典型版式 |
|---|---|---|
| --- | --- | --- |
| 方法论 / 流程图 | "方法""步骤""流程""路径" | 横向或竖向 N 步流程 + 每步说明 |
| 概念全景图 / 知识图谱 | "全景""体系""图谱""一图看懂" | 中心放射 / 矩阵网格 / 楼层式 |
| 数据对比图 | "对比""VS""before-after" | 左右两栏 + 中间徽章,或表格式 |
| 科普解释图 | "讲解""科普""为什么" | 主体特写 + 4-6 个标注模块 |
| 时间线 | "发展""历程""演变""路线图" | 横向 / 竖向时间轴 + 节点卡片 |
| 产品/方案介绍 | "方案""能力""服务""产品" | 根据内容选择:产品面板 / 能力矩阵 / 场景流程 / 方法论路径 / VS 对比 / 金句收束,不要全量固定套用 |
| 数据看板 | "数据""指标""报表" | 大数字 + 多类图表 |
判断不出来就问用户,或同时给 2 种形态备选。
蓝图必须严格基于用户给的内容,不要凭空发挥。模板:
【形态】:<上面 7 种之一,或自定义>
【画幅】:9:16 竖版(默认;除非用户明确要其他比例)
【主标题】:<不超过 16 字>
【副标题】:<给主标题做注解,14-22 字>
【主体内容】(按形态填,例如流程图就填步骤;对比图就填两栏;放射图就填中心+辐射):
- 模块 1:<标题> | <一句话说明> | <图标关键词>
- 模块 2:...
- ...
【视觉锚点】:Q版企鹅形象(默认必填,可结合用户业务场景变化姿态/道具)
【品牌元素】:腾讯云 logo(默认必填,左上角或页脚品牌区,文字必须写作“腾讯云 / Tencent Cloud”)
【金句】:<可选——12-20 字升华>
【页脚】:腾讯云 / 任准(marcusren) / <可选项目署名>
【配色】:默认 #0052D9 / #0A2A66 / #EAF4FF / #FFFFFF;#7B61FF 仅做少量蓝紫渐变强调。不要五颜六色,不要花花绿绿,不要大面积黄/橙/红/绿。
【字体调性】:中文黑体加粗、标题超大号、关键短语可做蓝紫渐变强调;整体清爽、克制、可信。
【风格关键词】:高端企业科技风朋友圈信息图、专业 SaaS 产品宣传长图、腾讯云科技蓝、白色和浅蓝背景、深蓝标题、克制蓝紫强调、现代 SaaS 控制台、圆角卡片 UI、轻 3D 图标、Q版企鹅、商业方案感、强传播感
读 references/prompt-cookbook.md,里面有 8 套来自 awesome-gpt-image-2 的工业级模板(信息图 / 海报 / 科普 / UI 截图 / 概念字体海报 / Apple 极简 / 等距俯视 / 知识卡片)。根据 Step 1 的形态选最匹配的一套,再把 Step 2 的蓝图填进去。
默认写 prompt 时使用下面这套“高端企业科技朋友圈长图”写法(只模仿风格,不固定排版,不默认传参考图):
生成一张竖屏 9:16 的高端企业科技风朋友圈信息图海报,内容密度参考专业 SaaS 产品宣传长图,不要太简单,也不要过度拥挤。主题是:
《<用户主题>》
先根据主题内容判断最合适的信息图结构,再设计排版。只模仿高端企业科技/SaaS 长图的风格,不要固定套用某一种版式。内容是流程就做路径/步骤图;内容是能力清单就做能力矩阵或产品工作台;内容是对比就做 VS;内容是理念体系就做分层架构或知识图谱;内容是时间发展就做时间线。不要为了套模板强行加入不相关的“方法论区”“对比区”“金句区”。
画面左上角加入腾讯云 logo,logo 要清晰、简洁、位于左上角品牌区,不能变形,不能模糊。整体采用克制的腾讯云科技蓝、白色、浅蓝、深蓝作为主色,少量蓝紫渐变只用于强调关键词。风格高级、可信、适合企业客户朋友圈分享。不要五颜六色,不要花花绿绿,不要彩虹渐变,不要大面积黄/橙/红/绿。
标题要手机上一眼能看清,核心关键词可用蓝紫渐变大字突出。根据内容选择是否加入蓝色圆角横幅、SaaS 控制台面板、能力卡片、流程箭头、方法论卡片、对比卡片、数据看板、金句收尾、深蓝品牌栏等元素;只使用对当前内容有帮助的元素。
可加入 Q 版腾讯企鹅形象:圆润可爱,蓝白科技感,可戴工程师安全帽或架构师耳麦,手持平板电脑或任务板,像“前沿部署工程师”或“AI 转型顾问”,专业、亲和、可信;不要写实动物,不要普通卡通,要 Q 版企业科技 IP 感。企鹅和 WorkBuddy 形象只能辅助内容,不要抢占全部画面,不要遮挡文字。
如果出现产品/方案能力模块,做成现代 SaaS 控制台或圆角卡片,每个模块包含“模块名 + 2-3 个短能力点”,图标清晰、信息层级明确。如果出现方法论路径,卡片之间用箭头连接;如使用“企业 AI 进化路径”,默认路径可为:知识底座 → 超级个体 → 数字员工 → 超级组织,注意第二层必须是“超级个体”,不要写成“执行中枢”。
设计要求:竖屏 9:16;内容密度参考专业企业信息图长图;不是极简海报;但文字必须清楚可读;大标题清晰;关键信息用卡片承载;每个卡片文字不要太多;图标简洁;版式分区清晰;有商业方案感;有腾讯云科技感;有 WorkBuddy 产品感;适合朋友圈分享;白色和浅蓝背景为主;深蓝标题;蓝紫渐变只做少量强调;轻 3D 插画结合 SaaS UI 面板;不要复杂办公室大场景抢占文字;不要让插画压过内容;不要把文字做得太小;底部或品牌栏加入作者署名“任准(marcusren)”。
如果用户明确提供并要求使用参考图,写 prompt 时加一句:「整体视觉风格、配色和信息密度优先参考用户输入图,但只参考风格,不照搬排版;必须保留腾讯云 logo 与 Q版企鹅形象;版式必须严格根据用户内容重新规划,不要照搬参考图的模块数量与排列。」然后才把用户参考图通过 --reference 传给脚本。
把最终 prompt 写入 /tmp/infographic_prompt.txt。长度 900-2200 字最佳;低于 700 字通常会显得空、low。
# 加载环境变量(sandbox 不自动 source shell 配置)
source ~/.zshrc 2>/dev/null
python3 "$HOME/.workbuddy/skills/infographic-generator/scripts/gen_infographic.py" \
--prompt-file /tmp/infographic_prompt.txt \
--quality medium \
--aspect 9:16 \
--resolution 2K \
--count 1 \
--negative-prompt "不要极简到只有三句话, 不要内容太空, 不要固定套版式, 不要不看内容强行加入方法论区或VS区, 不要复杂办公室大场景, 不要文字很小, 不要密密麻麻的小字, 不要乱码中文, 不要错别字, 不要文字变形, 不要腾讯云 logo 变形, 不要假 logo, 不要过多无关品牌标识, 不要横屏, 不要 1:1, 不要 16:9, 不要暗黑风, 不要过度赛博朋克, 不要游戏海报风, 不要廉价 PPT 风, 不要五颜六色, 不要花花绿绿, 不要彩虹渐变, 不要大面积黄橙红绿, 不要过度拥挤, 不要信息堆成一团, 不要插画遮挡文字, 不要让企鹅和 WorkBuddy 抢占全部画面, 不要写实企鹅, 不要恐怖机器人, 不要把第二层写成执行中枢"
可选参数:
| 参数 | 默认 | 备选 | 说明 |
|---|---|---|---|
| --- | --- | --- | --- |
--quality | medium | low/high | 默认 medium;若小字糊或交付级要求更高,再升 high |
--aspect | 9:16 | 仅当用户明确要求才改:1:1 16:9 3:4 4:3 | 默认 9:16 竖版,跟蓝图保持一致 |
--resolution | 2K | 1K 4K | 默认 2K;快速草稿可降 1K,印刷/大屏可升 4K |
--count | 1 | 1-8 | OG 模型最多 8 张 |
--reference | 无 | 多次传,最多 16 次 | 仅当用户明确提供并要求使用参考图时传入;本地路径会自动上传 VOD |
--no-reference | flag | — | 强制纯文生图 |
--size | 无 | 2000x1104 等 | 自定义尺寸(16 倍数 / 65w-829w 像素) |
--format | png | jpeg | 输出格式 |
--negative-prompt | 无 | 文本 | 不要出现的元素 |
--enhance-prompt | 关 | flag | 让服务端自动改写 prompt(一般关闭) |
--seed | 无 | 整数 | 复现用 |
--transparent | 关 | flag | 透明背景(OG 不支持,会忽略) |
脚本会:1) 提交任务 → 拿到 TaskId;2) 每 6 秒轮询 DescribeTaskDetail;3) 状态变 FINISH 时从 AigcImageTask.Output.FileInfos[].FileUrl 取永久 URL;4) 打印到 stdout。
curl 下载到本地后用 deliver_attachments 下发--negative-prompt "拼写错误, 错别字, 多余文案"source ~/.zshrc 2>/dev/null
python3 -m pip install -q \
tencentcloud-sdk-python-vod requests cos-python-sdk-v5
环境变量:TENCENTCLOUD_SECRET_ID / TENCENTCLOUD_SECRET_KEY(通过 source ~/.zshrc 自动加载,无需手动 export)
references/prompt-cookbook.md:8 套工业级模板(来自 awesome-gpt-image-2,CC BY 4.0),含信息图、海报、科普、UI、知识卡片等references/api-reference.md:腾讯云 VOD CreateAigcImageTask 的全部字段(含 ModelName/Version 矩阵、ExtInfo、PersonGeneration、合规参数等),脚本之外手写 API 调用时查这里gpt-image-1.5 或换 Hunyuan / Qwen。AigcImageTask.Output.FileInfos[].FileUrl,不是 MediaInfoSet/MediaUrl。Permanent(不会过期);临时存储 7 天会回收。0 使用主应用;如果账号使用 VOD 子应用且报 invalid vod user,从 VOD 控制台查自己的子应用 ID,并通过 --subapp-id 或 TENCENTCLOUD_VOD_SUBAPP_ID 指定。RequestLimitExceeded: GenerateImage task reached the maximum concurrency(ErrCode 70000)。必须等前一个任务 FINISH 后再提交。并发出多张图请用 --count 一次出多张,不要并行起多个任务。如果踩到并发限制,等待 60-90 秒后重试。共 1 个版本