diff --git a/app/api/speaking.py b/app/api/speaking.py index 42da89f..e61d0e0 100644 --- a/app/api/speaking.py +++ b/app/api/speaking.py @@ -16,7 +16,7 @@ speaking_router = APIRouter() class Video(BaseModel): text: str - avatar: Optional[str] = None + avatar: str @speaking_router.post( '/media', @@ -75,13 +75,3 @@ async def get_speaking_task( second_topic = second_topic if second_topic else random.choice(EducationalContent.MTI_TOPICS) return await speaking_controller.get_speaking_part(task, topic_or_first_topic, second_topic, difficulty) - - - -""" - async def generate_video(self, text: str, avatar: str): - return await self._vid_gen.create_video(text, avatar) - - async def pool_video(self, vid_id: str): - return await self._vid_gen.pool_status(vid_id) -""" \ No newline at end of file diff --git a/app/controllers/abc/speaking.py b/app/controllers/abc/speaking.py index c4ab17d..e36e488 100644 --- a/app/controllers/abc/speaking.py +++ b/app/controllers/abc/speaking.py @@ -15,7 +15,7 @@ class ISpeakingController(ABC): pass @abstractmethod - async def generate_video(self, text: str, avatar: Optional[str]): + async def generate_video(self, text: str, avatar: str): pass @abstractmethod diff --git a/app/controllers/impl/speaking.py b/app/controllers/impl/speaking.py index 9837dfe..38c27ec 100644 --- a/app/controllers/impl/speaking.py +++ b/app/controllers/impl/speaking.py @@ -19,7 +19,7 @@ class SpeakingController(ISpeakingController): async def get_avatars(self): return await self._vid_gen.get_avatars() - async def generate_video(self, text: str, avatar: Optional[str]): + async def generate_video(self, text: str, avatar: str): return await self._vid_gen.create_video(text, avatar) async def pool_video(self, vid_id: str): diff --git a/app/services/impl/third_parties/heygen/__init__.py b/app/services/impl/third_parties/heygen/__init__.py index c78fef9..f40092b 100644 --- a/app/services/impl/third_parties/heygen/__init__.py +++ b/app/services/impl/third_parties/heygen/__init__.py @@ -29,12 +29,7 @@ class Heygen(IVideoGeneratorService): self._logger = logging.getLogger(__name__) async def create_video(self, text: str, avatar: str): - if not avatar: - random_avatar_name = random.choice(list(self._avatars.keys())) - avatar = self._avatars[random_avatar_name]["id"] - #["id"] - else: - avatar = self._avatars[avatar]["id"] + avatar = self._avatars[avatar]["id"] create_video_url = f'https://api.heygen.com/v2/template/{avatar}/generate' data = {