Free Resource

API key required
Other

Search and retrieve royalty-free media from Pexels (photos/videos), Pixabay (images/videos), Freesound (audio effects), and Jamendo (music/BGM). Use when the user needs to find stock photos, illustrations, vectors, videos, sound effects, or background music, download media, or query media libraries with filters.

Install

openclaw skills install free-resource

Free Resource

Search and download royalty-free photos, images, videos, sound effects, and music from Pexels, Pixabay, Freesound, and Jamendo.

Quick Start

# 1. Copy config template and fill in your API keys
cp config.example.json config.json

# 2. Edit config.json with your API keys

# 3. Use without passing API keys
bun ./scripts/jamendo.ts search --query "background" --limit 5
bun ./scripts/freesound.ts search --query "piano"
bun ./scripts/pexels.ts search-photos --query "nature"
bun ./scripts/pexels.ts search-videos --query "ocean waves"
bun ./scripts/pixabay.ts search-images --query "nature"

Configuration

API keys are stored in config.json. Copy config.example.json and fill in your keys:

{
  "pexels": {
    "api_key": "YOUR_PEXELS_API_KEY"
  },
  "pixabay": {
    "api_key": "YOUR_PIXABAY_API_KEY"
  },
  "freesound": {
    "api_token": "YOUR_FREESOUND_TOKEN"
  },
  "jamendo": {
    "client_id": "YOUR_JAMENDO_CLIENT_ID"
  }
}

Get API Keys

PlatformTypeGet API Key
PexelsPhotos/Videoshttps://www.pexels.com/api/
PixabayImages/Videoshttps://pixabay.com/accounts/register/
FreesoundAudio Effectshttps://freesound.org/apiv2/apply
JamendoMusic/BGMhttps://devportal.jamendo.com/

API Key Priority

  1. CLI flag: --key, --token, or --client-id
  2. Environment variable: PEXELS_API_KEY, PIXABAY_API_KEY, FREESOUND_API_TOKEN, JAMENDO_CLIENT_ID
  3. Config file: config.json

Pexels (Photos & Videos)

Search Photos

bun ./scripts/pexels.ts search-photos --query "city skyline" --orientation landscape --per-page 5

Flags: --query, --orientation (landscape|portrait|square), --size (large|medium|small), --color, --locale, --page, --per-page (1-80), --output (save to file).

Search Videos

bun ./scripts/pexels.ts search-videos --query "ocean waves" --orientation landscape --size medium --per-page 5

Flags: --query, --orientation (landscape|portrait|square), --size (large|medium|small), --locale, --page, --per-page (1-80), --output.

Download

bun ./scripts/pexels.ts download --url "https://images.pexels.com/..." --output "/path/to/save.jpg"

Always include Pexels and creator attribution when possible.


Pixabay (Images & Videos)

Search Images

bun ./scripts/pixabay.ts search-images --query "yellow flowers" --image-type photo --orientation horizontal --per-page 5

Flags: --query, --id, --lang, --image-type (all|photo|illustration|vector), --orientation (all|horizontal|vertical), --category, --colors (comma-separated), --min-width, --min-height, --editors-choice, --safesearch, --order (popular|latest), --page, --per-page (5-200), --output (save to file).

Search Videos

bun ./scripts/pixabay.ts search-videos --query "ocean waves" --video-type film --per-page 5

Download

bun ./scripts/pixabay.ts download --url "https://pixabay.com/get/..." --output "/path/to/save.jpg"

Freesound (Audio Effects)

Search Sounds

bun ./scripts/freesound.ts search --query "piano note" --page-size 10

Flags: --query, --filter, --sort, --fields, --page, --page-size (max 150), --group-by-pack, --output.

Filter Examples

bun ./scripts/freesound.ts search --query "drum" --filter "duration:[0 TO 2]"
bun ./scripts/freesound.ts search --query "ambient" --filter "type:wav"
bun ./scripts/freesound.ts search --query "explosion" --sort downloads_desc

Get Sound Details

bun ./scripts/freesound.ts get --id 12345 --fields id,name,previews,duration

Download Preview

bun ./scripts/freesound.ts download --id 12345 --output ./sound.mp3

Jamendo (Music & BGM)

Search Music

bun ./scripts/jamendo.ts search --query "rock" --limit 10

Flags: --query, --tags, --fuzzytags, --artist-name, --album-name, --order, --limit (max 200), --offset, --output.

Music Attribute Filters

# Instrumental background music
bun ./scripts/jamendo.ts search --query "background" --vocalinstrumental instrumental

# Search by tags (AND logic)
bun ./scripts/jamendo.ts search --tags "electronic+chill" --order popularity_total_desc

# Search by speed
bun ./scripts/jamendo.ts search --query "energetic" --speed high+veryhigh

Get Track Details

bun ./scripts/jamendo.ts track --id 12345 --include musicinfo,stats

Download Track

bun ./scripts/jamendo.ts download --id 12345 --output ./music.mp3

API Reference

For full parameter tables, response field descriptions, and rate limit details, see ./references/api_reference.md.