- 70 skills with code and documentation - Add .gitignore (ignore __pycache__, output/, temp/, venv/) - Clean up test intermediates and caches
20 KiB
name, description
| name | description |
|---|---|
| image-service | 多模态图像处理技能,支持文生图、图生图、图生文、长图拼接、调研配图、小红书卡片图、专业信息图、文章封面图。当用户提到图片、图像、生成图、信息图、封面图、小红书、OCR 等关键词时触发。 |
图像处理技能
概述
| 能力 | 说明 | 脚本 |
|---|---|---|
| 文生图 | 根据中文文本描述生成图片 | scripts/text_to_image.py |
| 图生图 | 在已有图片基础上进行编辑 | scripts/image_to_image.py |
| 图生文 | 分析图片内容(描述、OCR、图表等) | scripts/image_to_text.py |
| 长图拼接 | 将多张图片垂直拼接为微信长图 | scripts/merge_long_image.py |
| 调研配图 | 预设手绘风格的调研报告信息图 | scripts/research_image.py |
| 小红书卡片图 | 10种视觉风格 × 8种布局,生成小红书系列图 | 文生图 + 提示词模板 |
| 专业信息图 | 20种布局 × 17种视觉风格,专业信息可视化 | 文生图 + 提示词模板 |
| 文章封面图 | 5维定制系统,生成文章/公众号封面 | 文生图 + 提示词模板 |
配置
配置文件:config/settings.json
| 配置项 | 值 |
|---|---|
| IMAGE_API_BASE_URL | https://ark.cn-beijing.volces.com/api/coding/v3 |
| IMAGE_MODEL | doubao-seed-2.0-pro |
| VISION_MODEL | doubao-seed-code |
执行规范
图片默认保存到命令执行时的当前工作目录:
- 不要使用
workdir切换到 skill 目录执行命令 - 始终在用户的工作目录下执行,使用脚本的绝对路径
- 脚本路径:
.opencode/skills/image-service/scripts/
# 正确示例
python .opencode/skills/image-service/scripts/text_to_image.py "描述" -r 3:4 -o output.png
快速使用
文生图
python .opencode/skills/image-service/scripts/text_to_image.py "信息图风格,标题:AI技术趋势" -r 16:9
python .opencode/skills/image-service/scripts/text_to_image.py "竖版海报,产品展示" -r 3:4 -o poster.png
参数:-r 宽高比 | -s 尺寸 | -o 输出路径
支持比例:1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
图生图
python .opencode/skills/image-service/scripts/image_to_image.py input.png "编辑描述" -r 3:4
图生文(视觉分析)
# 使用火山方舟视觉模型分析图片
python .opencode/skills/image-service/scripts/vision_analyzer.py image.jpg -m describe
python .opencode/skills/image-service/scripts/vision_analyzer.py screenshot.png -m ocr
python .opencode/skills/image-service/scripts/vision_analyzer.py chart.png -m chart
python .opencode/skills/image-service/scripts/vision_analyzer.py image.jpg -m custom -q "图片中红框框出来的部分是什么?"
模式:describe | ocr | chart | fashion | product | scene | custom
注意:Coding Plan 唯一支持的视觉模型是 doubao-seed-code,专业视觉模型(如doubao-vision-pro)不支持。
长图拼接
python .opencode/skills/image-service/scripts/merge_long_image.py img1.png img2.png -o output.png --blend 20
python .opencode/skills/image-service/scripts/merge_long_image.py -p "*.png" -o long.png --sort name
参数:-p 通配符 | -o 输出 | -w 宽度 | -g 间隔 | --blend 融合 | --sort 排序
调研配图
python .opencode/skills/image-service/scripts/research_image.py -t arch -n "标题" -c "内容" -o output.png
类型:arch 架构图 | flow 流程图 | compare 对比图 | concept 概念图
小红书卡片图
将长内容拆分为 1-10 张小红书风格卡片图,适合种草、教程、知识分享等场景。
触发词:小红书图片、小红书卡片、XHS图、种草图、小红书配图
双维度体系
| 维度 | 控制 | 可选值 |
|---|---|---|
| 风格 | 视觉美学:配色、线条、装饰元素 | 甜美、清新、温暖、醒目、极简、复古、波普、笔记风、黑板风、手写笔记 |
| 布局 | 信息结构:密度、排列方式 | 留白、均衡、密集、列表、对比、流程、思维导图、四象限 |
风格和布局可自由组合,例如:「笔记风 + 密集」= 知识感的高密度卡片。
风格表
| 风格 | 中文名 | 说明 |
|---|---|---|
cute |
甜美(默认) | 甜系少女风,经典小红书美学 |
fresh |
清新 | 干净清爽,自然舒适 |
warm |
温暖 | 温馨亲切,有人情味 |
bold |
醒目 | 高冲击力,抢注意力 |
minimal |
极简 | 超干净,高级感 |
retro |
复古 | 怀旧感,潮流复古 |
pop |
波普 | 鲜艳活泼,视觉冲击 |
notion |
笔记风 | 极简手绘线条,知识感 |
chalkboard |
黑板风 | 彩色粉笔黑板,教育感 |
study-notes |
手写笔记 | 真实手写照片风,蓝笔+红批注+黄荧光 |
布局表
| 布局 | 中文名 | 说明 |
|---|---|---|
sparse |
留白(默认) | 最少信息,最大冲击(1-2个要点) |
balanced |
均衡 | 标准内容排版(3-4个要点) |
dense |
密集 | 高信息密度,知识卡片风(5-8个要点) |
list |
列表 | 枚举排行格式(4-7项) |
comparison |
对比 | 左右对照排版 |
flow |
流程 | 步骤/时间线排版(3-6步) |
mindmap |
思维导图 | 中心发散式(4-8个分支) |
quadrant |
四象限 | 四格/扇形分区 |
智能推荐
| 内容信号 | 推荐风格 | 推荐布局 |
|---|---|---|
| 美妆、时尚、可爱、少女 | 甜美 | 留白/均衡 |
| 健康、自然、清洁、有机 | 清新 | 均衡/流程 |
| 生活、故事、情感、温馨 | 温暖 | 均衡 |
| 警告、重要、必看、避坑 | 醒目 | 列表/对比 |
| 专业、商务、高端、简约 | 极简 | 留白/均衡 |
| 经典、怀旧、传统、复古 | 复古 | 均衡 |
| 有趣、惊喜、好玩、安利 | 波普 | 留白/列表 |
| 知识、概念、效率、工具 | 笔记风 | 密集/列表 |
| 教程、教学、课堂、学习 | 黑板风 | 均衡/密集 |
| 笔记、手写、学习攻略、真实 | 手写笔记 | 密集/列表/思维导图 |
内容策略
| 策略 | 中文名 | 适用场景 | 结构 |
|---|---|---|---|
| 故事驱动 | 经验分享型 | 测评、个人分享、蜕变故事 | 钩子→痛点→发现→体验→总结 |
| 信息密集 | 干货输出型 | 教程、对比、清单、推荐 | 核心结论→信息卡→优缺点→推荐 |
| 视觉优先 | 氛围美图型 | 高颜值产品、生活方式 | 主图→细节→场景→引导 |
使用方式
- 提供内容素材(文章、笔记、文本)
- 指定风格和布局(或让系统自动推荐)
- 系统分析内容,拆分为多张卡片
- 为每张卡片生成提示词并调用文生图
# 示例:生成小红书卡片图
python .opencode/skills/image-service/scripts/text_to_image.py "小红书卡片风格,甜美配色,标题:护肤入门指南,内容要点:1.清洁 2.保湿 3.防晒" -r 3:4 -o xhs_card_01.png
输出结构
xhs-images/{主题}/
├── source-{slug}.{ext} # 原始素材
├── analysis.md # 内容分析
├── outline.md # 最终大纲
├── prompts/ # 各卡片提示词
│ ├── 01-cover-{slug}.md
│ ├── 02-content-{slug}.md
│ └── ...
├── 01-cover-{slug}.png # 生成的卡片图
├── 02-content-{slug}.png
└── NN-ending-{slug}.png
专业信息图
20种布局 × 17种视觉风格,自由组合生成专业信息可视化图。
触发词:信息图、可视化、infographic、数据图、知识图谱、流程图
布局表(20种)
| 布局 | 中文名 | 适用场景 |
|---|---|---|
linear-progression |
线性进程 | 时间线、流程、教程 |
binary-comparison |
二元对比 | A vs B、前后对比、优缺点 |
comparison-matrix |
对比矩阵 | 多因素对比评测 |
hierarchical-layers |
层级金字塔 | 优先级、层次结构 |
tree-branching |
树状分支 | 分类、知识体系 |
hub-spoke |
中心辐射 | 核心概念 + 关联项 |
structural-breakdown |
结构分解 | 拆解视图、剖面图 |
bento-grid |
便当格(默认) | 多主题概览、综合展示 |
iceberg |
冰山模型 | 表面 vs 深层、显隐对比 |
bridge |
桥梁模型 | 问题→解决方案 |
funnel |
漏斗模型 | 转化、筛选、收敛 |
isometric-map |
等距地图 | 空间关系、场景布局 |
dashboard |
仪表盘 | 指标、KPI、数据看板 |
periodic-table |
元素周期表 | 分类集合、知识卡 |
comic-strip |
漫画条 | 叙事、流程故事化 |
story-mountain |
故事山 | 剧情结构、张力弧线 |
jigsaw |
拼图模型 | 相互关联的组成部分 |
venn-diagram |
维恩图 | 交叉概念、共性分析 |
winding-roadmap |
蜿蜒路线图 | 旅程、里程碑、路径 |
circular-flow |
循环流 | 周期、迭代、循环过程 |
风格表(17种)
| 风格 | 中文名 | 说明 |
|---|---|---|
craft-handmade |
手工拼贴(默认) | 手绘纸艺感,温暖亲切 |
claymation |
黏土动画 | 3D黏土人偶,定格动画感 |
kawaii |
卡哇伊 | 日系可爱,粉彩配色 |
storybook-watercolor |
绘本水彩 | 柔和水彩,童话感 |
chalkboard |
粉笔黑板 | 黑板粉笔画,教育感 |
cyberpunk-neon |
赛博霓虹 | 霓虹灯光,未来科技感 |
bold-graphic |
漫画粗线 | 漫画风格,网点半调 |
aged-academia |
复古学术 | 老派科学手稿,泛黄纸张 |
corporate-memphis |
企业孟菲斯 | 扁平矢量,鲜艳活泼 |
technical-schematic |
技术蓝图 | 工程制图,蓝底白线 |
origami |
折纸 | 几何折叠,纸张质感 |
pixel-art |
像素风 | 复古8位游戏风 |
ui-wireframe |
线框图 | 灰度界面原型风 |
subway-map |
地铁线路图 | 交通图式,线条清晰 |
ikea-manual |
宜家说明书 | 极简线稿,无废话 |
knolling |
整理摆拍 | 物品俯拍整齐排列 |
lego-brick |
乐高积木 | 积木拼搭,玩具感 |
推荐组合
| 内容类型 | 推荐布局 + 风格 |
|---|---|
| 时间线/历史 | 线性进程 + 手工拼贴 |
| 步骤教程 | 线性进程 + 宜家说明书 |
| A vs B 对比 | 二元对比 + 企业孟菲斯 |
| 层级结构 | 层级金字塔 + 手工拼贴 |
| 交叉概念 | 维恩图 + 手工拼贴 |
| 转化漏斗 | 漏斗模型 + 企业孟菲斯 |
| 循环流程 | 循环流 + 手工拼贴 |
| 技术架构 | 结构分解 + 技术蓝图 |
| 数据指标 | 仪表盘 + 企业孟菲斯 |
| 教育科普 | 便当格 + 粉笔黑板 |
| 旅程路径 | 蜿蜒路线图 + 绘本水彩 |
| 分类集合 | 元素周期表 + 漫画粗线 |
默认组合:便当格 + 手工拼贴
使用方式
- 提供内容素材(文本、数据、大纲)
- 指定布局和风格(或让系统根据内容自动推荐)
- 系统分析内容结构,生成结构化信息图提示词
- 调用文生图生成最终图片
# 示例:生成专业信息图
python .opencode/skills/image-service/scripts/text_to_image.py "信息图,手工拼贴风格,便当格布局,标题:大模型技术栈全景,包含6个模块:数据、预训练、微调、对齐、推理、部署" -r 16:9 -o infographic.png
核心原则
- 保留原始数据原文,不擅自总结或改写
- 先明确信息传达目标,再组织视觉结构
- 标题、标签、图例等文字内容用中文
输出结构
infographic/{主题}/
├── source-{slug}.{ext} # 原始素材
├── analysis.md # 内容分析
├── structured-content.md # 结构化内容
├── prompts/infographic.md # 生成提示词
└── infographic.png # 最终信息图
文章封面图
5维定制系统,为文章、博客、公众号生成精美封面图。
触发词:封面图、文章封面、公众号封面、博客头图、cover image
五维体系
| 维度 | 可选值 | 默认值 |
|---|---|---|
| 类型 | 主视觉(hero)、概念隐喻(conceptual)、文字排版(typography)、比喻象征(metaphor)、场景叙事(scene)、极简留白(minimal) | 自动 |
| 配色 | 暖色(warm)、雅致(elegant)、冷色(cool)、暗黑(dark)、大地色(earth)、鲜艳(vivid)、粉彩(pastel)、黑白(mono)、复古(retro) | 自动 |
| 渲染 | 扁平矢量(flat-vector)、手绘(hand-drawn)、绘画(painterly)、数字CG(digital)、像素(pixel)、粉笔(chalk) | 自动 |
| 文字 | 无文字(none)、仅标题(title-only)、标题+副标题(title-subtitle)、富文字(text-rich) | 仅标题 |
| 氛围 | 内敛(subtle)、均衡(balanced)、强烈(bold) | 均衡 |
配色详情(9种)
| 配色 | 中文名 | 色彩特征 |
|---|---|---|
warm |
暖色 | 橙红黄,温暖积极 |
elegant |
雅致 | 莫兰迪色系,低饱和高级感 |
cool |
冷色 | 蓝绿紫,理性科技感 |
dark |
暗黑 | 深色背景,对比强烈 |
earth |
大地色 | 棕绿土色,自然质朴 |
vivid |
鲜艳 | 高饱和撞色,视觉冲击 |
pastel |
粉彩 | 马卡龙色,柔和温柔 |
mono |
黑白 | 纯黑白灰,经典永恒 |
retro |
复古 | 胶片色调,怀旧氛围 |
渲染风格(6种)
| 渲染 | 中文名 | 说明 |
|---|---|---|
flat-vector |
扁平矢量 | 干净利落,现代商务 |
hand-drawn |
手绘 | 手绘线条,亲切有趣 |
painterly |
绘画 | 油画/水彩质感,艺术感 |
digital |
数字CG | 3D渲染,科幻现代 |
pixel |
像素 | 像素艺术,怀旧趣味 |
chalk |
粉笔 | 黑板粉笔,教育学术 |
使用方式
- 提供文章内容或标题
- 指定五个维度(或让系统自动匹配)
- 系统分析文章主题,生成封面提示词
- 调用文生图生成封面
# 示例:生成文章封面
python .opencode/skills/image-service/scripts/text_to_image.py "文章封面,概念隐喻风格,冷色调,扁平矢量渲染,标题:深入理解Transformer架构" -r 16:9 -o cover.png
# 公众号封面(推荐2.35:1宽幅)
python .opencode/skills/image-service/scripts/text_to_image.py "文章封面,暗黑配色,数字CG渲染,极简留白,标题:2025 AI趋势" -r 21:9 -o wechat_cover.png
支持比例:16:9(标准)、21:9(宽幅/电影感)、4:3、3:2、1:1(方形)、3:4(竖版)
AI图片生成后端(多Provider支持)
除默认的 IMAGE_API 后端外,还可通过第三方 AI SDK 直接调用 OpenAI / Google / DashScope 等图像生成接口,作为补充方案。
触发词:用OpenAI生成图、用Google生图、DashScope生图、切换生图后端
支持的 Provider
| Provider | 模型 | 特点 |
|---|---|---|
| Imagen 3 | 默认首选,支持参考图多模态 | |
| OpenAI | gpt-image-1 / dall-e-3 | 高质量,支持图片编辑 |
| DashScope | z-image-turbo | 通义万象,中文理解好 |
环境变量
| 变量 | 说明 |
|---|---|
OPENAI_API_KEY |
OpenAI API 密钥 |
GOOGLE_API_KEY |
Google API 密钥 |
DASHSCOPE_API_KEY |
DashScope API 密钥 |
OPENAI_IMAGE_MODEL |
OpenAI 模型覆盖 |
GOOGLE_IMAGE_MODEL |
Google 模型覆盖 |
DASHSCOPE_IMAGE_MODEL |
DashScope 模型覆盖(默认 z-image-turbo) |
Provider 自动选择逻辑
- 提供了参考图(
--ref)且未指定 Provider → 优先 Google,其次 OpenAI - 明确指定
--provider→ 使用指定的 - 只有一个 API Key 可用 → 使用该 Provider
- 多个可用 → 默认 Google
质量预设
| 预设 | Google 尺寸 | OpenAI 尺寸 | 适用场景 |
|---|---|---|---|
normal |
1K | 1024px | 快速预览 |
2k(默认) |
2K | 2048px | 封面、插画、信息图 |
使用示例
# 基本用法(需配置对应 API Key)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "一只猫" --image cat.png
# 指定比例
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "风景画" --image out.png --ar 16:9
# 高质量
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "产品图" --image out.png --quality 2k
# 指定Provider
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "一只猫" --image out.png --provider openai
# 使用参考图
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "改为蓝色" --image out.png --ref source.png
# DashScope(中文场景推荐)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "一只可爱的猫" --image out.png --provider dashscope
参数列表
| 参数 | 说明 |
|---|---|
--prompt, -p |
提示词文本 |
--promptfiles |
从文件读取提示词(多文件拼接) |
--image |
输出图片路径(必填) |
--provider |
指定 Provider:google / openai / dashscope |
--model, -m |
模型 ID |
--ar |
宽高比(如 16:9, 1:1) |
--size |
尺寸(如 1024x1024) |
--quality |
质量预设:normal / 2k |
--ref |
参考图片 |
--n |
生成数量 |
--json |
JSON 格式输出 |
执行前必做:需求类型判断(铁律)
收到图片生成需求后,必须先判断是哪种类型,再决定执行方式:
长图识别规则
提示词中出现以下任一特征,即判定为长图需求:
| 特征类型 | 识别关键词/模式 |
|---|---|
| 明确声明 | 长图、长图海报、垂直长图、微信长图、Infographic、Long Banner |
| 分段结构 | 提示词包含多个段落(如"第1部分"、"顶部"、"中间"、"底部") |
| 编号列表 | 使用 ### 1.、### 2. 等编号分段 |
| 多屏内容 | 描述了3个及以上独立画面/模块 |
| 从上至下 | 出现"从上至下"、"从上到下"等描述 |
判断后的执行路径
识别为长图 → 必须先读取 references/long-image-guide.md → 按长图流程执行
识别为小红书图 → 按「小红书卡片图」章节流程执行
识别为信息图 → 按「专业信息图」章节流程执行
识别为封面图 → 按「文章封面图」章节流程执行
识别为单图 → 直接使用 text_to_image.py 生成
铁律:识别为长图后,禁止直接生成!必须先加载长图指南,按指南流程执行。
详细指南(按需加载)
| 场景 | 触发条件 | 参考文档 |
|---|---|---|
| 生成多屏长图 | 命中上述长图识别规则 | references/long-image-guide.md(必须加载) |
| 图片含中文文字 | 提示词要求图片包含中文标题/文字 | references/text-rendering-guide.md |
| 为 PPT/文档配图 | 用户提供了配色要求或参考文档 | references/color-sync-guide.md |
| API 接口细节 | 需要了解底层实现 | docs/api-reference.md |
| 提示词技巧 | 需要优化提示词效果 | docs/prompt-guide.md |
提示词要点
- 必须使用中文撰写提示词
- 图片中的标题、标签必须为中文
- 默认宽高比 16:9,可通过
-r参数调整 - 推荐风格:信息图、数据可视化、手绘文字、科技插画
触发关键词
- 生成类:生成图片、创建图片、文生图、图生图、信息图、数据可视化
- 分析类:分析图片、OCR、识别文字、图生文
- 拼接类:长图、微信长图、拼接图片
- 小红书:小红书图片、小红书卡片、种草图、XHS配图
- 信息图:专业信息图、infographic、知识图谱、流程图、可视化
- 封面类:封面图、文章封面、公众号封面、博客头图
- 后端切换:用OpenAI生图、用Google生图、DashScope生图