Adityahulk commited on
Commit
0ed929a
·
1 Parent(s): d5287fd

fixing it for huggingface

Browse files
Files changed (3) hide show
  1. manimator/services/voiceover.py +9 -5
  2. start.sh +1 -0
  3. streamlit_app.py +1 -0
manimator/services/voiceover.py CHANGED
@@ -9,6 +9,9 @@ from typing import Optional, Dict, Any
9
 
10
  logger = logging.getLogger(__name__)
11
 
 
 
 
12
 
13
  # Edge-TTS Voice mapping - high quality neural voices
14
  EDGE_TTS_VOICES = {
@@ -47,11 +50,11 @@ class SimpleElevenLabsService:
47
  if not self.api_key:
48
  logger.warning("ELEVENLABS_API_KEY not set. Will use Edge TTS (free).")
49
 
50
- # Use provided cache_dir or default
51
  if cache_dir:
52
  self.cache_dir = Path(cache_dir) if not isinstance(cache_dir, Path) else cache_dir
53
  else:
54
- self.cache_dir = Path("media/voiceover/elevenlabs")
55
 
56
  # Ensure cache directory exists
57
  self.cache_dir.mkdir(parents=True, exist_ok=True)
@@ -125,8 +128,8 @@ class SimpleElevenLabsService:
125
  try:
126
  import edge_tts
127
 
128
- # Use a separate cache for edge-tts
129
- edge_cache_dir = Path("media/voiceover/edge_tts")
130
  edge_cache_dir.mkdir(parents=True, exist_ok=True)
131
 
132
  # Map the voice name to edge-tts voice
@@ -174,7 +177,8 @@ class SimpleElevenLabsService:
174
  try:
175
  from gtts import gTTS
176
 
177
- gtts_cache_dir = Path("media/voiceover/gtts")
 
178
  gtts_cache_dir.mkdir(parents=True, exist_ok=True)
179
 
180
  content_hash = hashlib.md5(text.encode("utf-8")).hexdigest()
 
9
 
10
  logger = logging.getLogger(__name__)
11
 
12
+ # Get the base directory (2 levels up from this file: manimator/services -> manimator -> texttoanimation)
13
+ BASE_DIR = Path(__file__).parent.parent.parent
14
+
15
 
16
  # Edge-TTS Voice mapping - high quality neural voices
17
  EDGE_TTS_VOICES = {
 
50
  if not self.api_key:
51
  logger.warning("ELEVENLABS_API_KEY not set. Will use Edge TTS (free).")
52
 
53
+ # Use provided cache_dir or default (use absolute path for containerized environments)
54
  if cache_dir:
55
  self.cache_dir = Path(cache_dir) if not isinstance(cache_dir, Path) else cache_dir
56
  else:
57
+ self.cache_dir = BASE_DIR / "media" / "voiceover" / "elevenlabs"
58
 
59
  # Ensure cache directory exists
60
  self.cache_dir.mkdir(parents=True, exist_ok=True)
 
128
  try:
129
  import edge_tts
130
 
131
+ # Use absolute path for edge-tts cache (important for containerized environments)
132
+ edge_cache_dir = BASE_DIR / "media" / "voiceover" / "edge_tts"
133
  edge_cache_dir.mkdir(parents=True, exist_ok=True)
134
 
135
  # Map the voice name to edge-tts voice
 
177
  try:
178
  from gtts import gTTS
179
 
180
+ # Use absolute path for gTTS cache (important for containerized environments)
181
+ gtts_cache_dir = BASE_DIR / "media" / "voiceover" / "gtts"
182
  gtts_cache_dir.mkdir(parents=True, exist_ok=True)
183
 
184
  content_hash = hashlib.md5(text.encode("utf-8")).hexdigest()
start.sh CHANGED
@@ -18,6 +18,7 @@ export DIRECT_MODE=true
18
  # Ensure all required directories exist
19
  mkdir -p media/voiceover/elevenlabs
20
  mkdir -p media/voiceover/gtts
 
21
  mkdir -p media/videos
22
 
23
  # Start Streamlit with Hugging Face-compatible settings
 
18
  # Ensure all required directories exist
19
  mkdir -p media/voiceover/elevenlabs
20
  mkdir -p media/voiceover/gtts
21
+ mkdir -p media/voiceover/edge_tts
22
  mkdir -p media/videos
23
 
24
  # Start Streamlit with Hugging Face-compatible settings
streamlit_app.py CHANGED
@@ -512,6 +512,7 @@ def generate_video_direct(input_type: str, input_data: str, quality: str, catego
512
  media_dir = base_dir / "media"
513
  (media_dir / "voiceover" / "elevenlabs").mkdir(parents=True, exist_ok=True)
514
  (media_dir / "voiceover" / "gtts").mkdir(parents=True, exist_ok=True)
 
515
  (media_dir / "videos").mkdir(parents=True, exist_ok=True)
516
 
517
  for attempt in range(max_retries):
 
512
  media_dir = base_dir / "media"
513
  (media_dir / "voiceover" / "elevenlabs").mkdir(parents=True, exist_ok=True)
514
  (media_dir / "voiceover" / "gtts").mkdir(parents=True, exist_ok=True)
515
+ (media_dir / "voiceover" / "edge_tts").mkdir(parents=True, exist_ok=True)
516
  (media_dir / "videos").mkdir(parents=True, exist_ok=True)
517
 
518
  for attempt in range(max_retries):