127 lines
4.8 KiB
Plaintext
127 lines
4.8 KiB
Plaintext
# SKG AI 网关(OpenAI 兼容)
|
||
LLM_BASE_URL=https://ai.skg.com/ezlink/v1
|
||
LLM_API_KEY=
|
||
|
||
# 应用登录(生产 Nginx auth_request 使用;本地 http 反代测试时 COOKIE_SECURE=false)
|
||
WEB_AUTH_USERNAME=skg
|
||
WEB_AUTH_PASSWORD=
|
||
WEB_AUTH_SESSION_SECRET=
|
||
WEB_AUTH_COOKIE_NAME=skg_marketing_session
|
||
WEB_AUTH_COOKIE_SECURE=false
|
||
AUTH_DATA_ISOLATION_ENABLED=true
|
||
VIDEO_QUEUE_MAX_CONCURRENT=2
|
||
VIDEO_QUEUE_MAX_CONCURRENT_PER_USER=1
|
||
|
||
# 飞书免登录(OAuth)。生产回调地址需同步配置到飞书开放平台应用安全设置。
|
||
FEISHU_APP_ID=
|
||
FEISHU_APP_SECRET=
|
||
FEISHU_REDIRECT_URI=https://marketing.skg.com/api/auth/feishu/callback
|
||
FEISHU_OAUTH_SCOPE=
|
||
FEISHU_ALLOWED_EMAIL_DOMAINS=
|
||
FEISHU_ALLOWED_EMAILS=
|
||
FEISHU_ALLOWED_TENANT_KEYS=
|
||
|
||
# 模型分工
|
||
ASR_MODEL=whisper-1
|
||
ASR_FALLBACK_MODEL=gemini-2.5-flash
|
||
ASR_TIMEOUT_SECONDS=45
|
||
LOCAL_ASR_BIN=/opt/homebrew/bin/mlx_whisper
|
||
LOCAL_ASR_MODEL=mlx-community/whisper-tiny
|
||
LOCAL_ASR_TIMEOUT_SECONDS=180
|
||
TRANSLATE_MODEL=gemini-2.5-flash
|
||
GPT_TEXT_MODEL=gpt-4o
|
||
REWRITE_MODEL=gpt-4o-mini
|
||
REWRITE_MODEL_FALLBACKS=gemini-2.5-flash
|
||
VISION_MODEL=gpt-4o
|
||
PRODUCT_VIEW_MODEL=gpt-image-2
|
||
IMAGE_BASE_URL=https://ai.skg.com/ezlink/v1
|
||
IMAGE_API_KEY=
|
||
IMAGE_MODEL=gpt-image-2
|
||
IMAGE_REQUEST_TIMEOUT_SECONDS=60
|
||
IMAGE_FALLBACK_ENABLED=true
|
||
IMAGE_FALLBACK_MODEL=gemini-3-pro-image-preview
|
||
# 多备用模型用逗号分隔;未设置时兼容 IMAGE_FALLBACK_MODEL。
|
||
IMAGE_FALLBACK_MODELS=gemini-3-pro-image-preview
|
||
# 可选:把其它 OpenAI-compatible 图片模型加入 /health 和前端白名单,默认走 IMAGE_BASE_URL/IMAGE_API_KEY。
|
||
IMAGE_EXTRA_MODELS=
|
||
# 可选:JSON 覆盖/扩展模型配置,建议只写 api_key_env,不把真实 key 写入 JSON。
|
||
# IMAGE_MODEL_CONFIGS_JSON={"custom-model":{"label":"Custom Image","base_url_env":"CUSTOM_IMAGE_BASE_URL","api_key_env":"CUSTOM_IMAGE_API_KEY","provider":"openai","sizes":["1024x1024"],"default_size":"1024x1024"}}
|
||
IMAGE_CIRCUIT_FAILURE_THRESHOLD=2
|
||
IMAGE_CIRCUIT_COOLDOWN_SECONDS=600
|
||
GPT_IMAGE_MODEL=gpt-image-2
|
||
SUBJECT_ASSET_IMAGE_MODEL=gpt-image-2
|
||
SUBJECT_ASSET_IMAGE_MODELS=gpt-image-2,gemini-3-pro-image-preview
|
||
# 火山方舟 Seedream 图片模型。真实 key 只填本地/服务器 .env,不提交到 git。
|
||
ARK_SEEDREAM_ENABLED=true
|
||
ARK_IMAGE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
|
||
ARK_IMAGE_API_KEY=
|
||
ARK_SEEDREAM_IMAGE_MODEL=doubao-seedream-4-5-251128
|
||
# 可选:本地网络需要代理访问 ai.skg.com 时配置;launchd 不一定继承 shell 代理变量。
|
||
AI_HTTP_PROXY=
|
||
YTDLP_COOKIES_FILE=
|
||
YTDLP_COOKIES_FROM_BROWSER=
|
||
VIDEO_MODEL=seedance
|
||
VIDEO_MODEL_SEEDANCE=seedance-2-fast
|
||
VIDEO_MODEL_XAI=grok-imagine-video
|
||
# Kling / Veo aliases are only exposed when the active video gateway is Poe or another verified compatible gateway.
|
||
VIDEO_MODEL_KLING=kling-omni
|
||
VIDEO_MODEL_VEO3=veo-3.1-fast
|
||
|
||
# 音频文案改写 + Azure OpenAI 配音
|
||
AUDIO_REWRITE_MODEL=gemini-2.5-pro
|
||
AUDIO_PRODUCT_BRIEF="SKG 智能按摩产品,主打日常肩颈、腰背、眼部、膝盖或足部放松;广告表达要高级、干净、可信,不做医疗疗效承诺。"
|
||
# 语音通道服务端固定为 Azure OpenAI。
|
||
VOICE_PROVIDER=azure_openai
|
||
AZURE_OPENAI_BASE_URL=https://ai.skg.com/azure
|
||
AZURE_OPENAI_API_KEY=
|
||
AZURE_TTS_MODEL=gpt-4o-mini-tts
|
||
AZURE_TTS_VOICE_ID=alloy
|
||
AZURE_TTS_VOICE_POOL=alloy,verse,shimmer
|
||
AZURE_TTS_PATH=/audio/speech
|
||
AZURE_TTS_PATHS=/audio/speech,/v1/audio/speech
|
||
|
||
# Poe 视频 API(优先用于 Seedance / Kling / Veo)
|
||
POE_API_BASE_URL=https://api.poe.com/v1
|
||
POE_API_KEY=
|
||
|
||
# 火山方舟 Seedance 视频 API 可直接覆盖这里:
|
||
# VIDEO_API_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
|
||
# VIDEO_API_KEY=
|
||
# VIDEO_MODEL_SEEDANCE=doubao-seedance-2-0-fast-260128
|
||
# VIDEO_CREATE_PATHS=/contents/generations/tasks
|
||
# VIDEO_STATUS_PATH=/contents/generations/tasks/{id}
|
||
#
|
||
# SKG 豆包/Seedance 视频网关也使用同一套 content JSON 提交格式:
|
||
# VIDEO_API_BASE_URL=https://ai.skg.com/doubao
|
||
# VIDEO_API_KEY=
|
||
# VIDEO_MODEL_SEEDANCE=doubao-seedance-2-0-fast-260128
|
||
# VIDEO_CREATE_PATHS=/api/v3/contents/generations/tasks
|
||
# VIDEO_STATUS_PATH=/api/v3/contents/generations/tasks/{id}
|
||
# VIDEO_CONTENT_PATH=/api/v3/contents/generations/tasks/{id}/content
|
||
#
|
||
# SKG xAI/Grok Imagine 视频网关。真实 key 只填本地/服务器私有 .env。
|
||
XAI_VIDEO_API_BASE_URL=https://ai.skg.com/ezlink/xai
|
||
XAI_VIDEO_API_KEY=
|
||
XAI_VIDEO_CREATE_PATH=/v1/videos/generations
|
||
XAI_VIDEO_STATUS_PATH=/v1/videos/{id}
|
||
XAI_VIDEO_CONTENT_PATH=
|
||
#
|
||
# 自定义视频网关覆盖;留空时如配置 POE_API_KEY,则走 Poe。
|
||
VIDEO_API_BASE_URL=
|
||
VIDEO_API_KEY=
|
||
VIDEO_CREATE_PATH=/videos
|
||
VIDEO_CREATE_PATHS=/videos
|
||
VIDEO_STATUS_PATH=/videos/{id}
|
||
VIDEO_CONTENT_PATH=/videos/{id}/content
|
||
VIDEO_DURATION_FIELD=seconds
|
||
VIDEO_POLL_TIMEOUT_SECONDS=900
|
||
|
||
# 工作目录
|
||
KEYFRAME_COUNT=12
|
||
JOBS_DIR=./jobs
|
||
|
||
# CORS
|
||
CORS_ORIGINS=http://localhost:4290
|
||
|
||
API_PORT=4291
|