โ† Back to Communication
Communication by @shaharsha

gif-whatsapp

Search and send GIFs on WhatsApp

0
Source Code

GIF Sender

Send GIFs naturally in WhatsApp conversations.

CRITICAL: WhatsApp GIF Workflow

WhatsApp doesn't support direct Tenor/Giphy URLs. You MUST:

  1. Download the GIF
  2. Convert to MP4
  3. Send with gifPlayback: true

Complete Workflow

Step 1: Search for GIF

gifgrep "SEARCH QUERY" --max 5 --format url

Search in English for best results.

Always get 5 results and pick the best one based on the filename/description - don't just take the first result.

Step 2: Download the GIF

curl -sL "GIF_URL" -o /tmp/gif.gif

Step 3: Convert to MP4

ffmpeg -i /tmp/gif.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/gif.mp4 -y

Step 4: Send via message tool

message action=send to=NUMBER message="โ€Ž" filePath=/tmp/gif.mp4 gifPlayback=true

Note: Use invisible character โ€Ž (left-to-right mark, U+200E) as message to send GIF without visible caption.

One-liner Example

# Search
gifgrep "thumbs up" --max 3 --format url

# Pick best URL, then:
curl -sL "https://media.tenor.com/xxx.gif" -o /tmp/g.gif && \
ffmpeg -i /tmp/g.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" /tmp/g.mp4 -y 2>/dev/null

# Then send with message tool, gifPlayback=true

When to Send GIFs

โœ… Good times:

  • User asks for a GIF
  • Celebrating good news
  • Funny reactions
  • Expressing emotions (excitement, facepalm, etc.)

โŒ Don't overuse:

  • One GIF per context is enough
  • Not every message needs a GIF

Popular Search Terms

Emotion Search Terms
Happy celebration, party, dancing, excited
Approval thumbs up, nice, good job, applause
Funny laugh, lol, haha, funny
Shocked mind blown, shocked, surprised, wow
Sad crying, sad, disappointed
Frustrated facepalm, ugh, annoyed
Love heart, love, hug
Cool sunglasses, cool, awesome

Security & Safety Notes

  • Source domains: gifgrep only searches trusted GIF providers (Tenor, Giphy)
  • File handling: All downloads go to /tmp and are overwritten each time (-y flag)
  • Empty caption: The โ€Ž character (U+200E, Left-to-Right Mark) is used as an invisible caption so WhatsApp sends the GIF without visible text. This is a standard Unicode control character, not an injection technique
  • WhatsApp integration: Uses the platform's built-in message tool โ€” no separate WhatsApp credentials needed
  • ffmpeg safety: Processes only GIF files from trusted providers; no arbitrary file execution

Why This Works

  • WhatsApp converts all GIFs to MP4 internally
  • Direct Tenor/Giphy URLs often fail
  • MP4 with gifPlayback=true displays as looping GIF
  • Small file size = fast delivery