sickn33/agentic-awesome-skills/web-media-getter

Claude Code and agent skill by sickn33/agentic-awesome-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

One query across free image / video / GIF APIs (stock + historical/archival + GIF engines), returning normalized, license-tagged results with optional top-K download + attribution sidecar. The retrieval peer to local semantic search and generative media.

Install

npx vskill@latest install sickn33/agentic-awesome-skills/web-media-getter

SKILL.md

When to Use

Use when a task needs a REAL or ARCHIVAL photo / clip (hero, texture, reference, historical footage) or a reaction / animated GIF, rather than a generated one — fan out across free image/video/GIF sources in one query and download license-tagged results.

_Source: connerkward/web-media-getter-skill (MIT)._

web-media

Query many free image/video sources in one fan-out, get a normalized result list, optionally download top-K with an attribution sidecar. Zero-dep stdlib script.

Script prerequisite: webmedia.py is not bundled in this catalog copy. The named central/scripts helpers and central/.env location are also external prerequisites; use only a separately reviewed upstream installation. Keys: PEXELS_API_KEY, PIXABAY_API_KEY in central/.env (optional — the 5 no-key sources work without them).

Sources

SourceKey?Best forMedia
openversenoneCC web images (Flickr, museums)image
wikimedianonefactual / historical / landmark photosimage
internetarchivenonehistorical/archival images + filmsimage, video
locnonehistorical US prints/photosimage
nasanonespace imagery + videoimage, video
pexelsfree keymodern stock photos + short video clipsimage, video
pixabayfree keymodern photos/illustrations + short clipsimage, video
klipyfree keyGIFs — recommended (free, unlimited, Tenor drop-in)gif
giphyfree keyGIFs — biggest library (prod key needs approval)gif

GIF sources fire only with --type gif. Keys: KLIPY_API_KEY, GIPHY_API_KEY in central/.env. (tenor adapter removed — Google EOL'd the API 2026-06-30.) Verify current provider pricing, quotas and API schema; no unlimited/free tier is established here. its adapter is unverified — assumes Tenor-compatible request/response; verify against docs.klipy.com when you key it. webmedia.py "shrug" --type gif --count 6 --json

Usage

bash
webmedia.py "1950s street scene" --type image --count 8 --json
webmedia.py "rocket launch" --type video --source nasa,internetarchive
webmedia.py "car factory 1930s" --source all --download --out /tmp/cars
  • --source all (default) | nokey (no-key only) | comma list (wikimedia,pexels)
  • --type image|video · --count N · --json · --download --out DIR
  • --download fetches each result's direct media URL and writes attribution.json

(source, author, license, url, page_url) alongside the files.

Record schema

{source, title, url, thumb, dl, page_url, author, license, w, h, type} — dl is the directly-downloadable media URL (None when only a page exists).

The video caveat (important)

Archival sources (Internet Archive, Europeana, LoC) host whole films/documentaries, not single shots. So:

  • Modern single clip → pexels / pixabay (born as short clips, direct MP4). Done.
  • Historical single shot → retrieve the IA film here, then extract the shot:
  • Twelve Labs Marengo search (free 600 min) — pass the IA public MP4 URL, get a

timestamped moment for "car on assembly line", clip with ffmpeg. Semantic, cheap.

  • or PySceneDetect (free, local) to cut the film into shots, then rank keyframes

with CLIP via the muser skill. Fully offline.

Audio: freesound + audio QA

webmedia.py is image/video. For sound effects (real, CC-licensed) and for judging audio (since Claude can't hear), two sibling scripts live in central/scripts/:

  • `freesound-fetch.py "<query>" [count] [max_sec] [out_dir]` — searches freesound.org

and downloads short hq-mp3 previews. Prints one JSON line per file with license/user for attribution. Key: FREESOUND_API_KEY in central/.env (token-based read; full originals would need OAuth — previews suffice for SFX).

  • `audio-judge.py <file> "<target>"` — sends the clip to OpenAI gpt-audio

(audio-native) and returns JSON {heard, score, matches, suggestion}, enabling a generate/fetch → judge → iterate loop. Use only the explicitly configured provider key/source; never search unrelated .env files for a usable key or override a local endpoint/key to force paid cloud usage. Pads sub-2s clips so the speech-tuned model doesn't refuse. Caveat: it reliably describes audio and filters obvious mismatches, but it is NOT a trustworthy judge of subjective qualities like "grating" — it labels nearly any beep "sharp/high-pitched". Use it to cull, not to make the final aesthetic call; confirm by ear.

Downloads need an authorized output directory, HTTPS allowlisted destinations, bounded redirects/bytes/time and non-overwriting filenames. Verify the original asset page/license, commercial/redistribution/attribution and subject rights; preview availability is not a license. Hosted semantic search/audio judging transmits media and can incur costs, requiring destination/payload/budget authorization. Promotional credits and model hearing claims are historical, not verified capabilities.

Where this fits

This is the internet-retrieval capability — peer to muser (local semantic search) and fal (generate). A future media router would fan out across all three and rank candidates by relevance (CLIP), handing aesthetic spreads to lookdev. Don't build that router until the model demonstrably mis-routes without it.

Limitations

  • Results depend on third-party API availability, quotas, credentials, and license metadata quality.
  • License tags and attribution fields must still be reviewed before commercial or public use.
  • Relevance ranking can find plausible assets, but final aesthetic fit, brand safety, and audio suitability require human inspection.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
47,054
Repository forks
6,853
7-day trend score
54

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sickn33/agentic-awesome-skills/web-media-getter/badge)](https://verified-skill.com/skills/sickn33/agentic-awesome-skills/web-media-getter)

Something wrong with this skill or its page? Tell us.