下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-95ieu98t--xixilinuo-epixa.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-95ieu98t/xixilinuo-epixa。一站式整合即梦、千问、MJ、香蕉、Image2等主流图像大模型,提供文生图、图生图、图片编辑、抠图以及图片高清放大等图片创作相关能力,满足海报制作、商品图、Logo、风景壁纸、漫画等不同场景的需要。
阅读全文 (展开查看完整说明)
概述
Epixa 图片生成
使用 Epixa 平台的图片生成能力,把用户的文字描述(prompt)变成一张真实的图片,并把结果展示给用户、汇报积分消耗。
这个技能能做什么
- ✅ 文生图:根据一段文字描述生成图片
- ✅ 指定模型:用户指定用什么模型,就用什么模型;不指定则自动选默认模型
- ✅ 自定义参数:画幅比例(1:1 / 16:9 / 9:16)、画质(1K / 2K / 4K)、一次生成张数
- ✅ 垫图生成:用户提供参考图时,先上传参考图再生成
- ✅ 积分汇报:告诉用户本次消耗了多少积分
说明:本技能聚焦图片生成。积分消耗由脚本根据模型定价自动计算;剩余积分需用户登录网站查看(见下文)。
技术实现
本技能通过一个 Python 辅助脚本与平台 API 交互。脚本已封装好全部网络逻辑,你只需要按流程调用它,不要自己用 curl 或 requests 重新实现 API 调用。
脚本位置:本技能(即当前这份 SKILL.md)所在目录下的 scripts/epixa.py。调用时优先直接使用相对路径 python scripts/epixa.py <子命令> ...;若当前工作目录不是技能目录,请先用文件搜索工具(Glob / 文件查找)定位这份 SKILL.md 的完整路径——脚本就在它同级的 scripts/epixa.py 里,用该完整路径调用。
重要(跨宿主通用性):不要把技能路径假定为某个固定目录(如
~/.claude/skills/、~/.workbuddy/skills/或~/.codex/skills/)。同一份技能在不同宿主下安装位置不同,但脚本始终跟随本 SKILL.md,所以一律通过"定位本 SKILL.md → 取同级 scripts/epixa.py"的方式获取脚本路径。
脚本子命令速查
| 子命令 | 作用 | 关键参数 |
|---|---|---|
config | 查看 / 设置 API Key | --set <KEY>、--base-url <URL> |
models | 列出可用的图片生成模型 | 无 |
suggest | 根据图片内容智能推荐最擅长的模型(同时返回推荐画幅比例) | --prompt <内容描述> |
upload | 上传本地图片换取公网 URL(用于垫图) | --file <本地路径> |
price | 估算一次生成的积分消耗 | --model、--quality、--aspect-ratio、--n |
pricing | 查询账户锁定的模型单价表(locked_pricing,账户结算价) | 无 |
balance | 查询当前账户积分余额(剩余 / 总额度 / 今日消耗 / VIP / 存储空间) | 无 |
storage | 查询当前账户存储空间(已用 MB / 限额 MB / 使用占比) | 无 |
generate | 生成图片(主流程) | --prompt、--model、--aspect-ratio、--quality、--n、--ref-image、--save-local、--output-dir |
所有命令失败时都会以非零退出码退出并在 stderr 输出中文错误原因;generate 成功时在 stdout 输出一个 JSON 对象(含图片 URL、本地路径、积分消耗等),你需要解析它并向用户展示。
使用流程
第一步:确保已配置 API Key
运行 python scripts/epixa.py config:
- 如果显示「✅」或包含有效 Key(非"未配置"),继续下一步。
- 如果显示「⚠️ 尚未配置 API Key」,需要引导用户连接账户。用通俗易懂的话向用户说明:
生成图片需要连接你的 Epixa 账户。请按以下步骤操作:
- 打开网站 https://epixa.cn,登录你的账号
- 点击右上角头像菜单里的「API集成」
- 点击创建,生成一个 API Key(一串密钥字符)
- 把生成的 Key 发给我,我会帮你保存到本地,之后就不用重复输入了
用户提供 Key 后,执行 python scripts/epixa.py config --set <用户提供的Key> 保存。注意:用户的 API Key 是敏感信息,仅保存到本地配置文件(~/.workbuddy/epixa-config.json),不要写进任何会提交到仓库的文件,也不要在没有必要时反复打印完整 Key。
如果用户说"没有账号",告诉他可以去 https://epixa.cn 免费注册。
第二步:确认生成需求
与用户确认以下内容(用户不说的部分用默认值,不要一项一项追问):
| 需求 | 处理方式 | 默认值 |
|---|---|---|
| 图片内容描述(prompt) | 必填。如果用户描述不够具体,可帮助润色成更利于出图的提示词,但先问一句是否接受润色 | — |
| 模型 | 用户指定 → 用指定的;用户没指定 → 运行 suggest 智能推荐(见下方"智能选模型");用户问"有哪些模型" → 跑 models 列出 | 平台默认模型 |
| 画幅比例 | 用户指定 → 用指定的;用户说"竖图/横图/方形" → 映射为 9:16 / 16:9 / 1:1;用户没说 → 直接用 auto(由模型决定比例) | auto |
| 画质 | 用户指定 → 用指定的 | 模型支持的最低一档(如 1K) |
| 张数 | 用户说"两张/四张" → 用 --n | 1 |
| 参考图(垫图) | 用户提供本地图片 → 见下方"垫图流程" | 无 |
智能选模型(用户没指定模型时)
不同模型擅长的内容不同,选对模型能让出图效果明显更好。当用户没指定模型时,按以下步骤选:
- 运行
python scripts/epixa.py suggest --prompt "<用户的图片内容描述>"。 - 脚本会返回一个 JSON,包含:
recommendation(综合推荐 + 理由)、default_model(平台默认)、ranked_models(所有模型按匹配度排序,含各自特点描述、定价、命中的关键词)。 - 优先采纳脚本的
recommendation。但脚本的推荐基于关键词匹配,如果你(作为 AI)根据用户的完整描述、模型的description特点,判断另一个模型明显更合适,可以覆盖推荐并简短说明理由。 - 把最终选定的模型 ID 传给
generate --model <id>。
判断要点(供参考,具体以脚本实时返回的模型特点为准):
- 用户要国风/水墨/多角色/人物一致/海报/小字 → 优先即梦 4.5(
doubao-seedream-4-5) - 用户要高密度信息图/图表/真实摄影/写实 → 优先即梦 5.0 Pro(
doubao-seedream-5-0-pro) - 用户要推理/联网搜索/复杂指令类内容 → 优先即梦 5.0 Lite(
doubao-seedream-5-0-260128) - 用户要带文字的海报/写实照片 → 优先 GPT Image 2
- 用户要艺术感/插画/梦幻氛围 → 优先 Midjourney
- 用户要报纸/菜单/试卷等复杂版面 → 优先千问 3.0 Pro
- 其余普通需求 → 用平台默认模型即可
智能选比例(仅回答"什么比例合适"的咨询)
生成时:用户没指定画幅时,不要传 --aspect-ratio,脚本会直接以 auto 请求模型,由模型自行决定最佳比例(不会用下方规则干预生成)。
咨询时:只有用户主动问"小红书封面用什么比例""抖音封面尺寸"这类问题时,才用下方的 ASPECT_RULES 知识库回答:
- 运行
python scripts/epixa.py suggest --prompt "<图片内容描述>",返回的 JSON 里aspect_ratio字段会给出推荐比例和理由。 - 也可以直接查阅下方内置的平台/场景比例知识(完整见脚本
ASPECT_RULES)回答用户。
内置的平台/场景比例知识(节选,完整见脚本 ASPECT_RULES):
| 内容关键词 | 推荐比例 | 适用场景 |
|---|---|---|
| 小红书 | 3:4 | 小红书笔记封面(竖版主流) |
| 小红书方版 | 1:1 | 小红书方版封面 |
| 小红书横版 | 4:3 | 小红书横版封面 |
| 公众号 | 21:9 | 微信公众号首条大图封面 |
| 视频号竖版 | 6:7 | 微信视频号封面(竖版) |
| 视频号 | 16:9 | 微信视频号封面(横版) |
| 抖音 / TikTok | 9:16 | 抖音视频封面(竖版主流) |
| 亚马逊 | 1:1 | 亚马逊产品主图 |
| B站 / Bilibili | 16:9 | B站视频稿件封面 |
| 微博 | 16:9 | 微博焦点图/博文单图 |
| 头像 | 1:1 | 头像/方形图 |
| 手机壁纸 | 9:16 | 手机竖屏壁纸 |
| 电脑壁纸 | 16:9 | 电脑横屏壁纸 |
| 竖版海报 | 9:16 | 竖版海报/广告 |
| 横版海报 / 封面 | 16:9 | 横版海报/通用封面 |
兜底逻辑:如果理想比例恰好不在所选模型支持的比例里(比如
6:7),脚本会自动映射到最接近的支持比例(如4:5),并在📐提示里标注"已映射",不会报错。
第三步:垫图流程(仅当用户提供参考图时)
用户给了一张或多张本地图片作为参考图时,需要先把它们上传到平台换取公网 URL:
- 确认图片文件在本地磁盘上存在(可能是用户拖入的路径,或你自己找到的文件)
- 对每张图片运行
python scripts/epixa.py upload --file <图片路径>,从返回的 JSON 里取出url - 把拿到的 URL 通过
--ref-image <url>传给generate(可重复传多个)
第四步:调用 generate 生成图片
构造命令,例如:
python scripts/epixa.py generate
--prompt "一只戴着宇航员头盔的橘猫,背景是星空"
--model gpt-image-2
--aspect-ratio 1:1
--quality 1K
--n 1- 用户没指定模型时,不要传
--model,脚本会自动选默认模型。 - 用户没指定画幅时,不要传
--aspect-ratio,脚本会以auto请求模型,由模型自行决定最佳比例(打印📐 未指定画幅比例提示)。 - 用户在对话里提到模型名(例如"用 nano-banana-2"),就用
--model nano-banana-2。 - 生成期间脚本会打印进度(进度信息在 stderr),耐心等待直到命令结束。任务通常需要几十秒到几分钟。
第五步:展示结果
generate 返回的 JSON 大致长这样(仅供内部解析,不要向用户展示或提及这些字段):
{
"task_id": "task_xxx",
"status": "SUCCESS",
"model": "gpt-image-2",
"images": [
{
"url": "https://...",
"local_path": null,
"file_name": null
}
],
"credits": { "consumed": 10, "per_image": 10, "pricing_key": "1:1" },
"output_dir": null
}展示给用户时(对用户说的话术):
- 展示图片本身:用 Read 工具读取
images[].local_path(本地文件),让图片直接显示在对话里。若local_path为空,则把images[].url临时下载到缓存目录再展示,或直接展示 URL——不要提及"本地路径为空/未下载/下载失败"等任何原因。 - 附上链接:把
images[].url作为"图片链接"自然地告诉用户,方便他用浏览器打开或转发。 - 保存引导:用户想保存图片时,让他点开链接保存即可。只有在用户明确要求"保存到本地/下载"时,才在命令里加
--save-local参数(可配合--output-dir指定保存目录)下载到本地。 - 汇报积分:按下方"积分汇报"小节处理。
对用户话术规范(发布 SkillHub 必备)
本技能面向普通用户,所有对用户说的话都必须是"用户视角的自然表达",不得暴露任何内部实现细节:
- ❌ 禁止出现:
--save-local、local_path、null、auto、output_dir、JSON、参数、脚本、命令行、/me、/models、locked_pricing、remaining_credits、total_credits、today_consumed、used_mb、limit_mb、standard/hd/ultra(画质档位一律说"标准/高清/超清")、GET、API Key(必要时代之以"账户密钥")、"默认不下载"、"我修改了规则"、"按之前的约定"、"实现细节"、"SkillHub" 等任何技术性字眼。 - ❌ 禁止向用户描述内部行为差异,例如"默认不会自动保存到本地""这次没有自动下载""脚本返回了 null"——用户不该知道也不需要知道这些。
- ✅ 保存引导的自然说法:"图片链接给你了,点开就能保存/下载。"(若用户要保存到指定位置,直接帮用户操作,不要说"我需要加参数"之类的话)
- ✅ 生成过程只需告知"图片生成中,请稍候";完成后直接给图和链接。
- ✅ 查询类功能(余额 / 存储空间 / 模型单价)同理:字段名、命令名、接口路径只用于你自己分析判断,汇报给用户时只能出现换算后的自然结果。例如——可以告诉用户"剩余 1280 积分""已用 542 MB / 5 GB""香蕉 Pro 高清档 20 积分一张";绝不能说"接口返回
remaining_credits=1280""平台标价在/models里"这类话。 - ✅ 所有说明都以"生成图片"这一用户目标为中心,不解释平台机制、模型定价逻辑、账号配置方式等技术细节,除非用户主动追问。
- 记忆要点:把用户当作只想用图片的普通人,所有技术术语和内部机制都留在幕后。 你是分析师,用户只看到你的结论。
第六步:积分汇报
- 本次消耗:从 JSON 的
credits.consumed读取并告知用户,例如"本次生成消耗 10 积分"。- 如果
credits.consumed为null,或credits.note非空,如实告知用户"本次消耗的积分暂时无法精确计算,请以网站账单为准"。
- 如果
- 剩余积分:运行
python scripts/epixa.py balance查询当前账户余额(详见下方"余额查询"小节),把剩余积分一起告诉用户。
余额查询(用户问"还剩多少积分"时)
用户想知道账户还剩多少积分(或生成完毕后想汇报余额)时:
- 运行
python scripts/epixa.py balance。 - 脚本会调用平台
GET /me接口,返回 JSON,其中(以下字段仅供内部解析,不要向用户提及字段名):remaining_credits:剩余积分(主要汇报对象)total_credits:总额度(历史累计)today_consumed:今日已消耗vip_level/vip_is_expired:VIP 等级及是否过期(可顺带告知)email/name:账号信息
- 向用户汇报(自然话术),例如:
你的账户当前剩余 1280 积分(总额 5000,今日已用 36)。VIP 等级:标准版。
- 若剩余积分无法获取,如实告知"暂时查询不到剩余积分,请以 https://epixa.cn 个人中心显示为准"。
- 若提示"账户密钥无效",按"常见情况处理 → 生成失败"里的方式引导用户重新配置 Key。
存储空间查询(用户问"存储空间用了多少"时)
用户想了解账户存储空间占用情况(如"我的存储空间还剩多少""图片会不会占满空间")时:
- 运行
python scripts/epixa.py storage。 - 脚本调用平台
GET /me接口,返回 JSON(以下字段仅供内部解析,不要向用户提及字段名):used_mb:已用空间(MB)limit_mb:存储限额(MB)used_gb/limit_gb:换算成 GB 的数值(便于用户理解)usage_percent:使用占比(%)
- 向用户汇报(自然话术),例如:
你的存储空间已使用 542.13 MB / 5 GB(约 10.6%),还很充裕。
- 若存储信息缺失(当前套餐不含存储),如实告知"你的套餐暂不包含存储空间,请以 https://epixa.cn 个人中心显示为准"。
- 用户余额充足但空间不足时,可提示清理平台上的旧文件(任务文件默认保留 30 天)。
锁定价格查询(用户问"我这个号出图多少钱"时)
用户想了解自己账户的模型单价(如"我用 gpt-image-2 一张要多少积分""为什么价格和网站上写的不一样")时:
- 运行
python scripts/epixa.py pricing。 - 脚本调用平台
GET /me接口,返回 JSON(以下字段仅供内部解析,不要向用户提及字段名):locked_pricing:原始单价表,结构为{ 模型ID: { 画质档位: 积分单价 } }items:扁平化明细列表(每条含model/quality/credits),便于逐条介绍
- 向用户汇报(自然话术),例如:
你的账户锁定的价格:gpt-image-2 标准 12 积分、高清 28 积分、超清 40 积分一张;即梦 4.5 高清 20 积分;Midjourney 标准 7 积分。
- 与
price命令的分工(内部判断规则,不要向用户解释两套价格体系,除非用户主动追问):price用/models的实时定价估算单次生成消耗;pricing展示的是账户维度锁定的结算价,扣费理论上以后者为准。向用户报价时优先用pricing的数据,直接报出"模型 + 档位(标准/高清/超清)+ 积分"即可。 - 若单价表为空,如实告知"你的账户暂无锁定价格,请以 https://epixa.cn 个人中心的定价说明为准"。
常见情况处理
用户想先看有哪些模型
运行 python scripts/epixa.py models,把结果用通俗的语言介绍给用户,重点说明:哪个是默认模型(带 ⭐)、各自擅长什么(名称/描述)、单张大概多少积分。然后问用户选哪个。如果用户表示"你看着办",就走上面的智能选模型流程(suggest)根据内容帮他选。
用户说"AI 绘画/生成插画/帮我画个 Logo"等
都是本技能的使用场景,直接进入流程。把这类口语化表达翻译成适合出图的英文或中文提示词即可。
用户想把生成的图再改一版(如改风格、改比例)
直接用新要求重新走一遍流程(改 prompt 或参数),这会产生新任务、消耗新的积分,如实汇报即可。
生成失败
脚本会输出中文错误原因,例如:
- "API Key 无效" → 重新引导用户去网站生成新的密钥并更新配置(对用户说"你的账户密钥好像失效了,麻烦去个人中心重新生成一个发给我")
- "账户积分不足" → 告知用户需要去 https://epixa.cn 充值后再生成
- "找不到模型「xxx」" → 说明该模型不可用,列出可用模型让用户重选
- "任务等待超时" → 告知用户任务仍在处理,可稍后去网站查看
遇到脚本报错时,先自己读懂 stderr 里的错误信息,再按上面的对应关系处理,不要盲目重试同一个命令。
保持耐心与清晰沟通
- 用户可能完全不懂技术,解释 API Key、积分、模型时都用大白话。
- 生成图片需要时间,命令运行期间如果用户问"好了吗",如实回答"还在生成中,通常需要几十秒到几分钟"。
- 命令成功但图片看起来和预期不符时,可以主动提出"要不要我调整一下描述再生成一版"。