Skills liblib-comfy-fusion
Generate product background fusion images via LiblibAI ComfyUI app API using signed AccessKey/SecretKey requests. Use when user asks for Liblib Comfy app generation, Feishu image + fusion, local or URL image input, task polling with generateUuid, or Feishu message URL extraction.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/1213qwerwef/liblib-comfyui-fusion" ~/.claude/skills/openclaw-skills-liblib-comfy-fusion && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/1213qwerwef/liblib-comfyui-fusion" ~/.openclaw/skills/openclaw-skills-liblib-comfy-fusion && rm -rf "$T"
manifest:
skills/1213qwerwef/liblib-comfyui-fusion/SKILL.mdsource content
Liblib Comfy Fusion Generation
Generate images with LiblibAI ComfyUI App API (template-based workflow). Supports public image URL or local file.
For local files from Feishu, the recommended flow is:
- upload the local file to R2 (S3-compatible) to get a public URL
- use that public URL as the Liblib
inputLoadImage - return the Liblib result
asimageUrl
so Feishu displays it directlyMEDIA:https://...
Prerequisites
Environment variables must be set:
— API access keyLIB_ACCESS_KEY
— API secret keyLIB_SECRET_KEY
Usage
Run the CLI at
scripts/liblib_client.py:
# Public URL input python3 scripts/liblib_client.py run --image-url "https://example.com/input.jpg" # Local file (Feishu inbound attachment) → upload to R2 → use public URL python3 scripts/liblib_client.py run --local-image "/path/to/input.png" --basename "product-fusion" # Local file (advanced): embed as data URI (only if Liblib accepts it) python3 scripts/liblib_client.py run --local-image "/path/to/input.png" --local-image-mode data-uri # Parse URL from Feishu message text python3 scripts/liblib_client.py run --feishu-text "请处理这个图 https://example.com/input.jpg" # Submit only (no poll) python3 scripts/liblib_client.py run --local-image "./input.jpg" --no-poll # Query task status python3 scripts/liblib_client.py status <generateUuid>
Output and Feishu 回传
- After a successful run (
), the script downloadsgenerateStatus=5
intoimages[].imageUrl
(override withworkspace/outputs/images/YYYY-MM-DD/<basename>.(png|jpg|...)
).--output-dir - stdout prints a single line:
(relative toMEDIA:./outputs/images/YYYY-MM-DD/<file>
). Use this with OpenClaw Feishu channel so the image appears in the current chat without extra API calls.workspace/ - Full task JSON is printed to stderr for debugging.
- If
is not supported in your channel, useMEDIA:
withfeishu-uploader
and the group--receive-id-type chat_id
, orchat_id
for DM.--open-id
Parameters (run)
| Flag | Meaning |
|---|---|
| Local path; takes priority over URL. Default mode uploads to R2 and uses public URL. |
| (default) or . |
| Public URL the Liblib servers can fetch. |
/ | Extract first URL from text. |
| Default: . |
| Filename stem (default ). |
| Skip downloading result files. |
| Do not print line; stdout prints absolute path of first saved file instead. |
API Details
- Submit endpoint:
POST /api/generate/comfyui/app - Status endpoint:
POST /api/generate/comfy/status - Auth query params:
,AccessKey
,Signature
,TimestampSignatureNonce - Signature algorithm:
- content =
uriPath & Timestamp & SignatureNonce HMAC-SHA1(secretKey, content)- URL-safe Base64 without trailing
=
- content =
Async Pattern
- Submit task to get
generateUuid - Poll status endpoint until
is 5 (success) or 6 (failed)generateStatus - Read
when successfulimages[].imageUrl
Notes
- URL input: must be publicly reachable by Liblib.
- Local input: default uses R2 upload to produce a public URL. Requires
.boto3 - Returned image URLs are temporary (typically ~7 days).
- If API returns content review errors, try a different source image or URL.