SKILL.md
Feishu Video Sender
直接调用飞书 API 发送视频消息,支持私聊和群聊,视频以播放器形式展示(不是文件附件)。
When to Use
- 需要发送可在飞书中直接播放的视频消息时
- 使用标准
message(filePath="video.mp4")导致视频变成不可播放的文件附件时 - 需要自动生成视频封面并发送时
- 需要向群聊或私聊分享视频内容时
Do NOT use this skill if
- 需要发送语音消息 → 使用
feishu-voice-sender - 只需要发送普通文件(不要求播放器形式)→ 使用标准 file 消息
- 视频超过 100MB(可能超出 API 限制)→ 建议先压缩或上传到云盘分享链接
Typical Trigger Phrases
- "发一个视频到飞书群"
- "Send this video to Feishu chat"
- "视频发出去变成文件了,帮我修复"
- "上传视频并发送"
Workflow
- Ask for inputs: 确认视频文件路径、目标 ID(
ouxxx或ocxxx)、可选封面图路径、可选视频描述 - Verify dependencies: 确保已安装
ffmpeg和 Pythonrequests - Get token: 获取飞书
tenantaccesstoken - Upload video: 调用
POST /open-apis/im/v1/files上传视频获取file_key - Generate/upload cover: 使用
ffmpeg自动生成封面(第1秒画面),或上传用户指定的封面图获取image_key - Send video: 调用
POST /open-apis/im/v1/messages,使用msg_type: "media"发送
``bash python3 skills/feishu-video-sender/feishuvideosender.py /path/to/video.mp4 ou_xxx ``
- Confirm delivery: 返回消息 ID 和发送状态
Guardrails
- 飞书 API 对视频大小通常限制在 100MB 以内
- 自动生成封面取视频第 1 秒画面,如需更好效果建议手动提供封面图
- 必须使用
msg_type: "media"才能在飞书中显示为可播放的视频
Python API
from skills.feishu_video_sender.feishu_video_sender import (
get_token, upload_video, upload_image, generate_cover, send_video
)
token = get_token()
file_key = upload_video("/path/to/video.mp4", token)
generate_cover("/path/to/video.mp4", "/tmp/cover.jpg")
image_key = upload_image("/tmp/cover.jpg", token)
message_id = send_video(
file_key=file_key,
image_key=image_key,
target_id="ou_xxx",
token=token,
msg_type="open_id"
)
OpenClaw vs Direct API
| 方式 | 代码 | 结果 |
|---|---|---|
| OpenClaw | message(filePath="video.mp4") |
文件附件,无法播放 |
| 直接 API | msgtype="media" + filekey + image_key |
视频播放器,可播放 |
Related Skills
- [feishu-voice-sender](../feishu-voice-sender/) - 发送飞书语音消息
- [feishu-group-welcome](../feishu-group-welcome/) - 群聊管理与消息发送
About
Part of the Feishu automation toolkit by UniqueClub. 🌐 https://uniqueclub.ai