OpenClaw/clawhub-security-signals huggingface dataset:
Skill: brucegutman/pipeworx-ukpolice (version 1.0.0)

--- name: pipeworx-ukpolice description: UK street-level crime data — reported crimes by location, police force directory, and case outcomes from data.police.uk version: 1.0.0 metadata: openclaw: requires: bins: - curl emoji: "🚔" homepage: https://pipeworx.io/packs/ukpolice --- # UK Police Data Street-level crime reports from every police force in England, Wales, and Northern Ireland. Query crimes near a location for a specific month, browse all police forces, and look up case outcomes. ## Tools | Tool | Description | |------|-------------| | `get_crimes` | Street-level crimes near a lat/lng for a given month (YYYY-MM format) | | `get_forces` | List all UK police forces | | `get_outcomes` | Case outcomes (charged, cautioned, no further action, etc.) near a location | ## When to use - Crime mapping and neighborhood safety analysis - Journalism and public interest reporting on local crime trends - Building location-based safety indicators for property or travel apps - Research on policing outcomes and their geographic distribution ## Example: crimes near Westminster in January 2024 ```bash curl -s -X POST https://gateway.pipeworx.io/ukpolice/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_crimes","arguments":{"lat":51.5007,"lng":-0.1246,"month":"2024-01"}}}' ``` Returns crime category, location (street name and coordinates), outcome status, and unique ID. ## MCP config ```json { "mcpServers": { "pipeworx-ukpolice": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://gateway.pipeworx.io/ukpolice/mcp"] } } } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: watermelon11/podcastfy-clawdbot-skill (version 1.0.0)

--- name: podcastfy-clawdbot description: Generate an AI podcast (MP3) from one or more URLs using the open-source Podcastfy project. Use when the user says “make a podcast from this URL/article/video/PDF”, “turn this webpage into a podcast”, or wants an MP3 conversation-style summary from links. Uses Gemini for transcript generation via GEMINI_API_KEY and Edge TTS for free voice. --- # Podcastfy (Clawdbot) Generate a podcast-style audio conversation (MP3) from a URL (or multiple URLs) using `podcastfy`. This skill provides a wrapper script that: - creates/uses a local venv (`{baseDir}/.venv`) - installs/updates `podcastfy` - runs Podcastfy with **Gemini** for transcript generation and **Edge** for TTS ## One-time setup 1) Ensure `ffmpeg` is installed on the host. Ubuntu/Debian: ```bash sudo apt-get update && sudo apt-get install -y ffmpeg ``` 2) Provide a Gemini API key: Set env var `GEMINI_API_KEY` (recommended), or create a project `.env` and export it before running. Example keys file: `{baseDir}/references/env.example` ## Quick start Generate an MP3 from a single URL: ```bash cd {baseDir} export GEMINI_API_KEY="..." ./scripts/podcastfy_generate.py --url "https://example.com/article" ``` Multiple URLs: ```bash cd {baseDir} ./scripts/podcastfy_generate.py --url "https://a" --url "https://b" ``` Long-form: ```bash cd {baseDir} ./scripts/podcastfy_generate.py --url "https://example.com/long" --longform ``` ## Output The script writes outputs under: - `{baseDir}/output/audio/` (MP3) - `{baseDir}/output/transcripts/` (transcript) Podcastfy prints the final MP3 path on success. ## Optional tuning - `PODCASTFY_LLM_MODEL` (default: `gemini-1.5-flash`) - `PODCASTFY_EDGE_VOICE_Q` (default: `en-US-JennyNeural`) - `PODCASTFY_EDGE_VOICE_A` (default: `en-US-EricNeural`) ## Automation / reliability tips (important) ### Prefer RSS feeds over browser automation for cron jobs In isolated cron jobs, avoid relying on a system browser (Chrome/Chromium) or extra Python deps (e.g. `bs4`). For TechCrunch categories, prefer the RSS feed: - https://techcrunch.com/category/artificial-intelligence/feed/ This reduces breakage from: - “No supported browser found …” - missing site parsing dependencies in the cron runtime ### Validate MP3 output (avoid 0-second audio) We observed `podcastfy` can occasionally produce an MP3 that is effectively empty/truncated (e.g., a ~261-byte file), which shows up as **0s** in Telegram. This wrapper now validates MP3 output and will automatically fall back to **edge-tts** synthesis from the latest transcript when the MP3 is invalid. ## Safety / workflow - Prefer “draft-first”: tell the user what will be generated (language/length) before running. - Never paste API keys into chat logs.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: leooooooow/audio-to-text-caption (version 1.0.0)

--- name: audio-to-text-caption description: Turn creator audio into clean text captions for ecommerce content and reuse. Use when teams need fast transcript-to-caption workflows. --- # Audio to Text Caption ## Skill Card - **Category:** Image & Media Tools - **Core problem:** Teams lose time turning creator audio into usable captions and text drafts. - **Best for:** Short-video, live clip, and repurposing workflows. - **Expected input:** Audio source, language, output goal, style preference. - **Expected output:** Clean transcript + caption-ready text + review notes. ## Workflow 1. Transcribe source audio. 2. Clean filler and formatting noise. 3. Format text for caption or script reuse. 4. Flag unclear segments for manual review. ## Output format 1. Transcript summary 2. Clean transcript 3. Caption-ready version 4. Manual review list ## Quality and safety rules - Prioritize readability and reuse. - Do not invent unclear speech. - Adapt formatting to subtitle or script needs. ## License Copyright (c) 2026 **Razestar**. This skill is provided under **CC BY-NC-SA 4.0** for non-commercial use. You may reuse and adapt it with attribution to Razestar, and share derivatives under the same license. Commercial use requires a separate paid commercial license from **Razestar**. No trademark rights are granted.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: codenova58/bbq (version 0.1.0)

--- name: "网红烧烤" description: "提供关于网红烧烤的推荐清单、打卡路线与指南。用户搜索网红烧烤或规划相关出行时调用。" --- # 网红烧烤 ## 筛选项 - 城市/商圈/交通便利度 - 人均预算/排队时长/是否可预约 - 菜系/口味（辣度、清淡）/素食或清真 - 卫生评分/儿童友好/无障碍设施 ## 返回字段 - 店名/亮点（签名菜、特色）/人均/评分/排队 - 地址/营业时间/预约方式/是否外卖/氛围类型 - 实时热度/最佳到访时段/避坑提示 ## 路线建议 - 同商圈串联3-5家/步行与地铁优先 - 高峰期替代方案/雨天备选/亲子与情侣偏好 ## 示例请求 - “重庆 网红烧烤 辣度友好清单（人均≤80）” - “广州 网红烧烤 不排队TOP10（可预约）” ## 更新频率 - 每周迭代，结合新热度与口碑反馈 ## 注意事项 - 高峰期排队较久，建议提前预约或错峰 - 部分项目有拍摄限制或最低消费，按现场规则执行


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: codenova58/ppt-design (version 0.1.0)

--- name: "PPT代做" description: "该技能介绍如何通过PPT代做实现变现；当你计划从事或优化PPT代做时调用。" --- # PPT代做 概览： - 场景：以“PPT代做”为核心的可复制变现路径 - 目标：在90天内跑通最小可行闭环，并达成正向现金流 定位与人群： - 适合：具备基础认知或实践经验，愿意持续投入的人/团队 - 不适合：短期套利、违规刷量、无内容/供给能力者 典型渠道： - 汇报PPT、路演PPT、模板售卖 - 通用补充：微信/抖音/小红书/闲鱼/淘宝/独立站/社群 变现模型： - 收入结构：主收入 + 辅助收入（广告/佣金/订阅/服务/周边） - 成本结构：获客成本（CAC）+ 供给/履约 + 固定开销 - 核心指标：GMV、毛利率、转化率、留存、LTV/CAC、复购率 执行流程： - 01 选赛道与定位：明确供给、目标用户、差异化与定价 - 02 搭MVP：以最低成本验证一个渠道的有效性 - 03 获取流量：内容分发/投放/合作互推，建立追踪 - 04 转化与交付：标准化流程与模板，保证体验与口碑 - 05 复盘与迭代：每周数据盘点，优化漏斗与供给结构 工具清单： - 生产：文案/设计/剪辑/表格/自动化工具 - 获取：SEO/SEM/信息流/平台任务/达人合作 - 追踪：表格/CRM/数据看板/UTM/埋点 - 履约：工单/客服/交付模板/质检清单 合规与风险： - 遵守平台政策与法律法规，严禁虚假宣传、刷量、侵权 - 明确版权与交付约定，规范合同与发票 常见坑位： - 盲目扩渠道、无数据追踪、定价不清、交付不标准 - 过度依赖单平台、忽视复购与会员化 30日执行计划： - 第1周：定位、选品/供给、搭建MVP与基本素材 - 第2周：上线一个主渠道，跑数据，优化文案与转化 - 第3周：稳定交付流程，建立追踪与看板，启动第二渠道 - 第4周：总结复盘，完善模板与清单，制定90日目标 检查清单： - 明确目标与指标，完成MVP验证，建立复盘与模板库 - 形成可复制的标准作业流程（SOP）


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: jenish-sojitra/clawnedhub (version 1.0.1)

--- name: clawned description: Security agent that inventories installed OpenClaw skills, analyzes them for threats, and syncs results to your Clawned dashboard. metadata: { "openclaw": { "emoji": "🛡️", "requires": { "bins": ["python3"], "env": ["CLAWNED_API_KEY"] }, "optionalEnv": ["CLAWNED_SERVER"], "homepage": "https://clawned.io", }, } --- # Clawned — Security Agent for OpenClaw Automatically discovers all installed skills, analyzes them for security threats, and syncs results to your Clawned dashboard. ## Setup Configure your API key in `openclaw.json`: ```json { "skills": { "entries": { "clawned": { "enabled": true, "env": { "CLAWNED_API_KEY": "cg_your_api_key_here", "CLAWNED_SERVER": "https://api.clawned.io" } } } } } ``` ## Commands ### Sync all installed skills to dashboard ```bash python3 {baseDir}/scripts/agent.py sync ``` ### Scan a single skill locally ```bash python3 {baseDir}/scripts/agent.py scan --path <skill-directory> ``` ### List all discovered skills ```bash python3 {baseDir}/scripts/agent.py inventory ``` ### Check agent status ```bash python3 {baseDir}/scripts/agent.py status ``` ## Data & Privacy **During `sync` (default operation):** - Sends only skill metadata: name, owner, slug, version - No file contents are uploaded - No `.env` files or secrets are ever read **During `scan --path` (explicit user action only):** - Reads source files (`.md`, `.py`, `.js`, etc.) from the specified skill directory for analysis - `.env` files are excluded from scanning - File contents are sent to the Clawned server for security analysis **Local config access:** - Reads `~/.openclaw/openclaw.json` only to locate skill directories (extraDirs paths) - No credentials or secrets are read from config files ## Automatic Sync Schedule every 6 hours via OpenClaw cron: ```json { "jobs": [ { "schedule": "0 */6 * * *", "command": "Run clawned sync to check all installed skills", "description": "Security scan every 6 hours" } ] } ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)
Skill: jirboy/tiangong-wps-word-automation-cn (version 1.0.0)

--- name: wps-word-automation description: Automate common Word/WPS document operations on Windows via COM (read text, replace, insert, headings, headers/footers, page breaks, merge, split, export to PDF/TXT, add/replace images). Use for single-document actions (no batch). --- # WPS/Word Automation (Windows) Use the bundled Python script to control Word or WPS via COM. ## Requirements - Windows with **Microsoft Word** or **WPS Writer** installed. - Python + **pywin32** (`python -m pip install pywin32`). ## Quick start ```bash python {baseDir}/scripts/wps_word_automation.py read --input "C:\path\file.docx" python {baseDir}/scripts/wps_word_automation.py replace --input "C:\path\file.docx" --find "旧" --replace "新" --save "C:\path\out.docx" python {baseDir}/scripts/wps_word_automation.py export --input "C:\path\file.docx" --format pdf --output "C:\path\out.pdf" ``` ## Commands ### read Extract plain text. ```bash python {baseDir}/scripts/wps_word_automation.py read --input "C:\path\file.docx" --output "C:\path\out.txt" ``` ### replace Find/replace text. ```bash python {baseDir}/scripts/wps_word_automation.py replace --input "C:\path\file.docx" --find "old" --replace "new" --save "C:\path\out.docx" ``` ### insert Insert text at start/end. ```bash python {baseDir}/scripts/wps_word_automation.py insert --input "C:\path\file.docx" --text "Hello" --where start --save "C:\path\out.docx" ``` ### headings Apply Heading 1/2/3 to matching lines. ```bash python {baseDir}/scripts/wps_word_automation.py headings --input "C:\path\file.docx" --level 1 --prefix "# " --save "C:\path\out.docx" ``` ### header-footer Set header/footer text. ```bash python {baseDir}/scripts/wps_word_automation.py header-footer --input "C:\path\file.docx" --header "标题" --footer "页脚" --save "C:\path\out.docx" ``` ### page-break Insert a page break at the end. ```bash python {baseDir}/scripts/wps_word_automation.py page-break --input "C:\path\file.docx" --save "C:\path\out.docx" ``` ### merge Merge multiple docs into one. ```bash python {baseDir}/scripts/wps_word_automation.py merge --inputs "a.docx" "b.docx" --output "merged.docx" ``` ### split Split by page ranges (e.g., "1-3,4-6"). ```bash python {baseDir}/scripts/wps_word_automation.py split --input "C:\path\file.docx" --pages "1-3,4-6" --outdir "C:\out" ``` ### export Export to PDF or TXT. ```bash python {baseDir}/scripts/wps_word_automation.py export --input "C:\path\file.docx" --format pdf --output "C:\path\out.pdf" python {baseDir}/scripts/wps_word_automation.py export --input "C:\path\file.docx" --format txt --output "C:\path\out.txt" ``` ### image Add or replace image at the end. ```bash python {baseDir}/scripts/wps_word_automation.py image --input "C:\path\file.docx" --image "C:\path\img.png" --save "C:\path\out.docx" ``` ## Notes - If WPS is installed, try `--app wps`; otherwise default uses Word. - Use `--visible true` if you need to watch the UI. - Avoid batch usage; this skill is for single-document operations.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: fr3kstyle/twilio-comms (version 1.0.0)

--- name: twilio-comms description: Twilio SMS, Voice, WhatsApp, and Verify (2FA) — send messages, make calls, and run verification flows from the CLI. --- # Twilio Comms Automate SMS, voice calls, WhatsApp messaging, and two-factor authentication flows via the Twilio API. Send and track messages, place and monitor outbound calls, send WhatsApp templates or free-form messages, and run complete Verify 2FA flows — all from a single Python CLI tool. ## Setup ```bash export TWILIO_ACCOUNT_SID=[REDACTED_SECRET] export TWILIO_AUTH_TOKEN="your_auth_token_here" export TWILIO_FROM_NUMBER="+15550001234" # your Twilio number export TWILIO_VERIFY_SERVICE_SID="VAxx..." # optional, for Verify/2FA ``` Get credentials: [console.twilio.com](https://console.twilio.com) → Account Info. ## Commands / Usage ```bash # ── SMS ───────────────────────────────────────────────── # Send an SMS python3 scripts/twilio_comms.py sms-send --to "+61400000000" --body "Hello from Twilio!" python3 scripts/twilio_comms.py sms-send --to "+61400000000" --body "Custom sender" --from "+15550001234" # List recent messages python3 scripts/twilio_comms.py sms-list python3 scripts/twilio_comms.py sms-list --limit 50 --to "+61400000000" # Get delivery status of a message python3 scripts/twilio_comms.py sms-status --sid [REDACTED_SECRET] # ── VOICE ─────────────────────────────────────────────── # Make an outbound call (plays TwiML message) python3 scripts/twilio_comms.py call-make --to "+61400000000" --message "Hello, this is an automated call." python3 scripts/twilio_comms.py call-make --to "+61400000000" --twiml-url "https://demo.twilio.com/docs/voice.xml" # List recent calls python3 scripts/twilio_comms.py call-list python3 scripts/twilio_comms.py call-list --limit 25 --status completed # Get call details and status python3 scripts/twilio_comms.py call-status --sid [REDACTED_SECRET] # Get call recordings python3 scripts/twilio_comms.py call-recordings --call-sid [REDACTED_SECRET] # ── WHATSAPP ──────────────────────────────────────────── # Send a free-form WhatsApp message (within 24h session window) python3 scripts/twilio_comms.py wa-send --to "+61400000000" --body "Hi from WhatsApp via Twilio!" # Send a template message (outside 24h window) python3 scripts/twilio_comms.py wa-template --to "+61400000000" --template "Your appointment is confirmed for {{1}}." --params "Monday 3pm" # ── VERIFY / 2FA ──────────────────────────────────────── # Send a verification code (SMS or call) python3 scripts/twilio_comms.py verify-send --to "+61400000000" python3 scripts/twilio_comms.py verify-send --to "+61400000000" --channel voice # Check/verify the code python3 scripts/twilio_comms.py verify-check --to "+61400000000" --code "123456" ``` ## Requirements - Python 3.8+ - `requests` (`pip install requests`) - Environment variables: `TWILIO_ACCOUNT_SID`, `TWILIO_AUTH_TOKEN`, `TWILIO_FROM_NUMBER` - Optional: `TWILIO_VERIFY_SERVICE_SID` for Verify/2FA commands


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)
Skill: tuanbi97/zalo-multi-send (version 1.0.0)

--- name: zalo-multi-send description: Send multiple images or files in a single Zalo message using zca-js directly. Use when the user asks to send multiple photos/files to a Zalo contact or group at once, or when openclaw's built-in single-media send is not enough. Supports local file paths and URLs. Requires Zalo credentials already set up via openclaw zalouser channel. --- # zalo-multi-send Send multiple attachments in one Zalo message via `scripts/send.mjs`. ## Usage ```bash node <skill-dir>/scripts/send.mjs \ --to <userId_or_groupId> \ --files "<path_or_url_1>,<path_or_url_2>,..." \ [--caption "optional text"] \ [--group] \ [--profile default] ``` ## Parameters | Flag | Required | Description | |---|---|---| | `--to` | ✅ | Zalo user ID or group ID (numeric string) | | `--files` | ✅ | Comma-separated local paths or https:// URLs | | `--caption` | ❌ | Text message to send alongside the files | | `--group` | ❌ | Add this flag if `--to` is a group ID | | `--profile` | ❌ | Credential profile name (default: `"default"`) | ## Examples ```bash # Send 2 local screenshots to a user node scripts/send.mjs \ --to 3484584962870495768 \ --files "/home/tuan/Pictures/Screenshots/shot1.png,/home/tuan/Pictures/Screenshots/shot2.png" # Send images from URLs with a caption node scripts/send.mjs \ --to 3484584962870495768 \ --files "https://files.catbox.moe/abc.png,https://files.catbox.moe/def.png" \ --caption "Đây nhé!" # Send to a group node scripts/send.mjs \ --to 1234567890 \ --group \ --files "photo1.jpg,photo2.jpg" ``` ## Notes - Credentials are read from `~/.openclaw/credentials/zalouser/credentials.json` (managed by openclaw, no re-auth needed) - ZCA_PATH is hardcoded to the openclaw-bundled zca-js. If openclaw is updated/reinstalled, the path may need updating in `scripts/send.mjs` - Local files must be readable by the current user - Zalo may have undocumented limits on number of attachments per message (tested up to ~10 without issues) - Exit 0 = success, exit 1 = error


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kitakitsune0x/memoria (version 0.2.1)

--- name: memoria description: Structured memory system for AI agents. Use when the user wants to store, recall, or search memories, manage session lifecycle (wake/sleep/checkpoint), sync to Notion, or when the user shares important information that should be remembered (facts, decisions, preferences, lessons, commitments, relationships, projects). --- # Memoria ## Environment Set the vault path so all commands work: ```bash export MEMORIA_VAULT=~/memory ``` If not set, pass `-v ~/memory` on every command. ## Session Lifecycle Run at the start and end of every session: ```bash memoria wake # start session, restore context memoria checkpoint --working-on "<task>" # mid-session save memoria sleep "<summary>" --next "<next steps>" # end session, write handoff ``` ## Storing Memories ```bash memoria remember <type> "<title>" --content "<details>" memoria sync --push # always sync after storing ``` Types: `fact`, `decision`, `preference`, `lesson`, `commitment`, `relationship`, `project` ### What to capture (proactively, without being asked) | Signal | Type | |--------|------| | Human shares personal info (name, location, health, settings) | `fact` | | A decision is made with reasoning | `decision` | | Human says "I prefer / always / never..." | `preference` | | An insight or lesson emerges | `lesson` | | A promise, goal, or deadline is set | `commitment` | | A person is mentioned with context | `relationship` | | An ongoing project is discussed | `project` | **If in doubt, store it.** Better to have a memory you never look up than to forget something. ### Proactive capture triggers Listen for these patterns and store immediately: - "I always...", "I never...", "I prefer..." -> `preference` - "Let's go with...", "We decided...", "The plan is..." -> `decision` - "I learned that...", "Turns out...", "The trick is..." -> `lesson` - "My name is...", "I take...", "I live in...", "I work at..." -> `fact` - "I need to...", "I promised...", "By next week..." -> `commitment` - "Talk to Alice about...", "Bob said..." -> `relationship` - "We're building...", "The project is..." -> `project` ### Examples ```bash memoria remember fact "Human lives in Tokyo" --content "Mentioned during onboarding" memoria remember preference "No emojis in code" --content "Explicitly requested" memoria remember decision "Use Fly.io" --content "Chosen over Vercel for APAC latency" memoria sync --push ``` ## Searching Before making decisions or giving advice, check existing memories: ```bash memoria search "<query>" ``` ## Other Commands ```bash memoria store <category> "<title>" --content "<body>" # store in explicit category memoria list [category] # list documents memoria get <id> # get specific document memoria status # vault stats + session state memoria sync --pull # pull Notion changes to local ``` ## Notion Setup One-time configuration: ```bash memoria setup-notion --token <token> --page <page-id> ``` After setup, always run `memoria sync --push` after storing memories.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)
Skill: papayalove/kay-image (version 1.0.3)

--- name: kay-image description: | AI 图片生成与理解工具 - 支持文生图、图生图、图片理解、视频理解。 基于 KIE AI API，支持 4K 输出、多种宽高比和参考图。 **所需凭证**: 需要 KIE_API_KEY 环境变量（从 https://kie.ai/ 获取） metadata: openclaw: requires: env: - KIE_API_KEY bins: [] emoji: "🎨" --- # Kay Image - AI 图片生成与理解 基于 KIE AI API 的图片生成与理解工具。 ## ⚠️ 必需凭证 使用本工具前，必须配置 API Key： ### 获取 KIE API Key 1. 访问 https://kie.ai/ 2. 注册并登录账号 3. 进入控制台 → API 管理 4. 创建 API Key 并复制 ### 配置环境变量 ```bash export KIE_API_KEY="your-kie-api-key-here" ``` 或在 skill 目录创建 `.env` 文件： ```bash # 创建 .env 文件 nano skills/kay-image/.env ``` .env 文件内容： ``` KIE_API_KEY=your-kie-api-key-here ``` **注意**: 没有 API Key 将无法使用本工具的任何功能。 --- ## 特性 - **文生图**: 根据文本描述生成图片 - **图生图**: 基于参考图进行编辑/变换 - **图片理解**: 分析图片内容（使用 GPT-5/Gemini） - **视频理解**: 分析视频内容（使用 Gemini） - **多分辨率**: 支持 1K/2K/4K 输出 - **多宽高比**: 支持 1:1, 3:4, 4:3, 9:16, 16:9, 21:9 等 --- ## 使用方法 ### 基本文生图 ```bash kay-image --prompt "一只可爱的橘猫在草地上玩耍" --output cat.png ``` ### 指定宽高比和分辨率 ```bash kay-image --prompt "上海外滩夜景" --output shanghai.png --ar 16:9 --resolution 2K ``` ### 图生图 ```bash kay-image --prompt "转换成动漫风格" --input https://example.com/photo.jpg --output anime.png ``` ### 图片理解 ```bash kay-image --understand --image https://example.com/photo.jpg --prompt "描述这张图片" ``` ### 视频理解 ```bash kay-image --understand --video https://example.com/video.mp4 --prompt "分析这个视频" ``` --- ## 参数说明 | 参数 | 简写 | 说明 | 默认值 | |------|------|------|--------| | `--prompt` | `-p` | 提示词 | - | | `--output` | `-o` | 输出路径 | - | | `--input` | `-i` | 参考图路径 | - | | `--ar` | - | 宽高比 | 1:1 | | `--resolution` | `-r` | 分辨率 | 1K | | `--understand` | `-u` | 理解模式 | false | | `--image` | - | 图片路径 | - | | `--video` | - | 视频路径 | - | --- ## 环境变量 | 变量名 | 必需 | 说明 | |--------|------|------| | `KIE_API_KEY` | ✅ 是 | KIE AI API 密钥 | | `KIE_UNDERSTANDING_API_KEY` | ❌ 否 | 理解功能 API 密钥（默认使用 KIE_API_KEY） | | `LAOZHANG_API_KEY` | ❌ 否 | LaoZhang API 密钥（可选） | --- ## 价格参考 - **1K 图片**: ~$0.04 - **2K 图片**: ~$0.06 - **4K 图片**: ~$0.09 - **图片理解**: ~$0.005-0.01/张 --- ## 支持的宽高比 - `1:1` - 正方形 - `3:4` - 小红书/Instagram 竖版 - `4:3` - 标准横版 - `9:16` - 手机竖屏 - `16:9` - 宽屏 - `21:9` - 超宽屏 --- ## 示例 ### 生成小红书封面 ```bash kay-image -p "清新风格护肤品封面，粉色渐变背景" -o cover.png --ar 3:4 -r 2K ``` ### 生成头像 ```bash kay-image -p "动漫风格女生头像，粉色头发" -o avatar.png --ar 1:1 ``` ### 图片风格迁移 ```bash kay-image -p "转换成油画风格" -i photo.jpg -o painting.png ``` ### OCR 文字提取 ```bash kay-image -u --image document.jpg --prompt "提取所有文字" ``` --- ## 脚本位置 `${SKILL_DIR}/scripts/main.ts` --- ## 注意事项 - **视频理解**: 仅 Gemini 模型支持 - **图片格式**: 支持 JPG、PNG、WebP - **视频格式**: 支持 MP4、MOV - **文件大小**: 建议图片 < 10MB，视频 < 100MB


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)