auto-save 2026-05-14 10:25 (~13)
This commit is contained in:
@@ -14,11 +14,11 @@ VIDEO_MODEL_VEO3=veo-3.1-fast
|
||||
|
||||
# 音频文案改写 + MiniMax 配音
|
||||
AUDIO_REWRITE_MODEL=gemini-2.5-pro
|
||||
AUDIO_PRODUCT_BRIEF=SKG 智能按摩产品,主打日常肩颈、腰背、眼部、膝盖或足部放松;广告表达要高级、干净、可信,不做医疗疗效承诺。
|
||||
AUDIO_PRODUCT_BRIEF="SKG 智能按摩产品,主打日常肩颈、腰背、眼部、膝盖或足部放松;广告表达要高级、干净、可信,不做医疗疗效承诺。"
|
||||
MINIMAX_API_KEY=
|
||||
MINIMAX_TTS_BASE_URL=https://api.minimax.io
|
||||
MINIMAX_TTS_MODEL=speech-2.8-turbo
|
||||
MINIMAX_TTS_VOICE_ID=Chinese (Mandarin)_Reliable_Executive
|
||||
MINIMAX_TTS_VOICE_ID="Chinese (Mandarin)_Reliable_Executive"
|
||||
|
||||
# Poe 视频 API(优先用于 Seedance / Kling / Veo)
|
||||
POE_API_BASE_URL=https://api.poe.com/v1
|
||||
@@ -41,6 +41,7 @@ VIDEO_CONTENT_PATH=/videos/{id}/content
|
||||
VIDEO_DURATION_FIELD=seconds
|
||||
|
||||
# 工作目录
|
||||
KEYFRAME_COUNT=12
|
||||
JOBS_DIR=./jobs
|
||||
|
||||
# CORS
|
||||
|
||||
@@ -9,7 +9,7 @@ cd api
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
cp .env.example .env # 按需填 GEMINI_API_KEY
|
||||
cp .env.example .env # 按需填 LLM_API_KEY / MINIMAX_API_KEY
|
||||
uvicorn main:app --port 4291 --reload
|
||||
```
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ JobStatus = Literal[
|
||||
"transcribing", "transcribed", "failed",
|
||||
]
|
||||
|
||||
KEYFRAME_COUNT = int(os.getenv("KEYFRAME_COUNT", "5"))
|
||||
KEYFRAME_COUNT = int(os.getenv("KEYFRAME_COUNT", "12"))
|
||||
FrameExtractTarget = Literal["transparent_human", "balanced", "subject", "transition", "expression", "motion"]
|
||||
FrameExtractMode = Literal["replace", "append"]
|
||||
FrameExtractQuality = Literal["auto", "fast", "accurate", "ultra"]
|
||||
@@ -1327,7 +1327,7 @@ async def analyze_queue_worker() -> None:
|
||||
ANALYZE_WORKER_RUNNING = False
|
||||
|
||||
|
||||
# ---------- Gemini ASR + 翻译 ----------
|
||||
# ---------- 音频转写 + 翻译 + SKG 改写 + MiniMax 配音 ----------
|
||||
|
||||
def _transcribe_sync(wav: Path) -> list[dict]:
|
||||
"""whisper-1 verbose_json → segments[{start, end, text}]"""
|
||||
@@ -1347,7 +1347,7 @@ def _transcribe_sync(wav: Path) -> list[dict]:
|
||||
|
||||
|
||||
def _translate_sync(segments: list[dict]) -> list[str]:
|
||||
"""gemini-2.5-flash 批量翻译为中文,按段返回"""
|
||||
"""批量翻译为中文,按段返回"""
|
||||
payload = [{"i": i, "en": s.get("text", "").strip()} for i, s in enumerate(segments)]
|
||||
prompt = (
|
||||
"你是字幕翻译。把下列英文字幕段翻译为简体中文,保持原意、口语化、自然流畅。"
|
||||
|
||||
Reference in New Issue
Block a user