thewulf7

Video Messages from your openclaw

设计创意v0.1.2
作者:thewulf7更新于 2026-05-11共 3 个版本 · 最新版本发布于 2026-02-03avatar-video-messages@clawhub_thewulf7/avatar-video-messages
视频处理#Audio#Message

据 AlphaMoat 统计,截至 2026-09,Video Messages from your openclaw 累计下载 4,479 次、获 5 个星标,在全部 5,078 个 AI 技能中排名第 2,157 位,在「设计创意」分类(512 个)中排名第 210 位。

累计安装
576
累计下载
4,479
星标
5
全站排名
#2,157
全站前 43% · 「设计创意」前 42%
平台累计安装累计下载星标评论
ClawHub ↗1414,3304-
SkillHub ↗5764,4795—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

把文本或音频做成带口型同步的数字人视频,需要语音时先合成音频再交给 avatarcam 渲染成 MP4。输出可做成 Telegram 的圆形视频消息。形象与背景从 TOOLS.md 读取。无图形界面的 Linux 环境下会用虚拟显示运行,依赖 ffmpeg 与 avatarcam。安装前核对 npm 包的实际身份。生成的媒体和形象/背景素材可能通过 Telegram 发送,仅在确有分享意图时使用。应将过宽的临时文件清理改成只删除本次运行的确切输出文件。

资料发布于 2026-10-27

可以用来做什么

  • 把一段祝贺文字做成数字人口播视频
  • 用已有录音生成对嘴型视频回复

什么时候用

  • 要用视频而不是语音回复时
  • 已有 VRM 形象想直接出片时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

写一段生日祝福并做成数字人视频
用这段录音生成对嘴型的视频消息

月度数据趋势

累计下载4,479
3,3093,9384,5662026-03 · 累计下载 3,3962026-05 · 累计下载 3,7002026-06 · 累计下载 3,7392026-07 · 累计下载 4,0322026-08 · 累计下载 4,2132026-09 · 累计下载 4,47926-0326-09
星标5
4552026-03 · 星标 42026-05 · 星标 52026-06 · 星标 42026-07 · 星标 52026-08 · 星标 52026-09 · 星标 526-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-094,479—5
2026-084,213+4.5%5
2026-074,032+7.8%5
2026-063,739+1.1%4
2026-053,700—5
2026-033,396—4

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

4.4 KB · ClawHub v0.1.2
---
name: video-message
description: Generate and send video messages with a lip-syncing VRM avatar. Use when user asks for video message, avatar video, video reply, or when TTS should be delivered as video instead of audio.
metadata:
  {
    "openclaw":
      {
        "emoji": "🎥",
        "requires": { "bins": ["ffmpeg", "avatarcam"] },
        "install":
展开全部(共 170 行)
          [
            {
              "id": "npm",
              "kind": "npm",
              "package": "@thewulf7/openclaw-avatarcam",
              "global": true,
              "bins": ["avatarcam"],
              "label": "Install avatarcam (npm)",
            },
            {
              "id": "brew",
              "kind": "brew",
              "formula": "ffmpeg",
              "bins": ["ffmpeg"],
              "label": "Install ffmpeg (brew)",
            },
            {
              "id": "apt",
              "kind": "apt",
              "packages": ["xvfb", "xauth"],
              "label": "Install headless X dependencies (Linux only)",
            },
          ],
      },
  }
---

# Video Message

Generate avatar video messages from text or audio. Outputs as Telegram video notes (circular format).

## Installation

```bash
npm install -g openclaw-avatarcam
```

## Configuration

Configure in `TOOLS.md`:

```markdown
### Video Message (avatarcam)
- avatar: default.vrm
- background: #00FF00
```

### Settings Reference

| Setting | Default | Description |
|---------|---------|-------------|
| `avatar` | `default.vrm` | VRM avatar file path |
| `background` | `#00FF00` | Color (hex) or image path |

## Prerequisites

### System Dependencies

| Platform | Command |
|----------|---------|
| **macOS** | `brew install ffmpeg` |
| **Linux** | `sudo apt-get install -y xvfb xauth ffmpeg` |
| **Windows** | Install ffmpeg and add to PATH |
| **Docker** | See Docker section below |

> **Note:** macOS and Windows don't need xvfb — they have native display support.

### Docker Users
Add to `OPENCLAW_DOCKER_APT_PACKAGES`:
```
build-essential procps curl file git ca-certificates xvfb xauth libgbm1 libxss1 libatk1.0-0 libatk-bridge2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libasound2 libnss3 ffmpeg
```

## Usage

```bash
# With color background
avatarcam --audio voice.mp3 --output video.mp4 --background "#00FF00"

# With image background
avatarcam --audio voice.mp3 --output video.mp4 --background "./bg.png"

# With custom avatar
avatarcam --audio voice.mp3 --output video.mp4 --avatar "./custom.vrm"
```

## Sending as Video Note

Use OpenClaw's `message` tool with `asVideoNote`:

```
message action=send filePath=/tmp/video.mp4 asVideoNote=true
```

## Workflow

1. **Read config** from TOOLS.md (avatar, background)
2. **Generate TTS** if given text: `tts text="..."` → audio path
3. **Run avatarcam** with audio + settings → MP4 output
4. **Send as video note** via `message action=send filePath=... asVideoNote=true`
5. **Return NO_REPLY** after sending

## Example Flow

User: "Send me a video message saying hello"

```bash
# 1. TTS
tts text="Hello! How are you today?" → /tmp/voice.mp3

# 2. Generate video
avatarcam --audio /tmp/voice.mp3 --output /tmp/video.mp4 --background "#00FF00"

# 3. Send as video note
message action=send filePath=/tmp/video.mp4 asVideoNote=true

# 4. Reply
NO_REPLY
```

## Technical Details

| Setting | Value |
|---------|-------|
| Resolution | 384x384 (square) |
| Frame rate | 30fps constant |
| Max duration | 60 seconds |
| Video codec | H.264 (libx264) |
| Audio codec | AAC |
| Quality | CRF 18 (high quality) |
| Container | MP4 |

### Processing Pipeline
1. Electron renders VRM avatar with lip sync at 1280x720
2. WebM captured via `canvas.captureStream(30)`
3. FFmpeg processes: crop → fps normalize → scale → encode
4. Message tool sends via Telegram `sendVideoNote` API

## Platform Support

| Platform | Display | Notes |
|----------|---------|-------|
| macOS | Native Quartz | No extra deps |
| Linux | xvfb (headless) | `apt install xvfb` |
| Windows | Native | No extra deps |

## Headless Rendering

Avatarcam auto-detects headless environments:
- Uses `xvfb-run` when `$DISPLAY` is not set (Linux only)
- macOS/Windows use native display
- GPU stall warnings are safe to ignore
- Generation time: ~1.5x realtime (20s audio ≈ 30s processing)

## Notes

- Config is read from TOOLS.md
- Clean up temp files after sending: `rm /tmp/video*.mp4`
- For regular video (not circular), omit `asVideoNote=true`

「设计创意」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。