Files
meijiaka-zy/python-api/.env.example
T
小鱼开发 d419d6732e feat: Vidu 对口型回调机制完整版(B方案)
后端:
- config.py: 新增 APP_BASE_URL 配置,支持 ENV 自动推断公网地址
- vidu.py: POST /lip-sync 自动拼接 callback_url 提交给 Vidu
- vidu.py: 新增 POST /callback 接收 Vidu 异步回调,写入 Redis
- vidu.py: GET /tasks/{id}/status 优先查 Redis,fallback 到 Vidu API

前端:
- types.ts / localStorage.ts: ScriptShot/ProjectSegment 新增 lipSyncVideoPath/VideoUrl/StartTime
- VideoGeneration.tsx: Step 1 提交对口型时保存 lipSyncStartTime(只算一次)
- VideoGeneration.tsx: 新增 Step 2 轮询后端状态(5s×120次),下载对口型视频
- VideoGeneration.tsx: Step 3 拼接时 segment 优先使用对口型视频,startTime=0

部署:
- docker-compose.test.yml / prod.yml: 添加 APP_BASE_URL 环境变量
- .env.example: 添加 APP_BASE_URL 说明

修复:
- 修复 React 闭包陷阱(updateSegment 后 shots 未同步)
- 修复 startTime 不一致(Step1/Step2 各自 random)
2026-04-28 15:23:46 +08:00

91 lines
2.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 美家卡智影 API - 环境变量配置示例
# ================================
# 复制此文件为 .env 并填写实际值
# === 基础配置 ===
APP_NAME=美家卡智影 API
APP_VERSION=0.1.0
DEBUG=true
ENV=development
HOST=0.0.0.0
PORT=8000
# === 数据库配置 ===
# 本地开发: localhost
# Docker 部署: 容器名(如 db、meijiaka-db
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/meijiaka_zy
# === Redis 配置 ===
# 本地开发: localhost
# Docker 部署: 容器名(如 redis、meijiaka-redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=1
# REDIS_PASSWORD= # 如无密码请留空或注释
# === JWT 安全配置 ===
# 生产环境必须修改为强随机密钥
SECRET_KEY=your-secret-key-here-change-in-production
ACCESS_TOKEN_EXPIRE_MINUTES=10080
ALGORITHM=HS256
# === CORS 配置 ===
# 本地开发: 允许 localhost
# 测试/生产服: 填写实际域名,如 https://app.yourdomain.com
CORS_ORIGINS=http://localhost:1420,http://127.0.0.1:1420,http://localhost:8080
# === AI 平台配置 ===
# 火山方舟(必需)
VOLCENGINE_API_KEY=your-volcengine-api-key
VOLCENGINE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
# 火山字幕服务(必需)
VOLCENGINE_CAPTION_APPID=your-caption-appid
VOLCENGINE_CAPTION_TOKEN=your-caption-token
# 可灵 AI(必需,用于视频生成、形象克隆)
KLINGAI_ACCESS_KEY=your-kling-access-key
KLINGAI_SECRET_KEY=your-kling-secret-key
# MiniMax(必需,用于语音合成、语音克隆)
MINIMAX_API_KEY=sk-api-your-minimax-key
MINIMAX_BASE_URL=https://api.minimaxi.com
# Vidu(必需,用于TTS语音合成、声音复刻、对口型)
VIDU_API_KEY=your-vidu-api-key
VIDU_BASE_URL=https://api.vidu.cn
# OpenAI(可选)
# OPENAI_API_KEY=sk-your-openai-key
# OPENAI_BASE_URL=https://api.openai.com/v1
# 文心一言(可选)
# WENXIN_API_KEY=your-wenxin-key
# WENXIN_SECRET_KEY=your-wenxin-secret
# 通义千问(可选)
# QIANWEN_API_KEY=your-qianwen-key
# === 七牛云存储(必需,用于空镜图片上传)===
QINIU_ACCESS_KEY=your-qiniu-access-key
QINIU_SECRET_KEY=your-qiniu-secret-key
QINIU_VIDEO_BUCKET=media-liche
QINIU_VIDEO_DOMAIN=media.liche.cn
QINIU_IMAGE_BUCKET=img-liche
QINIU_IMAGE_DOMAIN=img.liche.cn
# === 其他服务 ===
# AnyToCopy 文案提取(可选)
ANYTOCOPY_API_KEY=your-anytocopy-api-key
ANYTOCOPY_API_SECRET=your-anytocopy-secret
ANYTOCOPY_BASE_URL=https://api.anytocopy.com/vip/open-api/v1
# === 应用公网地址(用于 Vidu 等第三方回调)===
# 不配置时自动根据 ENV 推断:production→tapi.meijiaka.cn, staging→dev.tapi.meijiaka.cn
# APP_BASE_URL=https://dev.tapi.meijiaka.cn
# === 日志配置 ===
LOG_LEVEL=INFO