# Feishu Upload Image

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

- Skill: `smallnest/feishu-upload-image` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add smallnest/feishu-upload-image`
- Raw SKILL.md: https://api.skillmd.com/api/skills/smallnest/feishu-upload-image/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: smallnest (https://skillmd.com/u/smallnest)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/smallnest/feishu-upload-image

---


# Feishu Upload Image

Upload images to Feishu/Lark and get the `image_key` for use in messages.

## Usage

### Upload from Local File

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

### Upload via HTTP

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

### Upload from Base64

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

## Options

| Option | Description | Default |
|--------|-------------|---------|
| `--type message|avatar` | Image usage type | `message` |
| `--image-type message|avatar` | Same as `--type` | `message` |

## 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:

```json
{
  "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：直接发送图片消息**
```bash
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：在富文本中嵌入图片**
```bash
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查询群聊列表：
```bash
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` 权限
- 建议先上传图片，再发送消息，两步操作分离

