Skip to main content
GET
https://api.pictory.ai
/
pictoryapis
/
v1
/
music
/
genres
Get Music Genres
curl --request GET \
  --url https://api.pictory.ai/pictoryapis/v1/music/genres \
  --header 'Authorization: <authorization>'
[
  "Film Score (Electronic)",
  "Orchestral Hip Hop",
  "Dramedy",
  "Drone",
  "Horror",
  "Trip Hop",
  "Gypsy Jazz",
  "Polka",
  "Alternative Grunge",
  "Classic Rock",
  "Metal",
  "Indie Rock",
  "Pop Rock",
  "Punk Rock",
  "Acid Jazz",
  "Acoustic Blues",
  "Bebop",
  "Dixieland",
  "Electric Blues",
  "Exotica",
  "Jazz Ballad",
  "Jazz Fusion",
  "Latin Jazz",
  "Lounge",
  "Ragtime",
  "Smooth Jazz",
  "Swing",
  "Americana",
  "Bluegrass",
  "Country Folk",
  "Country Pop",
  "Country Rock",
  "Breakbeat",
  "Dance Pop",
  "Dubstep",
  "House",
  "Industrial",
  "Techno",
  "Trance",
  "Ambient",
  "Chill Out",
  "Downtempo",
  "Soft Rock",
  "Surf Rock",
  "African",
  "Brazilian / Samba",
  "Cuban / Salsa",
  "Indian",
  "Island",
  "Japanese",
  "Middle Eastern",
  "Reggae",
  "Reggaeton",
  "Tango",
  "Solo Piano",
  "Big Band",
  "Electro Rock",
  "Ska",
  "World Elements",
  "Synthwave",
  "Chiptune",
  "Acoustic",
  "Folk Pop",
  "Neo Soul",
  "R&B Pop",
  "Soul",
  "Big Beat",
  "Dancehall",
  "Afrobeat",
  "French",
  "European",
  "British",
  "New Wave",
  "Nu-Folk",
  "Lo-Fi",
  "Dub",
  "Drill",
  "Latin American",
  "Bachata",
  "Cumbia",
  "Rock-n-Roll",
  "Asian",
  "Celtic",
  "Spanish / Flamenco",
  "Bush Ballad",
  "Film Score (Orchestral)",
  "Folk Rock",
  "Gangsta",
  "Classic Hip Hop",
  "Trap",
  "20th Century",
  "Baroque",
  "Classical Period",
  "Romantic Period",
  "Adult Contemporary",
  "Bubblegum",
  "Easy Listening",
  "Electro Pop",
  "Indie Pop",
  "Singer-Songwriter",
  "Disco",
  "Funk",
  "Italian",
  "Klezmer",
  "Australiana"
]

Overview

Retrieve a comprehensive list of available music genres for filtering and searching music tracks. Use these genre values to find music that matches the specific musical style and sound of your video content.
You need a valid API key to use this endpoint. Get your API key from the API Access page in your Pictory dashboard.

API Endpoint

GET https://api.pictory.ai/pictoryapis/v1/music/genres

Request Parameters

Headers

Authorization
string
required
API key for authentication (starts with pictai_)
Authorization: YOUR_API_KEY

Response

genres
array of strings
Array of available music genre names. Each genre represents a distinct musical style or category for filtering music tracks in search queries.

Response Examples

[
  "Film Score (Electronic)",
  "Orchestral Hip Hop",
  "Dramedy",
  "Drone",
  "Horror",
  "Trip Hop",
  "Gypsy Jazz",
  "Polka",
  "Alternative Grunge",
  "Classic Rock",
  "Metal",
  "Indie Rock",
  "Pop Rock",
  "Punk Rock",
  "Acid Jazz",
  "Acoustic Blues",
  "Bebop",
  "Dixieland",
  "Electric Blues",
  "Exotica",
  "Jazz Ballad",
  "Jazz Fusion",
  "Latin Jazz",
  "Lounge",
  "Ragtime",
  "Smooth Jazz",
  "Swing",
  "Americana",
  "Bluegrass",
  "Country Folk",
  "Country Pop",
  "Country Rock",
  "Breakbeat",
  "Dance Pop",
  "Dubstep",
  "House",
  "Industrial",
  "Techno",
  "Trance",
  "Ambient",
  "Chill Out",
  "Downtempo",
  "Soft Rock",
  "Surf Rock",
  "African",
  "Brazilian / Samba",
  "Cuban / Salsa",
  "Indian",
  "Island",
  "Japanese",
  "Middle Eastern",
  "Reggae",
  "Reggaeton",
  "Tango",
  "Solo Piano",
  "Big Band",
  "Electro Rock",
  "Ska",
  "World Elements",
  "Synthwave",
  "Chiptune",
  "Acoustic",
  "Folk Pop",
  "Neo Soul",
  "R&B Pop",
  "Soul",
  "Big Beat",
  "Dancehall",
  "Afrobeat",
  "French",
  "European",
  "British",
  "New Wave",
  "Nu-Folk",
  "Lo-Fi",
  "Dub",
  "Drill",
  "Latin American",
  "Bachata",
  "Cumbia",
  "Rock-n-Roll",
  "Asian",
  "Celtic",
  "Spanish / Flamenco",
  "Bush Ballad",
  "Film Score (Orchestral)",
  "Folk Rock",
  "Gangsta",
  "Classic Hip Hop",
  "Trap",
  "20th Century",
  "Baroque",
  "Classical Period",
  "Romantic Period",
  "Adult Contemporary",
  "Bubblegum",
  "Easy Listening",
  "Electro Pop",
  "Indie Pop",
  "Singer-Songwriter",
  "Disco",
  "Funk",
  "Italian",
  "Klezmer",
  "Australiana"
]

Code Examples

Replace YOUR_API_KEY with your actual API key that starts with pictai_
curl --request GET \
  --url https://api.pictory.ai/pictoryapis/v1/music/genres \
  --header 'Authorization: YOUR_API_KEY' \
  --header 'accept: application/json' | python -m json.tool

Usage Notes

Use these exact genre values when searching for music to ensure valid selection from available categories. Genre values are case-sensitive and must match exactly as returned by this endpoint.
Genre Diversity: The API provides over 100 distinct genre options spanning diverse musical styles—from classical (Baroque, Romantic Period) to contemporary (Trap, Synthwave) to world music (African, Middle Eastern, Celtic)—enabling precise matching of music style to your video’s theme.

Common Use Cases

1. Populate a Genre Selector

Fetch all available genres to populate a dropdown or selection interface in your application:
genres = requests.get(
    "https://api.pictory.ai/pictoryapis/v1/music/genres",
    headers={"Authorization": "YOUR_API_KEY"}
).json()

# Use genres to populate UI dropdown
genre_options = [{"label": genre, "value": genre} for genre in genres]

2. Categorize Genres by Music Family

Organize genres into broader musical categories for simplified user selection:
const response = await fetch('https://api.pictory.ai/pictoryapis/v1/music/genres', {
  headers: { 'Authorization': 'YOUR_API_KEY' }
});
const genres = await response.json();

// Categorize genres
const rockGenres = genres.filter(g =>
  g.includes('Rock') && !g.includes('Folk')
);
const jazzGenres = genres.filter(g =>
  g.includes('Jazz')
);
const classicalGenres = genres.filter(g =>
  g.includes('Classical') || g.includes('Baroque') || g.includes('Romantic')
);
const electronicGenres = genres.filter(g =>
  ['House', 'Techno', 'Trance', 'Dubstep', 'Electro'].some(e => g.includes(e))
);

3. Validate User Selection

Ensure user-selected genres are valid before using them in music search requests:
valid_genres = requests.get(
    "https://api.pictory.ai/pictoryapis/v1/music/genres",
    headers={"Authorization": "YOUR_API_KEY"}
).json()

user_genre = "Synthwave"
if user_genre in valid_genres:
    # Proceed with music search using this genre
    print(f"Searching for {user_genre} music...")
else:
    print("Invalid genre selected")

4. Display Genre Categories

Create a user-friendly categorized display of genres:
import requests

genres = requests.get(
    "https://api.pictory.ai/pictoryapis/v1/music/genres",
    headers={"Authorization": "YOUR_API_KEY"}
).json()

# Organize by main category
categories = {
    "Rock": [g for g in genres if 'Rock' in g and 'Folk' not in g],
    "Jazz": [g for g in genres if 'Jazz' in g],
    "Electronic": [g for g in genres if any(x in g for x in ['House', 'Techno', 'Electronic', 'Electro'])],
    "Classical": [g for g in genres if any(x in g for x in ['Classical', 'Baroque', 'Romantic', '20th Century'])],
    "Hip Hop": [g for g in genres if 'Hip Hop' in g or g in ['Trap', 'Gangsta', 'Drill']],
    "World": [g for g in genres if any(x in g for x in ['African', 'Asian', 'Brazilian', 'Cuban', 'Indian', 'Japanese', 'Middle Eastern', 'Reggae', 'Celtic', 'Spanish'])],
    "Country": [g for g in genres if 'Country' in g or g in ['Americana', 'Bluegrass']],
    "Pop": [g for g in genres if 'Pop' in g and 'Hip Hop' not in g]
}

for category, genre_list in categories.items():
    print(f"\n{category}:")
    for genre in sorted(genre_list):
        print(f"  - {genre}")