Initial commit: add all skills files

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-10 16:52:49 +08:00
commit 6487becf60
396 changed files with 108871 additions and 0 deletions

View File

@@ -0,0 +1,216 @@
# Music Generation Guide
## CLI Usage
```bash
# Instrumental (no vocals)
python scripts/minimax_music.py --prompt "Jazz piano, smooth, relaxing" --instrumental -o jazz.mp3
# With custom lyrics
python scripts/minimax_music.py --prompt "Indie folk, melancholic" --lyrics "[verse]\nStreetlights flicker\nOn empty roads" -o song.mp3
# Auto-generate lyrics from prompt
python scripts/minimax_music.py --prompt "Upbeat pop, energetic, summer vibes" --auto-lyrics -o pop.mp3
# From lyrics file
python scripts/minimax_music.py --prompt "Soulful blues, rainy night" --lyrics-file lyrics.txt -o blues.mp3
# Custom audio settings
python scripts/minimax_music.py --prompt "Lo-fi beats" --instrumental -o lofi.wav --format wav --sample-rate 44100 --bitrate 256000
```
## Programmatic Usage
```python
from minimax_music import generate_music
# Instrumental
result = generate_music(prompt="Jazz piano, smooth", is_instrumental=True)
with open("jazz.mp3", "wb") as f:
f.write(result["audio_bytes"])
# With lyrics
result = generate_music(
prompt="Indie folk, acoustic guitar",
lyrics="[verse]\nWalking through the rain\n[chorus]\nI'll find my way home",
)
# Auto-generate lyrics
result = generate_music(
prompt="Upbeat pop, summer anthem",
lyrics_optimizer=True,
)
# Access metadata
print(f"Duration: {result['duration']}ms")
print(f"Sample rate: {result['sample_rate']}")
print(f"Size: {result['size']} bytes")
```
## Models
| Model | Features |
|-------|----------|
| `music-2.5+` | Recommended. Supports instrumental mode, complete song structures, hi-fi audio |
| `music-2.5` | Standard model. No instrumental mode |
## Prompt Writing
The `prompt` parameter describes music style using comma-separated descriptors:
| Category | Examples |
|----------|----------|
| Genre | Blues, Pop, Rock, Jazz, Electronic, Hip-hop, Folk, Classical |
| Mood | Soulful, Melancholy, Upbeat, Energetic, Peaceful, Dark, Nostalgic |
| Scenario | Rainy night, Summer day, Road trip, Late night, Sunrise |
| Instrumentation | Electric guitar, Piano, Acoustic, Synthesizer, Strings |
| Vocal type | Male vocals, Female vocals, Soft vocals, Powerful vocals |
| Tempo | Slow tempo, Fast tempo, Mid-tempo, Relaxed |
**Example prompts:**
```
"Soulful Blues, Rainy Night, Melancholy, Male Vocals, Slow Tempo"
"Upbeat Pop, Summer Vibes, Female Vocals, Energetic, Synth-heavy"
"Lo-fi Hip-hop, Chill, Relaxed, Instrumental, Piano samples"
"Cinematic Orchestral, Epic, Building tension, Strings and Brass"
```
## Lyrics Format
Use structure tags in brackets to organize song sections:
### Structure Tags
| Tag | Purpose |
|-----|---------|
| `[Intro]` | Opening section (can be instrumental) |
| `[Verse]` / `[Verse 1]` | Story/narrative sections |
| `[Pre-Chorus]` | Build-up before chorus |
| `[Chorus]` | Main hook, typically repeated |
| `[Post Chorus]` | Extension after chorus |
| `[Bridge]` | Contrasting section near end |
| `[Interlude]` | Instrumental break |
| `[Solo]` | Instrumental solo (add direction: "slow, bluesy") |
| `[Outro]` | Closing section |
| `[Break]` | Short pause or transition |
| `[Hook]` | Catchy repeated phrase |
| `[Build Up]` | Tension building section |
| `[Inst]` | Instrumental section |
| `[Transition]` | Section change |
### Backing Vocals & Directions
Use parentheses for backing vocals or performance notes:
```
(Ooh, yeah)
(Harmonize)
(Whispered)
(Fade out...)
```
### Example Lyrics
```
[Intro]
(Soft piano)
[Verse 1]
Streetlights flicker on empty roads
The rain keeps falling, the wind still blows
I'm walking home with nowhere to go
Just memories of what I used to know
[Pre-Chorus]
And I can feel it coming back to me
(Coming back to me)
[Chorus]
Under the neon lights tonight
I'm searching for what feels right
(Oh, feels right)
These city streets will guide me home
I'm tired of feeling so alone
[Verse 2]
Coffee shops and midnight trains
The faces change but the feeling remains
...
[Bridge]
Maybe tomorrow will be different
Maybe I'll finally understand
(Understand...)
[Solo]
(Slow, mournful, bluesy guitar)
[Outro]
(Fade out...)
Under the neon lights...
```
## Audio Settings
| Parameter | Options | Default | Notes |
|-----------|---------|---------|-------|
| `format` | mp3, wav, pcm | mp3 | WAV for highest quality |
| `sample_rate` | 16000, 24000, 32000, 44100 | 44100 | 44100 recommended |
| `bitrate` | 32000, 64000, 128000, 256000 | 256000 | Higher = better quality |
## Generation Modes
### 1. Instrumental Only
```bash
python scripts/minimax_music.py --prompt "Ambient electronic, space theme" --instrumental -o ambient.mp3
```
- Requires `music-2.5+` model
- Only `prompt` needed, no lyrics
### 2. With Custom Lyrics
```bash
python scripts/minimax_music.py --prompt "Pop ballad, emotional" --lyrics "[verse]\nYour lyrics here" -o ballad.mp3
```
- Provide both `prompt` (style) and `lyrics` (words + structure)
### 3. Auto-Generated Lyrics
```bash
python scripts/minimax_music.py --prompt "Rock anthem about freedom" --auto-lyrics -o rock.mp3
```
- System generates lyrics from prompt
- Good for quick generation when lyrics aren't critical
## Limits
- **Prompt:** max 2,000 characters
- **Lyrics:** 13,500 characters
- **Duration:** ~25-30 seconds per generation (varies)
- **URL expiration:** 24 hours (when using URL output mode)
## Best Practices
1. **Layer style descriptors** — Combine genre + mood + instrumentation for precise results
2. **Use structure tags** — Even simple `[verse]` `[chorus]` improves arrangement
3. **Include backing vocal cues**`(Ooh)`, `(Yeah)` add production polish
4. **Match prompt to lyrics mood** — Conflicting prompt/lyrics produce inconsistent results
5. **Instrumental for backgrounds** — Use `--instrumental` for BGM, avoiding vocal distractions
6. **High bitrate for production** — Use 256000 for final assets, lower for drafts
## Common Use Cases
| Use Case | Command |
|----------|---------|
| Background music | `--prompt "Lo-fi, calm, ambient" --instrumental` |
| Landing page hero | `--prompt "Cinematic, inspiring, building" --instrumental` |
| Podcast intro | `--prompt "Upbeat, energetic, short" --instrumental` |
| Demo song | `--prompt "Pop, catchy" --auto-lyrics` |
| Custom jingle | `--prompt "Happy, bright, corporate" --lyrics "[hook]\nYour brand name"` |
## Error Handling
| Error Code | Meaning | Solution |
|------------|---------|----------|
| 1002 | Rate limit | Wait and retry |
| 1004 | Auth failed | Check API key |
| 1008 | Insufficient balance | Top up account |
| 1026 | Content flagged | Rephrase prompt/lyrics |
| 2013 | Invalid parameters | Check prompt/lyrics length |