From 09998478d1da2c8df0a1455566b43d62818875a8 Mon Sep 17 00:00:00 2001 From: Carlos-Mesquita Date: Sat, 9 Nov 2024 06:51:07 +0000 Subject: [PATCH] Video pooling and downloading will now be handled by frontend --- .../elai/{elai_conf.json => conf.json} | 0 app/services/impl/third_parties/heygen.py | 93 ------------------- audio-samples/.gitkeep | 0 download-audio/.gitkeep | 0 download-video/.gitkeep | 0 5 files changed, 93 deletions(-) rename app/services/impl/third_parties/elai/{elai_conf.json => conf.json} (100%) delete mode 100644 app/services/impl/third_parties/heygen.py delete mode 100644 audio-samples/.gitkeep delete mode 100644 download-audio/.gitkeep delete mode 100644 download-video/.gitkeep diff --git a/app/services/impl/third_parties/elai/elai_conf.json b/app/services/impl/third_parties/elai/conf.json similarity index 100% rename from app/services/impl/third_parties/elai/elai_conf.json rename to app/services/impl/third_parties/elai/conf.json diff --git a/app/services/impl/third_parties/heygen.py b/app/services/impl/third_parties/heygen.py deleted file mode 100644 index 22d3124..0000000 --- a/app/services/impl/third_parties/heygen.py +++ /dev/null @@ -1,93 +0,0 @@ -import asyncio -import os -import logging -import aiofiles - -from httpx import AsyncClient - -from app.services.abc import IVideoGeneratorService - - -class Heygen(IVideoGeneratorService): - - _GET_VIDEO_URL = 'https://api.heygen.com/v1/video_status.get' - - def __init__(self, client: AsyncClient, token: str): - pass - """ - self._get_header = { - 'X-Api-Key': heygen_token - } - self._post_header = { - 'X-Api-Key': heygen_token, - 'Content-Type': 'application/json' - } - self._http_client = client - self._logger = logging.getLogger(__name__) - """ - - async def create_video(self, text: str, avatar: str): - pass - # POST TO CREATE VIDEO - """ - create_video_url = 'https://api.heygen.com/v2/template/' + avatar + '/generate' - data = { - "test": False, - "caption": False, - "title": "video_title", - "variables": { - "script_here": { - "name": "script_here", - "type": "text", - "properties": { - "content": text - } - } - } - } - response = await self._http_client.post(create_video_url, headers=self._post_header, json=data) - self._logger.info(response.status_code) - self._logger.info(response.json()) - - # GET TO CHECK STATUS AND GET VIDEO WHEN READY - video_id = response.json()["data"]["video_id"] - params = { - 'video_id': response.json()["data"]["video_id"] - } - response = {} - status = "processing" - error = None - - while status != "completed" and error is None: - response = await self._http_client.get(self._GET_VIDEO_URL, headers=self._get_header, params=params) - response_data = response.json() - - status = response_data["data"]["status"] - error = response_data["data"]["error"] - - if status != "completed" and error is None: - self._logger.info(f"Status: {status}") - await asyncio.sleep(10) # Wait for 10 second before the next request - - self._logger.info(response.status_code) - self._logger.info(response.json()) - - # DOWNLOAD VIDEO - download_url = response.json()['data']['video_url'] - output_directory = 'download-video/' - output_filename = video_id + '.mp4' - - response = await self._http_client.get(download_url) - - if response.status_code == 200: - os.makedirs(output_directory, exist_ok=True) # Create the directory if it doesn't exist - output_path = os.path.join(output_directory, output_filename) - async with aiofiles.open(output_path, 'wb') as f: - await f.write(response.content) - self._logger.info(f"File '{output_filename}' downloaded successfully.") - return output_filename - else: - self._logger.error(f"Failed to download file. Status code: {response.status_code}") - return None - """ - diff --git a/audio-samples/.gitkeep b/audio-samples/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/download-audio/.gitkeep b/download-audio/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/download-video/.gitkeep b/download-video/.gitkeep deleted file mode 100644 index e69de29..0000000