media

Route media requests to GIF search, music generation, spectrogram, and Spotify control sub-skills.

6|1|Updated May 11, 2026
One-click install
npx skills add https://github.com/yakeworld/Synthos --skill media-yakeworld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: media
Source: https://github.com/yakeworld/Synthos/tree/main/skills/extended/external-automation/automation-skills/media
Command: npx skills add https://github.com/yakeworld/Synthos --skill media-yakeworld

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Media-related requests span four distinct domains—GIF search, AI music generation, audio visualization, and Spotify playback control—and this Skill acts as a parent router that dispatches each request to the correct sub-skill instead of executing media operations itself. ## Core Features & Use Cases - Automatic Sub-Skill Routing: Detects whether a request concerns GIFs (gif-search via Tenor API), music generation (heartmula via HeartMuLa models), audio spectrograms (songsee), or Spotify account control (spotify via Hermes toolset) and delegates accordingly. - Contract Enforcement: Validates that inputs match the IO contract (request as string, context as dict) and rejects out-of-scope requests like video editing with explicit error messages and recovery suggestions. - Use Case: A user asks to generate a 30-second lofi track and later search a reaction GIF; the router delegates the first to heartmula and the second to gif-search without any manual skill selection. ## Quick Start Ask the assistant to handle a media task such as searching a GIF, generating a song from lyrics, visualizing an audio file, or playing music on Spotify, and it will route the request to the matching sub-skill.

Frequently Asked Questions about media

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search and download GIFs with the Tenor API?

The gif-search sub-skill queries the Tenor API v2 search endpoint using curl with a TENOR_API_KEY environment variable, then extracts GIF or tinygif URLs with jq. Results can be downloaded locally with curl or embedded directly in Markdown.

How do I generate music from lyrics using open-source models?

The heartmula sub-skill uses HeartMuLa, an Apache-2.0 music foundation model family, to generate full songs from bracketed lyrics and comma-separated tags. It requires a Python 3.10 environment, model checkpoints, and ideally a GPU with at least 8GB VRAM using lazy loading.

Can I control Spotify playback without a Premium account?

Playback-mutating actions like play, pause, and volume require Spotify Premium, but search, playlist management, and library operations work on Free accounts. The spotify sub-skill reports a 403 Premium required error without retrying when this limit is hit.

What audio formats does the spectrogram generator support?

The songsee sub-skill decodes WAV and MP3 files natively through its Go CLI. Other audio formats require ffmpeg to be installed on the system for conversion before visualization.

What happens when a media request does not match any sub-skill?

Requests outside the four sub-skill domains, such as video editing, are rejected with a structured error containing the request context and recovery suggestions. The parent router never executes media operations directly or silently fails.