⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
catsapi
Create and edit images or generate videos through CatsAPI, including model and parameter discovery, balance checks, and recovering existing generation tasks.
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
Not yet listed on ClawHub or SkillsMP
// README
CatsAPI Agent Skill
让支持 Agent Skills 的助手通过 CatsAPI / 猫图 AI 生成、编辑图片和生成视频。Skill 负责理解意图和交付,Python CLI 负责参数校验、费用预览、任务提交与恢复。
适用的 Agents
这不是 OpenClaw 专用插件。项目采用 Agent Skills 的 SKILL.md + 脚本/参考文件结构,面向能够读取技能、执行 Python 并访问网络的 Agent;不绑定宿主使用的某个大模型。
以下 Agent 均有官方 Skill 支持,可作为接入目标。列表确认的是宿主能力与安装目录,不代表本项目已在所有客户端、版本和运行环境中完成端到端实测。 官方文档核对日期:2026-08-31(DSH 于 2026-09-14 补充核对);点击 Agent 名称查看安装细节。
| Agent | 项目 / 工作区安装目录 | 用户级安装目录 |
|---|---|---|
| Hermes Agent | .hermes/skills/catsapi/(需信任项目) | ~/.hermes/skills/catsapi/ |
| DeepSeek Harness(DSH) | .dsh/skills/catsapi/ 或 .agents/skills/catsapi/ | ~/.dsh/skills/catsapi/ 或 ~/.agents/skills/catsapi/ |
| OpenClaw | <workspace>/skills/catsapi/ | ~/.openclaw/skills/catsapi/ |
| Claude Code | .claude/skills/catsapi/ | ~/.claude/skills/catsapi/ |
| Codex(CLI / IDE / 桌面本地任务) | .agents/skills/catsapi/ | ~/.agents/skills/catsapi/ |
| Cursor Agent | .cursor/skills/catsapi/ | ~/.cursor/skills/catsapi/ |
| Gemini CLI | .gemini/skills/catsapi/ | ~/.gemini/skills/catsapi/ |
| OpenCode | .opencode/skills/catsapi/ | ~/.config/opencode/skills/catsapi/ |
| GitHub Copilot(CLI / IDE Agent 模式) | .github/skills/catsapi/ | ~/.copilot/skills/catsapi/ |
| Cline | .cline/skills/catsapi/ | ~/.cline/skills/catsapi/ |
| Windsurf / Devin Desktop(Cascade) | .windsurf/skills/catsapi/ | ~/.codeium/windsurf/skills/catsapi/ |
表中是常用目录,不是完整搜索路径;自定义 profile、远程机器和容器以宿主配置为准。保留安装目录名 catsapi,与 SKILL.md 的 name 一致。应安装完整仓库,不能只复制 SKILL.md,否则会缺少脚本、模型快照或参考文档。
其他支持 Agent Skills 的 Agent 理论上也可接入;没有原生 Skill 加载器的 Agent,可以手动读取入口并调用 CLI,但需要自行关联目录和触发规则。完整运行还要求:
- 在 Agent 实际执行命令的环境中提供 Python 3.8+、CatsAPI Key,以及访问 CatsAPI 和结果下载地址的网络权限。
- 允许读取输入素材、执行脚本并写入输出文件;遵守宿主的信任、沙箱和审批规则。只读或纯聊天模式不能直接完成生成流程。
- 按宿主能力交付附件、媒体预览或文件链接;没有图像查看能力时不能声称做过视觉验收。
支持模型
| 类型 | 模型 key | 名称 |
|---|---|---|
| 图片 | gptImage25 | GPT Image 2.5 |
| 图片 | gptImage2 | GPT Image 2 |
| 图片 | nanoBanana2 | Nano Banana 2 |
| 图片 | nanoBananaPro | Nano Banana Pro |
| 图片 | flux2Pro | FLUX.2 Pro |
| 图片 | grokImagineImage | GrokImage |
| 图片 | seedream5Lite | Seedream 5 Lite |
| 图片 | seedream5Pro | Seedream 5 Pro |
| 图片 | grokImagineImage2 | Grok Imagine Image 2 |
| 图片 | midjourney | Midjourney |
| 视频 | seedance20 | Seedance 2.0 |
| 视频 | grokImagineVideo | GrokImageVideo |
| 视频 | seedance20Mini | Seedance 2.0 Mini |
| 视频 | geminiOmniFlash | Gemini Omni Flash |
共 10 个图片、4 个视频模型。CLI 也接受显示名,例如 --model "GPT Image 2.5";支持名单不等于线上当前全部可用,使用 --list 核对线上状态。
安装与配置
仓库根目录就是 Skill 根目录,入口为 SKILL.md。克隆到宿主支持的 Skill 目录并按宿主配置启用,也可以保留独立仓库、在宿主中关联这个目录:
git clone https://github.com/maodeyu180/CatsAPI-Agent-Skill.git catsapi
将完整目录放到上表对应位置,或使用宿主官方的安装 / 目录关联功能,然后确认 catsapi 已被发现并启用。Hermes 的项目级安装还需要按官方文档信任该项目。使用时不需要把它作为主站的 Git submodule。
DSH 的项目级目录以最近的 Git 根目录为准;catsapi/SKILL.md 应直接位于扫描的 Skill 根目录下一层。需启用 DSH 的文件系统 Skill 加载能力,并让执行环境具备 Python、Shell 执行、联网权限和 CATSAPI_API_KEY。自定义 DSH_HOME、DSH_AGENTS_HOME 或 Skill 根目录时以配置为准。DSH 兼容性依据其官方加载格式核对,尚未在 DSH 中完整实测 CatsAPI 生图流程。
跨宿主注意:当前入口保留了 OpenClaw 的 metadata.openclaw 和 {baseDir} 写法。{baseDir} 指包含 SKILL.md 的绝对目录,不是 shell 变量;宿主不会自动展开时,先将命令中的占位符替换成实际目录,路径含空格时加引号。若宿主严格拒绝嵌套的 OpenClaw metadata,可仅在安装副本中移除这一可选项;CLI 不依赖它。无需更改生成逻辑,也不要为了执行脚本切换工作目录。
CLI 要求 Python 3.8+,仅用标准库。通过 CatsAPI 账户创建 API Key,并确保余额足够;不要把完整 Key 发到聊天中。配置环境变量或本地私密配置文件,详见 密钥指南。
export CATSAPI_API_KEY=cats-your-key
# 仅自建部署需要覆盖,默认 https://catsapi.com
export CATSAPI_BASE=http://localhost:8000
python3 scripts/catsapi.py --check
使用逻辑
直接告诉助手需求即可,例如:
- “用 Seedream 5 Pro 把这张产品图换成白色背景,其他不动。”
- “查一下 Gemini Omni Flash 做 6 秒竖屏视频多少钱,先不要生成。”
- “用 Grok Imagine Image 2 出 2 张方图,预算上限以我确认的报价为准。”
- “刚才的任务超时了,继续查原任务,不要重新生成。”
助手区分查询、创作、编辑和恢复;不先强制展示模型菜单,不改写要求原样保留的文字,不默认升级分辨率。生成前校验参数并查看实际报价;预算不明的批量、视频或明显升级会先确认。
脚本每次提交前都会重新预估并检查余额和 --max-coins。这是提交前保护,不是服务端原子锁价;0 表示不设上限。超时、断线或下载失败时保留任务 ID,用 --resume 继续,不能盲目重试生成。
CLI 示例
以下查询和预检不消耗生成额度;--cost 会联网,离线命令不会读取 Key:
python3 scripts/catsapi.py --list --type image --offline
python3 scripts/catsapi.py --info geminiOmniFlash --type video --offline
python3 scripts/catsapi.py --generate --type image \
--model seedream5Lite --prompt "窗边的橘猫" \
--param imageSize=landscape_16_9 --dry-run
python3 scripts/catsapi.py --generate --type image \
--model Midjourney --prompt "水彩风格的橘猫 --stylize 200" \
--param version=v7 --param aspectRatio=3:4 --mode fast --num 1 --dry-run
python3 scripts/catsapi.py --cost --type video \
--model seedance20Mini --resolution 720p --duration 6
--dry-run 校验参数和数量,但不读取图片内容、不检查线上可用性、不写文件。真实生成需移除它,并使用已接受的花费上限:
# N 替换为用户已确认的猫币上限;此命令会提交付费任务
python3 scripts/catsapi.py --generate --type video \
--model geminiOmniFlash --prompt "橘猫走过花园" \
--duration 6 --param aspectRatio=9:16 --max-coins N --no-wait --json
# 用上一条命令返回的 ID 继续等待并下载,不创建新任务
python3 scripts/catsapi.py --resume TASK_ID --json
默认下载到运行命令时所在目录的 catsapi-output/;用 -o 指定文件名,已有文件会加序号而不是覆盖。宿主用原生附件、媒体预览或本地文件链接交付,不依赖特定 message 工具。
完整命令、JSON 输出与错误恢复见 CLI 参考。
参数与输入边界
- GPT Image 2 / 2.5:20 档尺寸、最多 16 张参考图。2.5 支持 1–4 张输出,默认 Flare / auto / 1024x1024;质量按
low / auto / medium / high / xhigh / max排列,提示词最多 10000 字符。 - 2.5 精细变体用
--param variant=sunburst,透明 PNG 用--param background=transparent(也可选 auto / opaque)。Sunburst 同质量、同尺寸按 Flare 单张价的 1.25 倍四舍五入收费;CLI 向服务端传递变体查询报价并检查--max-coins,不本地另乘倍率。 - Nano Banana 2:最多 14 张参考图。Nano Banana 2 / Pro 默认开启联网搜索,可用
--param enableWebSearch=false关闭。 - Seedream 5 Lite / Pro:用
imageSize,最多 4 张参考图;可传数字seed。不支持独立的resolution、quality或aspectRatio字段。 - Grok Imagine Image 2:用
aspectRatio,最多 1 张参考图;与 GrokImage 是不同模型。 - Midjourney:仅文生图,默认
version=v7、aspectRatio=1:1、processMode=fast;版本可选v7 / v6 / niji 6,提供 7 种比例和fast / turbo / relax处理模式。--mode对应processMode,负面提示词用--param negativePrompt=...。每次固定返回 4 张、按次计费,--num保持 1;不接收参考图,不提供分辨率、质量或提示词重写。 - Seedance 2.0 / Mini:默认 reference / 480p / 8 秒。Mini 没有
mode,不能传fast。 - 两个 Seedance 的起始图 → 参考图 → 结束图合计最多 4 张,仅作参考,不保证严格首尾帧。主站 schema 写 9 张,但 worker 仍只保留 4 张,CLI 按实际限制拒绝超限请求。
- Gemini Omni Flash:5–10 秒,16:9 / 9:16,可选单张起始图;不提供分辨率或质量档位。
- 图片输入只接受 JPG / PNG / WEBP,单张不超过 10 MB。当前 CLI 不提供视频或音频参考输入。
维护与验证
scripts/model_catalog.py 集中维护支持名单和别名。参数快照从主站生成,不手工维护另一份价格表:
python3 scripts/build_capabilities.py \
--image-models /path/to/backend/app/image_models.json \
--video-models /path/to/backend/app/abacus_video_models.json \
-o data/capabilities.json
也可用 --from-api https://catsapi.com -o data/capabilities.json 读取线上公开 schema。价格始终以执行时 --cost 返回为准。
在项目 Python 环境运行 python -m unittest discover -s tests -v。测试模拟媒体和网络,覆盖支持名单、请求参数、费用保护、离线预检、恢复和交付;不读取真实 Key、不创建付费任务。不能替代上游模型的实际出图验证。
本次交互设计的参考与取舍见 设计说明。目录按入口 SKILL.md、详细说明 references/、实现 scripts/、快照 data/ 和离线测试 tests/ 分层。
相关项目与许可
- CatsAPI 主站
- ComfyUI_Catsapi — 同一主站的 ComfyUI 节点
- Apache License 2.0
// HOW IT'S BUILT
// FILES
2 files shipped with this skill. Inline text is the catalog copy. The upstream link is the source repository.
SKILL.md6.7 KBupstream ↗
--- name: catsapi description: "Create or edit images and generate videos through CatsAPI. Use for CatsAPI creative requests, model/parameter discovery, cost or balance checks, and recovering existing generation tasks. Respect an explicitly chosen different provider; do not route unrelated image analysis or repository maintenance into generation." metadata: {"openclaw":{"emoji":"🐱","homepage":"https://catsapi.com","requires":{"bins":["python3"]},"primaryEnv":"CATSAPI_API_KEY"}} --- # CatsAPI 创作助手 入口:`python3 {baseDir}/scripts/catsapi.py`。只依赖 Python 标准库。`{baseDir}` 是包含本文件的绝对目录;宿主不自动展开时先替换为实际路径,并给含空格的路径加引号。 支持 10 个图片模型、4 个视频模型;完整参数在 `data/capabilities.json`。CLI 负责校验与调用,宿主 Agent 负责理解需求与选择模型,不额外调用 LLM。 使用用户当前语言,简洁说明结果。可以友好,但不强制喵系口吻、中文、固定话术或交付后的追问。 英文会话请求传 `--locale en`,中文传 `--locale zh`;不要因界面语言变化而擅自翻译用户的提示词或图片文字。 ## 先分清用户要什么 - 只问模型、参数、费用、余额或状态:只查询,不创建生成任务。 - 要生成:明确图片/视频、数量、输入素材、必须保留的文字/主体、画幅及预算;已给出的信息不要再问。 - 要编辑:先用宿主可用能力查看用户指定的图片,保留未要求更改的主体、构图、文字和风格。没有素材时不要假装已经看到。 - 要续做:找已有任务 ID 或已交付文件。超时、断线、下载失败都不意味着需要重新生成。 - 用户点名模型时按支持名单使用;未点名时按对应模型指南选一个默认,不先弹完整菜单。只有用户要比较/选择,或缺失信息会改变结果时才询问。 ## 按需读取 | 需要解决的问题 | 读取 | | --- | --- | | 选图片模型、图片参考限制 | [image-models.md](references/image-models.md) | | 选视频模型、起始帧/参考图差异 | [video-models.md](references/video-models.md) | | 从自然语言推断画幅、参数和编辑约束 | [parameter-inference.md](references/parameter-inference.md) | | 命令细节、离线预检、费用、异步/恢复、JSON | [cli-reference.md](references/cli-reference.md) | | 第一次配 Key 或鉴权失败 | [api-key-setup.md](references/api-key-setup.md) | | 媒体交付、超时/下载失败、错误处理 | [output-delivery.md](references/output-delivery.md) | 不需要为每次简单查询读取所有文件。明确模型后用 `--info MODEL --type image|video --offline` 获取该模型的精简 schema;只有需要核对线上可用性或最新参数时才去掉 `--offline`。 ## 创作流程 1. **拟定请求。** 尊重指定模型、原始提示词、准确文字、输入图片和数量。不擅自加图、切换模型、提高分辨率或重写用户要求原样使用的提示词。默认 `rewritePrompt=false`。 2. **预检。** 新组合或复杂参数先用 `--generate ... --dry-run`。它只检查参数/数量,不读取 Key、不联网、不编码图片、不写文件;不代表媒体内容或线上可用性已验证。枚举和类型由脚本校验,不猜字段。 3. **核对花费。** 用相同模型/参数/数量执行 `--cost`,读取实际返回值,不引用文档旧价格。告诉用户总价。已有明确生成授权且在已知预算内时可继续;批量、视频、明显升级成本而预算不明时先确认花费上限。不能把“看看多少钱”当成生成授权。 4. **只提交一次。** `--generate ... --max-coins N` 会再次预估并阻止超限/余额不足的请求;N 用用户允许的上限,没有更宽预算时用本次已接受报价。此保护是提交前检查,不是服务端原子锁价。 5. **等待或恢复。** 短任务可直接等待。长任务用 `--no-wait --json` 拿到任务 ID,再用 `--resume TASK_ID --json` 等待和下载。保存任务 ID;恢复命令不会创建新任务。遇到未知提交结果,不自动重试 POST,先查网页任务记录。 6. **检查并交付。** 检查文件存在、数量和可查看的视觉结果;明确说明不能保证的部分。报告实际成本,交付所有文件。不要为弥补输出质量或数量不足自动发起额外付费任务。 ## 常用入口 ```bash # 只查本地支持的模型,不需要 Key python3 {baseDir}/scripts/catsapi.py --list --type image --offline # 只预检,不付费;Seedream 用 imageSize,不是 aspectRatio python3 {baseDir}/scripts/catsapi.py --generate --type image \ --model seedream5Lite --prompt "窗边的一只橘猫" \ --param imageSize=landscape_16_9 --dry-run # 查已有任务 / 恢复等待与下载;都不会重新生成 python3 {baseDir}/scripts/catsapi.py --status TASK_ID python3 {baseDir}/scripts/catsapi.py --resume TASK_ID --json ``` ## 不可忽略的边界 - Midjourney 仅文生图,每次固定返回 4 张、按次计费,`--num` 必须为 1;下载并交付全部结果。版本、比例、处理模式分别通过 `version`、`aspectRatio`、`processMode` 传入,不用 prompt 中的参数标记覆盖;不接收参考图,也不发送 `rewritePrompt`。更多行内标记规则见图片模型指南。 - GPT Image 2.5 使用 `gptImage25`,默认 `variant=flare`、`quality=auto`;Sunburst 用 `--param variant=sunburst`。预览与提交必须使用相同变体,以服务端报价保护预算,不在客户端另乘价格倍率。 - 两个 Seedance 都只用 `inputMode=reference`;Mini **没有** `mode`。起始图 → 参考图 → 结束图合计最多 4 张,是参考素材,不保证严格首尾帧。schema 的 9 张尚未在主站 worker 全部生效。 - Gemini Omni Flash 只有 `duration=5..10` 和 `aspectRatio=16:9|9:16`,不要承诺或传入分辨率/质量档位。 - 当前客户端只接收 JPG/PNG/WEBP 图片输入。虽然上游 schema 里有视频/音频字段,本客户端没有开放这些输入;不能通过 `--param` 绕过。 - 密钥只由脚本读取环境变量/本地配置;不询问完整 Key、不把它写进聊天或命令行、不输出配置文件内容。设置问题按需读 Key 指南,不重复盘问已配置用户。 - 默认输出到当前工作目录 `catsapi-output/`;用户指定 `-o` 时服从指定路径,已有文件不覆盖。不要为了运行脚本切到 skill 目录。 - 交付适配宿主:有原生附件工具就用附件;支持本地媒体预览/文件链接就提供对应链接;否则给绝对路径并说明。不要假设一定有 `message`,不要固定回复 `NO_REPLY`,不要向用户暴露内部结果 URL。README.mdupstream ↗
Contents are not inlined in the catalog. Open the upstream file.
Plain-text copy, no login: /skill-bundles/maodeyu180-openclaw-catsapi-skill.md