# OpenTalking 编排层默认配置 —— 轻量快速体验(demo-avatar / wav2lip) # # - 默认不连接任何独立数字人模型服务,先跑通 API / TTS / WebRTC / 前端链路。 # - 高质量 FlashTalk + OmniRT 路线请改用 .env.flashtalk.example。 # - 进程内 FlashTalk 引擎路线请改用 .env.local.example。 OPENTALKING_LOG_LEVEL=INFO OPENTALKING_CONFIG_FILE=./configs/default.yaml SERVER_HOST=localhost OPENTALKING_API_HOST=0.0.0.0 OPENTALKING_API_PORT=8000 OPENTALKING_UNIFIED_HOST=0.0.0.0 OPENTALKING_UNIFIED_PORT=8000 # Unified:会话与 Worker 共进程、内存队列;必须单 HTTP worker(勿 gunicorn -w>1 / 勿 uvicorn --workers>1)。 # 若用 python -m apps.unified.main,勿设 OPENTALKING_UNIFIED_UVICORN_WORKERS>1(会被强制为 1)。 # 多台 unified 做负载均衡且无会话粘性时,会出现 404 session not found;应只指一台或改「API+独立 Worker+Redis」架构。 OPENTALKING_UNIFIED_UVICORN_WORKERS=1 OPENTALKING_WORKER_HOST=0.0.0.0 OPENTALKING_WORKER_PORT=9001 # 逗号分隔多个前端来源;按需追加本机其它端口或部署域名,勿提交含内网 IP 的生产列表到仓库 OPENTALKING_CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 OPENTALKING_REDIS_URL=redis://localhost:6379/0 OPENTALKING_AVATARS_DIR=./examples/avatars OPENTALKING_MODELS_DIR=./models OPENTALKING_WORKER_URL=http://127.0.0.1:9001 OPENTALKING_TORCH_DEVICE=cpu OPENTALKING_DEFAULT_MODEL=wav2lip OPENTALKING_DEFAULT_FPS=25 # ---------- QuickTalk(可选:本地实时 talking-head)---------- # 使用时将默认模型切到 quicktalk,并确保 Avatar manifest 的 model_type=quicktalk。 # OPENTALKING_DEFAULT_MODEL=quicktalk # OPENTALKING_TORCH_DEVICE=cuda:0 # OPENTALKING_QUICKTALK_ASSET_ROOT=/path/to/quicktalk/assets # OPENTALKING_QUICKTALK_TEMPLATE_VIDEO=/path/to/template.mp4 # OPENTALKING_QUICKTALK_FACE_CACHE_DIR=/path/to/.face_cache_quicktalk # OPENTALKING_QUICKTALK_HUBERT_DEVICE= # 留空表示与 OPENTALKING_TORCH_DEVICE 同卡 # OPENTALKING_QUICKTALK_WORKER_CACHE=1 # 复用同 Avatar Worker,降低后续会话启动成本 # OPENTALKING_PREWARM_AVATARS= # 如 quicktalk-daytime,启动时提前构建 Worker # OPENTALKING_QUICKTALK_RENDER_CHUNK_MS=500 # OPENTALKING_QUICKTALK_PREFETCH=1 # OPENTALKING_QUICKTALK_AUDIO_DELAY_MS=0 # OPENTALKING_QUICKTALK_IDLE_CACHE_FRAMES=1 # OPENTALKING_QUICKTALK_IDLE_FRAME_INDEX=0 # OPENTALKING_QUICKTALK_IDLE_FRAME_RANGE= # ---------- FlashTalk ---------- # off 表示默认快速体验不启用 FlashTalk;/models 不会暴露 flashtalk。 # 若要连接 OmniRT WebSocket,请使用 .env.flashtalk.example。 OPENTALKING_FLASHTALK_MODE=off OPENTALKING_FLASHTALK_WS_URL=ws://localhost:8765 # 接收侧 JPEG 解码并发线程数(client) OPENTALKING_FLASHTALK_JPEG_DECODE_WORKERS=4 # 编排层节奏控制 OPENTALKING_FLASHTALK_PREBUFFER_CHUNKS=1 OPENTALKING_FLASHTALK_PROGRESSIVE_SEND=0 # ---------- FlashHead(可选:连接 OmniRT realtime avatar WebSocket)---------- OPENTALKING_FLASHHEAD_WS_URL=ws://8.92.7.195:8766/v1/avatar/realtime OPENTALKING_FLASHHEAD_BASE_URL=http://8.92.7.195:8766 OPENTALKING_FLASHHEAD_MODEL=soulx-flashhead-1.3b # HTTP /v1/generate fallback 使用:OpenTalking 与 195 机器共享的输入目录;实时 WS 不依赖这些路径。 OPENTALKING_FLASHHEAD_SHARED_LOCAL_DIR=/tmp/opentalking_flashhead_io OPENTALKING_FLASHHEAD_SHARED_REMOTE_DIR=/tmp/opentalking_flashhead_io # 如果 OmniRT 输出目录也通过共享盘可见,填写下面两项;否则提供 OUTPUT_BASE_URL 让 OpenTalking 下载 mp4。 OPENTALKING_FLASHHEAD_OUTPUT_LOCAL_DIR= OPENTALKING_FLASHHEAD_OUTPUT_REMOTE_DIR= OPENTALKING_FLASHHEAD_OUTPUT_BASE_URL= OPENTALKING_FLASHHEAD_TIMEOUT_SEC=600 OPENTALKING_FLASHHEAD_FPS=25 OPENTALKING_FLASHHEAD_SAMPLE_RATE=16000 OPENTALKING_FLASHHEAD_WIDTH=512 OPENTALKING_FLASHHEAD_HEIGHT=512 OPENTALKING_FLASHHEAD_FRAME_NUM=29 OPENTALKING_FLASHHEAD_CHUNK_SAMPLES=17920 # ---------- Idle 视频缓存(编排层)---------- OPENTALKING_FLASHTALK_IDLE_ENABLE=1 OPENTALKING_FLASHTALK_IDLE_CACHE_DIR=./models/.idle_cache # 留空使用代码内默认提示词 OPENTALKING_FLASHTALK_IDLE_PROMPT= OPENTALKING_FLASHTALK_IDLE_SEED=9999 OPENTALKING_FLASHTALK_IDLE_MOUTH_LOCK=0.97 OPENTALKING_FLASHTALK_IDLE_EYE_LOCK=0.65 # ---------- TTS 平滑 / 合并(编排层)---------- OPENTALKING_FLASHTALK_TTS_BOUNDARY_FADE_MS=18 OPENTALKING_FLASHTALK_TTS_COALESCE_MIN_CHARS=6 OPENTALKING_FLASHTALK_TTS_COALESCE_MAX_CHARS=80 OPENTALKING_FLASHTALK_TTS_TAIL_FADE_MS=80 OPENTALKING_FLASHTALK_TTS_TRAILING_SILENCE_MS=320 OPENTALKING_FLASHTALK_TTS_OPENER_ENABLE=0 # ---------- LLM(百炼 OpenAI 兼容端点)---------- # API Key 在 https://bailian.console.aliyun.com/ 申请 OPENTALKING_LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 OPENTALKING_LLM_API_KEY= OPENTALKING_LLM_MODEL=qwen-flash OPENTALKING_LLM_SYSTEM_PROMPT=You are a friendly digital human assistant. # ---------- STT(百炼 DashScope Paraformer realtime)---------- # 密钥可用 DASHSCOPE_API_KEY,或与 LLM 共用 OPENTALKING_LLM_API_KEY DASHSCOPE_API_KEY= OPENTALKING_STT_MODEL=paraformer-realtime-v2 # ---------- TTS ---------- # 默认 Edge TTS(无需 key);切到百炼 Qwen realtime TTS 见下方注释 OPENTALKING_TTS_PROVIDER=edge OPENTALKING_TTS_VOICE=zh-CN-XiaoxiaoNeural OPENTALKING_TTS_SAMPLE_RATE=16000 OPENTALKING_TTS_STREAMING_DECODE=1 OPENTALKING_FFMPEG_BIN=ffmpeg # 切到百炼 Qwen realtime TTS(复用上面的 DASHSCOPE_API_KEY) # OPENTALKING_TTS_PROVIDER=dashscope # OPENTALKING_QWEN_TTS_MODEL=qwen3-tts-flash-realtime # OPENTALKING_QWEN_TTS_REUSE_WS=1 # 多轮对话复用 WS,减少握手延迟 # Frontend (Vite) env vars: see apps/web/.env.example —— 复制到 apps/web/.env