Video header with reply buttons
Lead with a short product demo or testimonial clip, then give the contact a clean tap-target. Video buttons combine an autoplay-friendly preview with up to three structured replies.
Overview
Video buttons use the same #ButtonMix command as image buttons, but the header is a .mp4 file instead of a .jpg. Everything else, including the title, subtitle, and IDs returned on tap, behaves the same way.
Use them when a still image isn't enough: short product demos, walk-throughs, before-and-after clips, and confirmation videos. Keep clips under 15 seconds for the best tap-through rate.
Video buttons are part of the Buttons (BETA) family. Confirm rendering on iOS and Android before a large send.
Command syntax
#ButtonMix|Title|Subtitle|video*VIDEO_URL|button*Text1*id_1/button*Text2*id_2/button*Text3*id_3 How it works
- #ButtonMix declares the message type.
- Title shows above the video preview in bold.
- Subtitle shows below the title.
- video*VIDEO_URL is the public URL of an
.mp4file. Most CRMs cap this at 5 MB. - button*Text*id defines each interactive button. Same rules as image buttons: short label, stable ID, 1 to 3 buttons.
Example
A product demo with three follow-up actions:
#ButtonMix|See it in action|30s walkthrough|video*https://wazzap-files.sfo3.cdn.digitaloceanspaces.com/demo.mp4|button*Book a call*id_book/button*Send pricing*id_pricing/button*Not now*id_dismiss Result
- The contact receives a chat bubble with an inline video preview and the three buttons below.
- Tapping plays the video. Tapping a button records the response with its ID.
- Your CRM branches the workflow on that ID: book a call, send a pricing PDF, or close the thread.
Important notes
- The header video must be a .mp4. Other containers won't render.
- Keep the file under 5 MB. Compress with
ffmpeg -crf 28if needed. - Aim for clips of 10 to 15 seconds. Long videos hurt completion rate and risk download timeouts.
- Vertical (9:16) and square (1:1) videos preview best inside chat.
- Button IDs should be unique and stable across the command.
- Send from your CRM's Conversations tab, not the WhatsApp app.
Troubleshooting
The video shows as a download link instead of inline preview
The file is either too large or not encoded with H.264 baseline. Re-encode with
ffmpeg -c:v libx264 -profile:v baseline -movflags +faststart and try again.
Buttons render but the video fails to load
Check the URL returns a video/mp4 content-type header. CDNs sometimes serve
application/octet-stream, which WhatsApp refuses.
If your demo is over 15 seconds, use a carousel instead and split the content across cards.