home / skills / openclaw / skills / free-resource

free-resource skill

/skills/darknoah/free-resource

This skill helps you find and download royalty-free media from Pixabay Freesound and Jamendo, speeding content creation.

npx playbooks add skill openclaw/skills --skill free-resource

Review the files below or copy the command above to add this skill to your agents.

Files (7)
SKILL.md
4.0 KB
---
name: free-resource
description: "Search and retrieve royalty-free media from 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."
---

# Free Resource

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

## Quick Start

```bash
# 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/pixabay.ts search-images --query "nature"
```

## Configuration

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

```json
{
  "pixabay": {
    "api_key": "YOUR_PIXABAY_API_KEY"
  },
  "freesound": {
    "api_token": "YOUR_FREESOUND_TOKEN"
  },
  "jamendo": {
    "client_id": "YOUR_JAMENDO_CLIENT_ID"
  }
}
```

### Get API Keys

| Platform | Type | Get API Key |
|----------|------|-------------|
| Pixabay | Images/Videos | https://pixabay.com/accounts/register/ |
| Freesound | Audio Effects | https://freesound.org/apiv2/apply |
| Jamendo | Music/BGM | https://devportal.jamendo.com/ |

### API Key Priority

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

---

## Pixabay (Images & Videos)

### Search Images

```bash
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

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

### Download

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

---

## Freesound (Audio Effects)

### Search Sounds

```bash
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

```bash
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

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

### Download Preview

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

---

## Jamendo (Music & BGM)

### Search Music

```bash
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

```bash
# 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

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

### Download Track

```bash
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`.

Overview

This skill searches and retrieves royalty-free images, videos, sound effects, and music from Pixabay, Freesound, and Jamendo. It provides unified search, filtering, and download commands so you can quickly find stock photos, vectors, clips, audio effects, or background music and save them locally.

How this skill works

The skill queries each provider's public API using an API key (CLI flag, environment variable, or config file). It supports provider-specific filters (image type, orientation, duration, tags, speed, etc.), previews result metadata, and can download selected files to a specified output path. Command-line scripts encapsulate search, detail, and download workflows for each service.

When to use it

  • When you need royalty-free images or videos for web, design, or marketing assets.
  • When you require sound effects or short audio clips for video or app projects.
  • When you want background music or instrumental tracks for videos, podcasts, or games.
  • When you need to filter large media libraries by metadata (orientation, duration, tags, popularity).
  • When you want a reproducible CLI workflow to fetch and store free media offline.

Best practices

  • Store API credentials in a config.json or environment variables and prefer CLI flags for ephemeral use.
  • Use provider-specific filters to narrow results and reduce rate-limit impact (e.g., image-type, duration, tags).
  • Preview metadata and sample URLs before downloading to avoid large unnecessary transfers.
  • Respect each provider's usage and attribution rules even for royalty-free content.
  • Limit per-page values to what you need; paginate results for large batch operations.

Example use cases

  • Search and download horizontal nature photos for a blog header with pixabay search-images and download flags.
  • Find short drum or impact sound effects with Freesound using duration filters and save the preview as an mp3.
  • Locate instrumental background tracks on Jamendo by tag and speed filters, then download a selected track for a video project.
  • Batch-export multiple Pixabay videos for a montage by paginating search results and saving files to a project folder.
  • Quickly assemble a media library for a prototype by scripting searches across all three providers and saving outputs.

FAQ

How do I provide API keys?

You can pass keys via CLI flags, set environment variables (PIXABAY_API_KEY, FREESOUND_API_TOKEN, JAMENDO_CLIENT_ID), or place them in config.json created from the example template.

Can I filter results by duration or image orientation?

Yes. Each provider exposes filters: Pixabay supports image-type and orientation, Freesound supports duration and type filters, and Jamendo supports tags, vocal/instrumental, and speed.