Feishu Video Sender
直接调用飞书 API 发送视频消息,支持私聊和群聊,视频以播放器形式展示(不是文件附件)。
When to Use
Use this skill when:
- 需要发送可在飞书中直接播放的视频消息时
- 使用标准
message(filePath="video.mp4")导致视频变成不可播放的文件附件时 - 需要自动生成视频封面并发送时
- 需要向群聊或私聊分享视频内容时
Do NOT use this skill if:
- 需要发送语音消息 → use
feishu-voice-senderinstead - 只需要发送普通文件(不要求播放器形式)→ 使用标准 file 消息 instead
- 视频超过 100MB(可能超出 API 限制)→ 建议先压缩或上传到云盘分享链接 instead
Typical triggers:
- 「发一个视频到飞书群」「视频发出去变成文件了,帮我修复」
- "Send this video to Feishu chat", "上传视频并发送"
Workflow
探查 (Probe) 确认视频文件路径、目标 ID(
ou_xxx或oc_xxx)、可选封面图路径、可选视频描述。约束 (Constrain) 确保已安装
ffmpeg和 Pythonrequests。飞书 API 对视频大小通常限制在 100MB 以内。必须使用msg_type: "media"才能在飞书中显示为可播放的视频。不降级——视频过大时建议压缩而非强行发送。证据 (Evidence) 确认视频文件存在且可读,目标 ID 格式正确。获取飞书
tenant_access_token。执行 (Execute)
上传视频获取
file_key:POST /open-apis/im/v1/files自动生成封面(第1秒画面)或上传用户指定的封面图获取
image_key使用
msg_type: "media"发送视频
python3 skills/feishu-video-sender/feishu_video_sender.py /path/to/video.mp4 ou_xxx
验证 (Verify) 确认消息发送成功,返回消息 ID 和发送状态。检查视频在飞书中是否以播放器形式展示。
交付 (Deliver) 返回消息 ID 和发送状态,清理临时文件(自动生成的封面图)。
Output
返回消息 ID 和发送状态,包含 file_key、image_key 和目标 ID。
Guardrails
Anti-patterns
- NEVER 使用
msg_type: "file"发送视频(会变成不可播放的文件附件) - Do NOT 发送超过 100MB 的视频(可能超出 API 限制)
- Do NOT 跳过封面图(没有封面的视频在飞书中显示效果差)
Constraints
- 飞书 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 | msg_type="media" + file_key + image_key |
视频播放器,可播放 |
Related Skills
- feishu-voice-sender — 发送飞书语音消息
- feishu-group-welcome — 群聊管理与消息发送
- feishu-message-recall — 撤回已发送的消息
About UniqueClub
Part of the UniqueClub toolkit. 🌐 https://uniqueclub.ai