Goclaw feishu-upload-image

Upload images to Feishu/Lark. Returns image_key for use in messages.

install
source · Clone the upstream repo
git clone https://github.com/smallnest/goclaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/smallnest/goclaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/internal/builtin_skills/feishu-upload-image" ~/.claude/skills/smallnest-goclaw-feishu-upload-image && rm -rf "$T"
manifest: internal/builtin_skills/feishu-upload-image/SKILL.md
source content

Feishu Upload Image

Upload images to Feishu/Lark and get the

image_key
for use in messages.

Usage

Upload from Local File

python3 ./scripts/upload_image.py /path/to/image.jpg

Upload via HTTP

python3 ./scripts/upload_image.py --type message --image-type message https://example.com/image.jpg

Upload from Base64

python3 ./scripts/upload_image.py --base64 "iVBORw0KGgoAAAANS..."

Options

OptionDescriptionDefault
`--type messageavatar`Image usage type
`--image-type messageavatar`Same as
--type

Limits

  • Max file size: 10MB
  • Supported formats: JPEG, PNG, WEBP, GIF, TIFF, BMP, ICO
  • GIF resolution ≤ 2000×2000
  • Other formats ≤ 12000×12000

Response

Returns

image_key
which can be used in Feishu messages:

{
  "code": 0,
  "data": {
    "image_key": "img_v2_xxx"
  }
}

发送图片消息指南

获取必要信息

  1. 飞书访问令牌 (tenant_access_token 或 app_access_token)
  2. 接收者ID (open_id, user_id, chat_id, 或 email)

发送图片消息API

方式1:直接发送图片消息

curl -X POST https://open.feishu.cn/open-apis/im/v1/messages \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "receive_id": "{chat_id}",
    "msg_type": "image",
    "content": "{\"image_key\":\"{image_key}\"}"
  }'

方式2:在富文本中嵌入图片

curl -X POST https://open.feishu.cn/open-apis/im/v1/messages \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "receive_id": "{chat_id}",
    "msg_type": "post",
    "content": "{\"post\":{\"zh_cn\":{\"title\":\"图片消息\",\"content\":[[{\"tag\":\"img\",\"image_key\":\"{image_key}\"}]]}}}"
  }'

获取群聊chat_id

  1. 在飞书中打开群聊,查看URL中的chat_id
  2. 或者通过API查询群聊列表:
curl -X GET https://open.feishu.cn/open-apis/im/v1/chats \
  -H "Authorization: Bearer {access_token}"

实践经验

  • 上传图片后获得
    image_key
    ,有效期通常为7天
  • 使用前需确保有正确的访问令牌权限
  • 发送消息需要
    im:message:send_as_bot
    权限
  • 建议先上传图片,再发送消息,两步操作分离