mood-music
GitHub根据用户情绪或上传的媒体内容,调用 Loudly API 生成匹配的音乐。通过两步流程:先获取支持的流派列表,再映射情绪并生成曲目,支持文本、图像和音频输入。
Trigger Scenarios
Install
npx skills add jegly/Box --skill mood-music -g -y
SKILL.md
Frontmatter
{
"name": "mood-music",
"metadata": {
"homepage": "https:\/\/github.com\/google-ai-edge\/gallery\/tree\/main\/skills\/featured\/mood-music",
"require-secret": true,
"require-secret-description": "you can get api key from https:\/\/www.loudly.com\/developers\/apps after registering an account"
},
"description": "A skill to suggest or play music based on the user's mood, including analyzing images or audio, by querying available genres and generating music via the Loudly API."
}
Mood Music
Instructions
You MUST use a strict two-step process to generate music. This ensures you only request musical genres that are currently supported by the Loudly API.
Step 1: Fetch Available Genres
Call the run_js tool with get_genres.html as the script name and an empty JSON payload ({}).
- This will return a list of currently available genres and their descriptions.
- You MUST review this list to understand the available musical palettes.
Step 2: Analyze and Generate
Once you have the valid genres, map the user's request to the best fit and call run_js with index.html to generate the track.
Handling Inputs:
- Text Inputs: Translate abstract mood requests into a concrete, matching genre from the fetched list, along with an appropriate energy level.
- Media Inputs (Images/Audio): If the user provides an image or audio clip, analyze the media to determine its underlying mood, atmosphere, or vibe. Translate this analysis strictly into one of the fetched genres.
Generation Payload (for index.html):
Your JSON payload for index.html MUST strictly use these text fields to represent the vibe:
- genre: String, Required. MUST be an exact match to a genre name retrieved in Step 1.
- genre_blend: String, Optional. A secondary genre to blend (also from Step 1).
- duration: Integer, Optional. Length in seconds (30-420). Default is 120.
- energy: String, Optional. Vibe ("low", "high", "original").
- bpm: Integer, Optional. Specific tempo in Beats Per Minute.
Invocation Triggers
You should invoke this skill when the user:
- Asks for music for a specific mood.
- Asks for playlist ideas for a vibe.
- Uploads an image or audio clip and asks for music to match it.
Version History
- 7897895 Current 2026-07-24 17:00


