feat: Implement video generation functionality and integrate with Kling API.
This commit is contained in:
15
aiws.py
15
aiws.py
@@ -18,6 +18,7 @@ from prometheus_fastapi_instrumentator import Instrumentator
|
||||
|
||||
# --- ИМПОРТЫ ПРОЕКТА ---
|
||||
from adapters.google_adapter import GoogleAdapter
|
||||
from adapters.kling_adapter import KlingAdapter
|
||||
from adapters.s3_adapter import S3Adapter
|
||||
from api.service.generation_service import GenerationService
|
||||
from api.service.album_service import AlbumService
|
||||
@@ -83,7 +84,18 @@ s3_adapter = S3Adapter(
|
||||
|
||||
dao = DAO(mongo_client, s3_adapter) # Главный DAO для бота
|
||||
gemini = GoogleAdapter(api_key=GEMINI_API_KEY)
|
||||
generation_service = GenerationService(dao, gemini, bot)
|
||||
|
||||
# Kling Adapter (optional, for video generation)
|
||||
kling_access_key = os.getenv("KLING_ACCESS_KEY", "")
|
||||
kling_secret_key = os.getenv("KLING_SECRET_KEY", "")
|
||||
kling_adapter = None
|
||||
if kling_access_key and kling_secret_key:
|
||||
kling_adapter = KlingAdapter(access_key=kling_access_key, secret_key=kling_secret_key)
|
||||
logger.info("Kling adapter initialized")
|
||||
else:
|
||||
logger.warning("KLING_ACCESS_KEY / KLING_SECRET_KEY not set — video generation disabled")
|
||||
|
||||
generation_service = GenerationService(dao, gemini, s3_adapter, bot, kling_adapter)
|
||||
album_service = AlbumService(dao)
|
||||
|
||||
# Dispatcher
|
||||
@@ -138,6 +150,7 @@ async def lifespan(app: FastAPI):
|
||||
app.state.gemini_client = gemini
|
||||
app.state.bot = bot
|
||||
app.state.s3_adapter = s3_adapter
|
||||
app.state.kling_adapter = kling_adapter
|
||||
app.state.album_service = album_service
|
||||
app.state.users_repo = users_repo # Добавляем репозиторий в state
|
||||
|
||||
|
||||
Reference in New Issue
Block a user