# 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