Feishu Send Image
Send local image files as native Feishu image messages via the Feishu Bot API.
Why This Skill Exists
OpenClaw's message tool with filePath, media, or buffer parameters only sends file attachments in Feishu, not inline images. This skill calls the Feishu API directly to send proper image messages.
Quick Usage
Run the script:
bash scripts/feishu_send_image.sh <image_path> <receive_id> <app_id> <app_secret> [receive_id_type]
Arguments
| Arg | Description |
|---|---|
image_path | Local path to image (png/jpg/gif/webp) |
receive_id | Feishu open_id (user) or chat_id (group) |
app_id | Feishu app ID from ~/.openclaw/openclaw.json → feishu.accounts.default.appId |
app_secret | Feishu app secret from ~/.openclaw/openclaw.json → feishu.accounts.default.appSecret |
receive_id_type | open_id (default) or chat_id |
Example
bash scripts/feishu_send_image.sh /tmp/chart.png \
ou_38470740452f6083ce189b7ddec722f8 \
cli_a92c368412f9dcb1 \
7uM7aLqeqYqm0Fsy0IP5QhOyTBSwxlfT
Getting Credentials
Read ~/.openclaw/openclaw.json and extract:
channels.feishu.accounts.default.appIdchannels.feishu.accounts.default.appSecret
The receiver's open_id comes from inbound message metadata (sender_id).
How It Works
- Get token —
POST /auth/v3/tenant_access_token/internalwith appId/appSecret - Upload image —
POST /im/v1/imageswithimage_type=message, returnsimage_key - Send message —
POST /im/v1/messageswithmsg_type=imageand theimage_key
Output
On success: OK: image_key=<key> message_id=<id>
On failure: prints error and exits with code 1.