mgbam commited on
Commit
d491544
·
verified ·
1 Parent(s): 2594e34

Update agents/voiceover_agent.py

Browse files
Files changed (1) hide show
  1. agents/voiceover_agent.py +32 -10
agents/voiceover_agent.py CHANGED
@@ -1,17 +1,39 @@
 
 
 
1
  class VoiceoverAgent:
2
  def __init__(self):
3
  self.api_key = os.getenv("ELEVENLABS_API_KEY")
4
-
 
 
5
  def generate_voiceover(self, text):
6
  if not self.api_key:
 
7
  return None
8
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  try:
10
- response = requests.post(
11
- "https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM",
12
- headers={"xi-api-key": self.api_key},
13
- json={"text": text, "voice_settings": {"stability": 0.7, "similarity_boost": 0.8}}
14
- )
15
- return response.content
16
- except:
17
- return None
 
 
1
+ import os
2
+ import requests
3
+
4
  class VoiceoverAgent:
5
  def __init__(self):
6
  self.api_key = os.getenv("ELEVENLABS_API_KEY")
7
+ self.voice_id = "21m00Tcm4TlvDq8ikWAM" # Rachel (default female voice)
8
+ self.model = "eleven_monolingual_v1"
9
+
10
  def generate_voiceover(self, text):
11
  if not self.api_key:
12
+ print("Error: ELEVENLABS_API_KEY not found in environment variables.")
13
  return None
14
+
15
+ url = f"https://api.elevenlabs.io/v1/text-to-speech/{self.voice_id}"
16
+ headers = {
17
+ "xi-api-key": self.api_key,
18
+ "Accept": "audio/mpeg",
19
+ "Content-Type": "application/json"
20
+ }
21
+ payload = {
22
+ "text": text,
23
+ "model_id": self.model,
24
+ "voice_settings": {
25
+ "stability": 0.7,
26
+ "similarity_boost": 0.8
27
+ }
28
+ }
29
+
30
  try:
31
+ response = requests.post(url, headers=headers, json=payload)
32
+ if response.status_code == 200:
33
+ return response.content # audio bytes
34
+ else:
35
+ print(f"[Voiceover Error] HTTP {response.status_code}: {response.text}")
36
+ return None
37
+ except requests.exceptions.RequestException as e:
38
+ print(f"[Voiceover Exception] {e}")
39
+ return None