Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计提醒

beautyplus-ai美丽加 AI

Agent Skill

beautyplus-ai 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,678

周安装

158

GitHub Stars

公开资料未说明

下载量

1,289
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:beautyplus-ai(美丽加 AI)
来源仓库:https://github.com/beautypluscom/beautyplus-ai
安装命令:
openclaw skills install beautyplus-ai
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install beautyplus-ai

简介

beautyplus-ai 用于补充开发相关能力,支持人像美化功能的集成与开发。

  • 包括身材重塑、发色发型更换、服装切换等功能,适用于 cosplay 和形象设计场景。
  • 通过 clawhub 安装,命令为 openclaw skills install beautyplus-ai,需调用 BeautyPlus 相关接口。
  • 安装前建议确认图像输入格式和输出权限,避免侵犯用户隐私或版权。
  • 适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
beautyplus-ai
description
BeautyPlus portrait beautification: body reshape (breast/butt presets with strength tiers), hair color and hairstyle, outfit change (formal / vacation / cosplay / party / sports), face style, expression (smile / wink / cool), and photo art (tan / flash / film).
version
1.0.1
author
BeautyPlus
metadata
{"openclaw":{"emoji":"🖼️","requires":{"bins":["python3"],"env":{"BP_AK":{"required":true},"BP_SK":{"required":true}}},"tags":["image-processing","body-reshape","hair-color","hairstyle","outfit-change","cosplay","photo-restoration","beautyplus","paid-api"]}}

BeautyPlus Skill

When to Use This Skill

Activate when the user wants any of the following on a photo / image (path, URL, or IM attachment):

  • Body reshape (figure) — breast enhancement (natural / teardrop / round / outward), peach butt, O-shape butt, etc., each with strong / medium / weak tiers
  • Hair — color — natural black, blonde, brown highlights, platinum, silver platinum, teddy warm brown, etc.
  • Hair — style — glossy hair, layered cut, soft waves, Latino curls, etc.
  • Outfits — formal — gowns, rhinestone mesh dress, feather dress, beaded dress, tartan suit, black suit, etc.
  • Outfits — vacation — bunny ears, slip dress, puff dress, hoodie dress, lace corset set, tiered chiffon dress, sheer bikini overlay, etc.
  • Outfits — cosplay — carnival, bunny cop, fox shirt, deer girl skirt, Grinch, Victoria Angel, Dallas Cowboy, etc.
  • Outfits — party — Floral Camisole, Puff Skirt, One-Shoulder LBD, Red Latex, Moonlight Shimmer Dress, Y3K Set, etc.
  • Outfits — sports — Brazilian Bikini, Tennis Set, Cozy Fit, Racing Suit, White Yoga, etc.
  • Face style — Natural Beauty, Glamour Beauty, Sweet Beauty, Luminous Beauty, Youthful Beauty
  • Expression — Closed Smile, Open Smile, Cool Expression, Wink
  • Photo art — Tanning Filter, CCD Flash, Film Flash, Fuji Flash
  • Photo restoration — denoise / repair, AI ultra-HD upscaling

Effect KEY: The CLI --task value must be the effect KEY string from the table below. The algorithm spec for each key is returned inline by POST /skill/consume.json (invoke_spec) — do not hard-code AIGC paths.

Billing and user-facing claims (MANDATORY)

  • Fact: Each successful run-task (including inside a sessions_spawn worker) goes through server-side quota / credit consumption for the BP_AK tenant. This is a paid, metered commercial API, not free compute bundled with the skill or the host.
  • Forbidden: Do not state or imply that the service is free, costs nothing, uses no quota, has unlimited trial, or similar. Do not invent prices, plan names, promotions, or trial rules.
  • Allowed: Neutral wording — e.g. processing uses the BeautyPlus account quota tied to the configured keys; billing and plans are per your console or administrator. If the user asks about cost, point them to admin / official billing docs / console; do not guess. When the API returns quota or membership errors, follow Step 3 — MANDATORY (quota / consume failures) using server detail and pricing_url when present.
  • On success too: Success summaries must stay factual (task completed, delivery). Do not add “free” or zero-cost implications.

Supported Algorithms (effect KEY → --task)

All rows use image input. Algorithm params for each key are returned as invoke_spec by POST /skill/consume.json — do not hard-code AIGC paths.

Body reshape — figure

Tiers: strong / medium / weak (append _strong / _medium / _weak to the key). If unspecified, default to _medium.

Effect nameStrong KEYMedium KEYWeak KEYDescription
Natural breastbreast_natural_strongbreast_natural_mediumbreast_natural_weakNatural-looking fullness; subtle lift that balances the silhouette.
Teardrop breastteardrop_breast_strongteardrop_breast_mediumteardrop_breast_weakTeardrop contour (fuller lower pole); refined, natural look.
Round breastbreast_round_strongbreast_round_mediumbreast_round_weakRounded, lifted look with visual emphasis upward; firm appearance.
Outward breastbreast_outward_strongbreast_outward_mediumbreast_outward_weakFashion-editorial spread with outward emphasis.
Peach buttbutt_peach_strongbutt_peach_mediumbutt_peach_weakLift and side volume for a rounded peach shape; improves waist-to-hip ratio.
O-shape buttbutt_o_shape_strongbutt_o_shape_mediumbutt_o_shape_weakSmooth, continuous curve with even side profile.

Hair — color

Effect nameEffect KEYDescription
Natural blackhair_blackDeep black shine; healthy, natural-looking hair.
Blondehair_blondeClassic golden blonde; bright, skin-flattering tone.
Brown with highlightshair_brown_highlightsAlternating depth for dimension and movement.
Platinum blondehair_platinumSoft creamy platinum; gentle on skin tone.
Silver platinumhair_silver_platinumCool metallic silver; edgy, modern look.
Teddy warm brownhair_teddy_brownWarm soft brown; softens features, youthful vibe.

Hair — style

Effect nameEffect KEYDescription
Glossy hairhair_glossyExtra shine and sleek fall; silky, reflective finish.
Layered cuthair_high_layerLight layers and airy volume.
Soft waveshair_soft_wavesRomantic large waves; flatters face shape.
Latino curlshair_latino_curlsTight curls, maximum volume; bold texture.

Outfits — formal

Effect nameEffect KEYDescription
Yellow evening gowndress_yellow_gownVivid yellow silk gown; evening presence.
Rhinestone mesh gowndress_arctic_allureRhinestone mesh with galaxy sparkle; luxe and sheer.
Feather gowndress_ostrich_featherFeather accents; ethereal movement.
Beaded goddess gowndress_muse_goddessRadiating beadwork; couture-heavy look.
Tartan suitsuit_tartan_eveBritish tartan suit; smart, polished set.
Black suitsuit_red_carpetClassic black suit; sharp red-carpet energy.

Outfits — vacation

Effect nameEffect KEYDescription
Bunny ear accessoryaccessory_bunny_earPlayful bunny ears; flatters head and face shape.
Pale yellow slip dressdress_butter_moonlightLow-saturation yellow slip; fresh, light look.
Pink puff dressdress_pink_puffyTiered pink puff dress; sweet portrait style.
Hoodie dressdress_gold_hoodieHoodie meets dress; urban casual blend.
Lace corset setdress_lace_corsetLace with boned waist; French-inspired sensual fit.
Tiered chiffon maxidress_chiffon_cakeLayered chiffon "cake" skirt; relaxed vacation mood.
Sheer bikini overlaydress_sheer_bikiniBikini under sheer cover; two-piece resort look.

Outfits — cosplay

Effect nameEffect KEYDescription
Carnival samba outfitcosplay_carnivalFeather headpiece and embellished bikini; carnival energy.
Bunny police uniformcosplay_bunny_copNavy police tailoring and accessories; crisp hero look.
Fox print shirtcosplay_fox_boyfriendGreen print shirt and tie; relaxed "boyfriend shirt" vibe.
Deer girl mini skirtcosplay_deer_girlBrown with white spots; forest fawn-inspired skirt.
Grinch costumecosplay_grinchGreen fuzzy character look; fun party costume.
Victoria Angelvictoria_angelWings and rhinestone-embellished lingerie set; runway showstopper.
Dallas Cowboydallas_cowboyIconic blue-and-white Cowboys cheerleader uniform.

Outfits — party

Effect nameEffect KEYDescription
Floral Camisolefloral_camisoleBotanical floral cami with playful party flair.
Puff Skirtpuff_skirtStrapless puff corset dress; sweet and voluminous silhouette.
One-Shoulder Little Black Dressone_shoulder_lbdOne-shoulder little black dress; timeless evening edge.
Red Latexred_latexRed latex mini skirt; bold editorial statement.
Moonlight Shimmer Dressmoonlight_dressFull-rhinestone bodycon long gown; moonlit glamour.
Y3K Sety3k_setFuturistic Y3K co-ord; metallic and forward-looking.

Outfits — sports

Effect nameEffect KEYDescription
Brazilian Bikinibrazilian_bikiniBrazilian-cut bikini; beach-confident summer look.
Tennis Settennis_setSporty tennis skirt and top; athletic-chic.
Cozy Fitcozy_fitRelaxed hoodie and jogger co-ord; urban athleisure.
Racing Suitracing_suitRacing driver suit; bold motorsport identity.
White Yogawhite_yogaClean white yoga set; minimal and performance-ready.

Face style

Effect nameEffect KEYDescription
Natural Beautynatural_beautySoft natural enhancement; balanced, effortless temperament.
Glamour Beautyglamour_beautyPolished and charismatic look; refined allure.
Sweet Beautysweet_beautyYouthful sweet-girl vibe; soft and approachable.
Luminous Beautyluminous_beautyRadiant glow finish; bright and clear complexion feel.
Youthful Beautyyouthful_beautyFresh and energetic youth style; lively presence.

Expression

Effect nameEffect KEYDescription
Closed Smileclosed_smileGentle closed-lip smile; warm and approachable.
Open Smileopen_smileWide toothy grin; bright and joyful.
Cool Expressioncool_expressionSerious cool expression; composed and edgy.
WinkwinkSingle-eye wink animation; playful and flirtatious.

Photo art

Effect nameEffect KEYDescription
Tanning Filtertanning_filterWarm bronzed tan filter; sun-kissed editorial look.
CCD Flashccd_flashVintage CCD-camera flash effect; nostalgic party vibe.
Film Flashfilm_flashFilm grain with flash overlay; analog atmosphere.
Fuji Flashfuji_flashFujifilm-style flash; soft grain and warm tones.

Photo restoration

Effect nameEffect KEYDescription
Photo restorationphoto_restoration_v3Denoise, deblur, and reduce compression artifacts while keeping a natural look.
AI ultra-HDai_ultra_hd_v3Deep-learning upscale and detail recovery for old photos or small thumbnails.

Video async path (reserved)

Current catalog is image-only. Use §3a (run-task) for every listed key.

Future video keys: When the server publishes video effect keys, use spawn-run-tasksessions_spawn per §3b (runTimeoutSeconds default 3600). See docs/errors-and-polling.md for polling details.


Multi-stage pipelines (chaining tasks)

When the user asks for more than one BeautyPlus step on the same media (e.g. photo restoration then outfit change), treat each step as a separate job with its own --task (effect KEY):

Typical chainStages
Image (example)photo_restoration_v3dress_yellow_gown
Image (example)ai_ultra_hd_v3hair_soft_waves

Rules:

  1. After stage A completes (skill_status: "completed"), pass primary_result_url or output_urls[0] as --input for the next --task. That is a new job, not a retry.
  2. "Do not re-run run-task" means: do not resubmit the same task_id. It does not forbid the next pipeline stage with a different effect KEY.
  3. Delivery: Prefer final-stage delivery for the full pipeline. Deliver after the last stage only.
  4. Video chains (reserved): One sessions_spawn = one embedded run-task. Chain = multiple spawns. Current catalog uses §3a only.

See also Step 3 success bullets and agent_instruction in the JSON.


API submission path (MANDATORY)

  • New jobs: Submit only via python3 {baseDir}/scripts/beautyplus_ai.py run-task … (§3a / §3b), or the same run-task command embedded in spawn-run-tasksessions_spawn. Do not hand-craft HTTP to the skill’s wapi gateway or AIGC / invoke endpoints to replace that flow — that skips POST /skill/consume.json (quota and permission) and breaks the supported pipeline.
  • Exception: query-task --task-id is only for resuming status polling on an existing full task_id (no upload, no second consume). Do not use it instead of run-task for a new submission.
  • No curl replay: This skill does not emit debug curl for API calls. Do not hand-craft HTTP to wapi / AIGC to mimic requests — always use the CLI above so /skill/consume.json runs before algorithm submit.

0. Pre-Flight Check (MANDATORY — run before anything else)

Verify AK/SK are configured (only run this command; do not read other Python sources first):

python3 {baseDir}/scripts/beautyplus_ai.py preflight
  • Output ok → continue to Step 1
  • Output missingstop and send the user the configuration message below

Feishu — send an interactive card via the Feishu API (do not use the message tool for this):

import json, urllib.request
cfg = json.loads(open("/home/ec2-user/.openclaw/openclaw.json").read())
feishu = cfg["channels"]["feishu"]["accounts"]["default"]
token = json.loads(urllib.request.urlopen(urllib.request.Request(
    "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal",
    data=json.dumps({"app_id": feishu["appId"], "app_secret": feishu["appSecret"]}).encode(),
    headers={"Content-Type": "application/json"}
)).read())["tenant_access_token"]
card = {
    "config": {"wide_screen_mode": True},
    "header": {"title": {"tag": "plain_text", "content": "🖼️ BeautyPlus — credentials required"}, "template": "blue"},
    "elements": [{"tag": "div", "text": {"tag": "lark_md", "content": "1. Apply for **Access Key** and **Secret Key** at [BeautyPlus Developers](https://beautyplus.com/developers).\
2. Set **BP_AK** and **BP_SK** in `scripts/.env` (see `scripts/.env.example`), then reload env:\

source scripts/.env\

If keys are issued by your organization, ask your administrator."}}],
}
urllib.request.urlopen(urllib.request.Request(
    "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id",
    data=json.dumps({"receive_id": "<USER_OPEN_ID>", "msg_type": "interactive", "content": json.dumps(card)}).encode(),
    headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
))

Telegram / Discord / other channels — use the message tool with plain text:

🖼️ BeautyPlus — credentials required

1. Get Access Key and Secret Key (apply here if needed):
   https://beautyplus.com/developers

2. Set BP_AK and BP_SK in scripts/.env (see scripts/.env.example), then run:
   source scripts/.env

If keys are issued by your organization, ask your administrator.

Step 1 — Pick effect KEY and input

Choose --task = effect KEY from Supported Algorithms (must exist in server algorithm.invoke after config fetch). Confirm the input file location.

Intent → effect KEY (MANDATORY checklist):

  1. Map user intent to one row — Match feature / effect name / scene to an effect KEY in the table (English snake_case). If the user only states a broad category (e.g. “change my hairstyle”), ask one clarifying question (e.g. soft waves vs. Latino curls) or offer 2–3 KEYs to pick from.
  2. Body reshape tiers — Natural breast, teardrop, round, outward, peach butt, and O-shape butt each have strong / medium / weak (*_strong / *_medium / *_weak). If unspecified, default to medium or confirm briefly before submit.
  3. Input medium — All keys are still images (.jpg / .jpeg / .png / .webp / .gif / .bmp). Use §3a run-task. If video keys appear later, follow §3b.
  4. Ambiguous intent — With no attachment and vague intent, ask one question (which effect / any reference image) or pull media from IM per docs/im-attachments.md; do not guess the wrong KEY.
  5. Video + still in one message — While no video KEYs exist, use the user-specified image as --input. If video keys exist later, apply the video path to the video only.

Getting media from IM messages (full detail: docs/im-attachments.md):

PlatformHow to obtain
FeishuMessage resource URL / image_key + message_id → optional resolve-input
Telegramfile_idresolve-input --telegram-file-id (needs TELEGRAM_BOT_TOKEN)
Discordattachments[0].url — often usable directly as --input
GenericURL or path
python3 {baseDir}/scripts/beautyplus_ai.py resolve-input --file /tmp/saved.jpg --output-dir /tmp
# or: --url, --telegram-file-id, --feishu-image-key + --feishu-message-id

Use the JSON path field as --input.

--input as a URL: Quote the full URL in the shell (avoids & splitting). Defaults: 120 s read timeout, 100 MB max — override with MT_AI_URL_READ_TIMEOUT, MT_AI_URL_CONNECT_TIMEOUT, MT_AI_URL_MAX_BYTES. For flaky or large links, use resolve-input --url first and pass the local path.

If the user already gave a path or URL when triggering the skill, go to Step 2 without asking again.

Reply immediately to acknowledge the task, for example:

"🖼️ Processing — please wait a moment…"

Step 2 — Install dependencies

python3 {baseDir}/scripts/beautyplus_ai.py install-deps

If dependencies are already installed this step is quick; then continue to Step 3.


Step 3 — Run the task

Default: All listed effect KEYs are image jobs — use §3a (run-task).

Reserved: If a future video effect key appears that the CLI treats as spawn-only, use §3b (spawn-run-task + sessions_spawn). No current keys hit this branch.

3a — Inline (blocking, default for all catalog effect KEYs)

Blocking call — use for all listed effect KEYs.

python3 {baseDir}/scripts/beautyplus_ai.py run-task \
  --task "<effect_key>" \
  --input "<image_url_or_path>"

Replace <effect_key> (e.g. hair_soft_waves) and <image_url_or_path> with real values. If the server returns Unknown invoke preset, the key is not in the tenant's invoke map — do not invent params; check config or admin.

Default params include rsp_media_type: url. For custom JSON params:

python3 {baseDir}/scripts/beautyplus_ai.py run-task \
  --task "<effect_key>" \
  --input "<url_or_path>" \
  --params '{"parameter":{"rsp_media_type":"url"}}'

When run-task exits 0, stdout is JSON that includes:

  • skill_status: "completed" — job done; result is ready.

- Single stage → proceed to Step 4. - Multi-stage pipeline → pass primary_result_url as --input for the next --task; deliver after the last stage. - Do not resubmit run-task for the same task_id; use query-task to resume polling.

  • output_urls — ordered http(s) links (same extraction as before: data.result.urls, images, media_info_list, etc.).
  • primary_result_url — same as output_urls[0] when present; convenient for delivery scripts.
  • task_id — full task id as a top-level string when known (from data.result.id or the polling session). Keep it for manual status recovery or support handoff; do not truncate. Some synchronous completions may omit it if the API does not return an id.
  • agent_instruction — short reminder for the model.
  • meta / data — full API payload for debugging.

On skill_status: "completed" you must:

  1. Send the user a short natural-language summary of what was done.
  2. Complete Step 4 delivery using primary_result_url or output_urls[0] — unless the user explicitly asked for the URL only.

Do not end the turn with raw JSON alone.

When run-task exits non-zero, stdout has skill_status: "failed" — explain the error to the user; do not deliver or treat as success.

Quota / consume failures — when failure_stage: "consume_quota":

errorapi_codeAction
credit_required60002Show server detail to the user; include pricing_url as a link if present. Do not retry by tweaking params.
membership_required60001Same — show detail / pricing_url.
consume_param_errorFix --task / --input / --params; do not tell the user to recharge.

Never dump raw JSON to the user. Never retry run-task for credit/membership errors.

Video (reserved): When §3b applies, see docs/errors-and-polling.md and §3c–§3d for polling, timeouts, and recovery.

3b — Async worker (sessions_spawn, reserved for video effect keys)

Current catalog is image-only. spawn-run-task is not used — CLI rejects it for image keys. Use §3a for all listed effect KEYs.

When video keys return, the main agent does not block; a sub-session runs run-task and delivers the result.

  1. Build the payload (<effect_key> must be a video task name accepted by spawn-run-task — historically e.g. videoscreenclear / hdvideoallinone when server + CLI expose them):
python3 {baseDir}/scripts/beautyplus_ai.py spawn-run-task \
  --task "<effect_key>" \
  --input "<video_url_or_path>" \
  --deliver-to "<oc_xxx_or_ou_xxx_or_chat_id>" \
  --deliver-channel "feishu"

Optional: --params '<json>' (same as run-task), --deliver-channel telegram|discord|..., --run-timeout-seconds (default 3600, aligned with extended poll budget). Do not reduce runTimeoutSeconds below the payload default unless you accept timeout risk — wall time varies (often minutes to tens of minutes).

  1. Call OpenClaw sessions_spawn with the printed sessions_spawn_args (task, label, runTimeoutSeconds) without reducing runTimeoutSeconds unless you intentionally accept timeout risk.
  1. Reply immediately to the user that processing has started. The sub-agent runs install-deps (if needed), run-task, then Step 4 per the embedded task text.

Multi-stage + spawn: One embed = one run-task. Image chains (current): §3a only. Video chains (reserved): see Multi-stage pipelines, rule 4.

3c — Resume polling (query-task)

When you already have a full task_id (from a previous stdout JSON, e.g. success, poll_timeout, or poll_aborted, or from stderr task_id=... lines) and the job may still be running on the server — do not run run-task again for that id; resume polling only:

python3 {baseDir}/scripts/beautyplus_ai.py query-task \
  --task-id "<full_task_id>"

Optional --task sets the task_name field in the success JSON for your logs (default labels as query_task). Uses the same BP_AK / BP_SK and remote config as the original submit. Stdout JSON and exit codes match run-task: exit 0 with skill_status: "completed" when the task finishes successfully; exit non-zero with skill_status: "failed" / error on timeout, query errors, or API-reported failure.

3d — Last task and history (user-visible)

Local state under ~/.openclaw/workspace/beautyplus-ai/ (last_task.json, history/task_*.json, last 50 records). For async run-task, last_task.json may briefly show skill_status: "polling" with task_id while the client is still polling (checkpoint so query-task can resume if the process is killed mid-poll):

python3 {baseDir}/scripts/beautyplus_ai.py last-task
python3 {baseDir}/scripts/beautyplus_ai.py history

Use when the user asks whether a recent job finished, or for a short history summary. Do not expose raw secrets.


Step 4 — Deliver result to the channel

Required after success: When skill_status is completed, deliver here — the CLI does not post to IM by itself. Send the processed image or video back on the user’s platform (and keep the Step 3 MANDATORY summary in the same turn).

Resolve deliver-to target

PlatformSourceFormat
Feishu groupconversation_label or chat_id without chat: prefixoc_xxx
Feishu DMsender_id without user: prefixou_xxx
TelegramInbound message chat_ide.g. -1001234567890
Discordchannel_ide.g. 123456789

Feishu — image tasks

python3 {baseDir}/scripts/feishu_send_image.py \
  --image "<result_url>" \
  --to "<oc_xxx or ou_xxx>"

Feishu — video tasks (reserved; e.g. legacy videoscreenclear / hdvideoallinone when video keys exist)

curl -sL -o /tmp/beautyplus_result.mp4 "<primary_result_url_or_output_urls[0]>"
python3 {baseDir}/scripts/feishu_send_video.py \
  --video /tmp/beautyplus_result.mp4 \
  --to "<oc_xxx or ou_xxx>" \
  --video-url "<primary_result_url_or_output_urls[0]>" \
  [--cover-url "<optional_thumb_url>"] \
  [--duration <milliseconds_if_known>]

--video-url adds a second message with the download link. Optional cover/duration; details: docs/feishu-send-video.md.

Telegram — image tasks

TELEGRAM_BOT_TOKEN="$TELEGRAM_BOT_TOKEN" python3 {baseDir}/scripts/telegram_send_image.py \
  --image "<result_url>" \
  --to "<chat_id>" \
  --caption "✅ Done"

Telegram — video tasks (reserved; long async video jobs)

curl -sL -o /tmp/beautyplus_result.mp4 "<primary_result_url_or_output_urls[0]>"
TELEGRAM_BOT_TOKEN="$TELEGRAM_BOT_TOKEN" python3 {baseDir}/scripts/telegram_send_video.py \
  --video /tmp/beautyplus_result.mp4 \
  --to "<chat_id>" \
  --video-url "<primary_result_url_or_output_urls[0]>" \
  [--cover-url "<optional_thumb_url>"] \
  [--duration <seconds>] \
  --caption "✅ Done"

--video-url sends a follow-up text message with the download link. Max ~50 MB for Bot API video; larger files rely on the link line.

Discord

Download the result, then send with the message tool (use .mp4 for video, .jpg / .png for image):

curl -L "<result_url>" -o /tmp/result_image.jpg

Then:

message(action="send", channel="discord", target="<channel_id>", filePath="/tmp/result_image.jpg")

For files over ~25MB, send the result URL as a link instead.

WhatsApp / Signal / others

Use the message tool with media, or send the result URL directly.


Quick commands reference (agent)

CommandDescriptionUser-facing?
preflightAK/SK ok / missingNo
install-depspip install requirementsNo
run-taskSubmit + poll until doneIndirectly
query-taskResume poll by task_idWhen recovering
spawn-run-taskPrint sessions_spawn payload — CLI video task names only (reserved; none in current image catalog)No
resolve-inputIM/URL → local path for --inputNo
last-taskLast job JSONYes — “last job?”
historyUp to 50 recent recordsYes — “history?”

Notes

  • Single business entrypoint: algorithm runs and config fetch go through beautyplus_ai.py; agents do not need to open client.py / ai/api.py. Must not bypass this with direct HTTP to AIGC/wapi for new jobs — see API submission path (MANDATORY) above. query-task is the supported way to resume polling when a task_id is already known.
  • Video tasks (reserved): When the CLI again accepts video-only --task values for spawn-run-task, use spawn-run-task + sessions_spawn in the main session; the worker runs run-task and delivery. Today: all catalog keys are image — use run-task (§3a) only; run-task in the main session is also for recovery (query-task). Polling and env tuning: docs/errors-and-polling.md.
  • AK/SK loading: environment variables BP_AK / BP_SK first; if unset, scripts/.env is read automatically (same as SkillClient).
  • Client init pulls the latest algorithm config from the server; no manual INVOKE setup.
  • Bot token safety: pass TELEGRAM_BOT_TOKEN and similar only via environment variables — never as CLI arguments.
  • On failure: stdout JSON has skill_status: "failed" / error, exit code ≠ 0 — explain to the user; check AK/SK, network, quotas; timeouts / SIGKILL / no final JSON: docs/errors-and-polling.md. URL input errors may mention HTTP 403 (expired signed URL) or timeout — see **MT_AI_URL_*** env vars above.
  • More docs: README.md, docs/multi-platform.md, docs/im-attachments.md, docs/feishu-send-video.md.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

76.91%
按下载量换算991

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills