This project turns audio and an image into a talking video using Telegram, OpenClaw, and fal.ai. You send a picture and an MP3 through OpenClaw, the system stages them in the OpenClaw’s inbound folder, and after you confirm, fal.ai OmniHuman v1.5 generates the speech-driven video and sends it back to you on Telegram.
When you send a photo or audio via Telegram (or another channel), OpenClaw first downloads the file and stores it in the inbound folder with a unique name. This folder acts as a staging area for all incoming media.
There are two skills involved in this project.
video-prep handles the conversation and media collection. When you say "/video" or "generate video", it asks you for a picture and an MP3. It receives media from OpenClaw’s inbound folder via MEDIA:path tokens, validates formats (PNG/JPG/JPEG/WebP for images, MP3 for audio), and tracks what’s been sent. Once both image and audio are present, it asks you to confirm. Reply "yes" or "go" and it moves the files into a processed folder and starts the video-generation skill. It also sends status updates to Telegram.
video-generation does the actual video creation. It’s invoked by video-prep after you confirm, with a path to the processed folder. It uploads the image and audio to fal.ai, calls the OmniHuman v1.5 model on fal.ai, waits for the result, downloads the video, and sends it back to you on Telegram. It handles billing errors and timeouts and reports them back to you.
You can test the app from anywhere in the world using Telegram, as long as your Telegram is connected to the internet, your home PC is on, Windows is not in sleep mode, and the gateway is running.
You have to watch the video to understand how to run the app (skills).
# Clone the repository
git clone https://github.com/Ashot72/Telegram-OpenClaw-fal.ai-video
# Navigate into the project directory
cd Telegram-OpenClaw-fal.ai-video
# Copy .env.example to create a new .env file, then add your keys.
cp .env.example .env
# Install dependencies (each skill has its own node_modules)
cd skills/video-prep && npm install
cd ../video-generation && npm install
📺 Video Watch on YouTube