You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RedditVideoMakerBot/utils/sentiment_map.py

41 lines
1.6 KiB

# Maps sentiment → (background_video, background_audio)
BACKGROUND_MAP = {
"sad": ("minecraft", "lofi"), # slow, melancholic
"happy": ("fall-guys", "chill-summer"),# upbeat, fun
"angry": ("gta", "lofi"), # lofi keeps intensity without distraction
"mysterious": ("csgo-surf", "lofi-2"), # lofi-2 is more atmospheric
"funny": ("cluster-truck", "chill-summer"),# light and playful
"dramatic": ("rocket-league", "lofi"), # lofi under dramatic = tension
"wholesome": ("steep", "chill-summer"),# warm and positive
"scary": ("minecraft-2", "lofi-2"), # lofi-2 is darker/moodier
}
# Maps sentiment → OpenAI voice name
OPENAI_VOICE_MAP = {
"sad": "nova",
"happy": "shimmer",
"angry": "onyx",
"mysterious": "echo",
"funny": "fable",
"dramatic": "alloy",
"wholesome": "nova",
"scary": "onyx",
}
# Maps sentiment → ElevenLabs voice name
ELEVENLABS_VOICE_MAP = {
"sad": "Brian - Deep, Resonant and Comforting",
"happy": "Jessica - Playful, Bright, Warm",
"angry": "Adam - Dominant, Firm",
"mysterious": "Callum - Husky Trickster",
"funny": "Laura - Enthusiast, Quirky Attitude",
"dramatic": "George - Warm, Captivating Storyteller",
"wholesome": "Matilda - Knowledgable, Professional",
"scary": "Harry - Fierce Warrior",
}
# All valid sentiment labels
VALID_SENTIMENTS = list(BACKGROUND_MAP.keys())
# Fallback if detection fails — maps to rocket-league + lofi + alloy
DEFAULT_SENTIMENT = "dramatic"