# Media Info

> 获取音乐和影视相关信息，包括网易云音乐排行榜、歌词搜索、电影票房排行、电视剧收视率和网剧排行。Use when users need music charts, lyrics, movie box office, TV ratings, or entertainment rankings.

- Skill: `vikiboss/media-info` (Agent Skill)
- Install (CLI): `npx skillmds add vikiboss/media-info`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vikiboss/media-info/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: vikiboss (https://skillmd.com/u/vikiboss)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/vikiboss/media-info

---


# Media Information Skill

Get music and movie information including charts, lyrics, box office, and ratings.

## Available Information

1. **Netease Music Ranks** - Music chart lists
2. **Music Rank Details** - Detailed song lists
3. **Lyrics Search** - Find song lyrics
4. **Movie Information** - All movies database
5. **Movie Box Office** - Real-time box office rankings
6. **TV Ratings** - TV drama ratings
7. **Web Series Rankings** - Online series popularity

## API Endpoints

| Type | Endpoint | Method |
|------|----------|--------|
| Music Ranks | `/v2/ncm-rank/list` | GET |
| Rank Detail | `/v2/ncm-rank/{id}` | GET |
| Lyrics | `/v2/lyric` | POST |
| All Movies | `/v2/maoyan/all/movie` | GET |
| Box Office | `/v2/maoyan/realtime/movie` | GET |
| TV Ratings | `/v2/maoyan/realtime/tv` | GET |
| Web Series | `/v2/maoyan/realtime/web` | GET |

## Quick Examples

### Netease Music Charts

```python
import requests

# Get all music rank lists
response = requests.get('https://60s.viki.moe/v2/ncm-rank/list')
ranks = response.json()

print("🎵 网易云音乐榜单")
for rank in ranks['data']:
    print(f"· {rank['name']} (ID: {rank['id']})")

# Get specific rank details
rank_id = '3778678'  # 飙升榜
response = requests.get(f'https://60s.viki.moe/v2/ncm-rank/{rank_id}')
songs = response.json()

print(f"\n🎵 {songs['name']}")
for i, song in enumerate(songs['songs'][:10], 1):
    print(f"{i}. {song['name']} - {song['artist']}")
```

### Lyrics Search

```python
# Search for lyrics
data = {'keyword': '稻香 周杰伦'}
response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
result = response.json()

print(f"🎤 {result['song']} - {result['artist']}")
print(f"\n{result['lyrics']}")
```

### Movie Box Office

```python
# Get real-time box office
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
movies = response.json()

print("🎬 实时电影票房")
for movie in movies['data'][:5]:
    print(f"{movie['rank']}. {movie['name']}")
    print(f"   票房：{movie['box_office']}")
    print(f"   上座率：{movie['attendance_rate']}")
```

### TV Ratings

```python
# Get TV drama ratings
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/tv')
shows = response.json()

print("📺 电视剧收视率排行")
for show in shows['data'][:5]:
    print(f"{show['rank']}. {show['name']}")
    print(f"   收视率：{show['rating']}")
```

### Web Series Rankings

```python
# Get web series rankings
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/web')
series = response.json()

print("📱 网剧热度排行")
for s in series['data'][:5]:
    print(f"{s['rank']}. {s['name']}")
    print(f"   热度：{s['popularity']}")
```

## Use Cases

### Music Recommendation Bot

```python
def get_trending_music():
    # Get soaring charts (飙升榜)
    response = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678')
    songs = response.json()
    
    message = "🎵 当前最火的歌曲：\n\n"
    for i, song in enumerate(songs['songs'][:5], 1):
        message += f"{i}. {song['name']} - {song['artist']}\n"
    
    return message
```

### Movie Box Office Tracker

```python
def get_box_office_summary():
    response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
    movies = response.json()
    
    top_3 = movies['data'][:3]
    
    summary = "🎬 今日票房TOP3\n\n"
    for movie in top_3:
        summary += f"🏆 {movie['rank']}. {movie['name']}\n"
        summary += f"   💰 票房：{movie['box_office']}\n"
        summary += f"   📊 上座率：{movie['attendance_rate']}\n\n"
    
    return summary
```

### Lyrics Finder

```python
def find_lyrics(song_name, artist=''):
    keyword = f"{song_name} {artist}".strip()
    data = {'keyword': keyword}
    
    response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
    result = response.json()
    
    if result.get('lyrics'):
        return f"🎤 {result['song']} - {result['artist']}\n\n{result['lyrics']}"
    else:
        return "未找到歌词"
```

### Entertainment Digest

```python
def get_entertainment_digest():
    # Music
    music_rank = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678').json()
    top_song = music_rank['songs'][0]
    
    # Movies
    movies = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie').json()
    top_movie = movies['data'][0]
    
    # TV shows
    shows = requests.get('https://60s.viki.moe/v2/maoyan/realtime/tv').json()
    top_show = shows['data'][0]
    
    digest = f"""
🎭 娱乐资讯速递

🎵 音乐：{top_song['name']} - {top_song['artist']}
🎬 电影：{top_movie['name']} 票房{top_movie['box_office']}
📺 电视剧：{top_show['name']} 收视率{top_show['rating']}
    """
    
    return digest
```

## Example Interactions

### User: "现在什么歌最火？"

```python
response = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678')
songs = response.json()

print("🎵 网易云飙升榜 TOP 5")
for i, song in enumerate(songs['songs'][:5], 1):
    print(f"{i}. {song['name']} - {song['artist']}")
```

### User: "帮我找《稻香》的歌词"

```python
data = {'keyword': '稻香'}
response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
result = response.json()

print(f"🎤 {result['song']} - {result['artist']}\n")
print(result['lyrics'])
```

### User: "今天电影票房排行"

```python
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
movies = response.json()

print("🎬 实时票房排行")
for movie in movies['data'][:5]:
    print(f"{movie['rank']}. {movie['name']} - {movie['box_office']}")
```

## Best Practices

1. **Music Ranks**: Cache rank lists as they don't change frequently
2. **Lyrics**: Include artist name in search for better accuracy
3. **Box Office**: Data updates frequently, show timestamp
4. **Error Handling**: Handle cases where lyrics or data not found
5. **Formatting**: Present data in a clean, readable format

## Related Resources

- [60s API Documentation](https://docs.60s-api.viki.moe)
- [GitHub Repository](https://github.com/vikiboss/60s)

