Merge branch 'main' of gitee.com:wg123/video-gen into main

This commit is contained in:
18610128193
2026-06-22 10:14:20 +08:00
8 changed files with 704 additions and 62 deletions
+80 -36
View File
@@ -1,64 +1,108 @@
# App
APP_NAME=VideoGen API
APP_VERSION=1.0.0
DEBUG=false
SECRET_KEY=local-dev-secret-key-not-for-production
DEBUG=true
SECRET_KEY=your-secret-key-change-in-production
# Database (PostgreSQL)
DATABASE_URL=postgresql+asyncpg://videogen:7k33pnXdPL62Yyb4@180.184.42.66:5432/videogen
# Redis (leave empty to disable - rate limiting and captcha will use in-memory fallback)
REDIS_URL=redis://localhost:6379/3
CELERY_BROKER_URL=redis://localhost:6379/5
CELERY_RESULT_BACKEND=redis://localhost:6379/6
REDIS_URL=redis://127.0.0.1:6379/0
# JWT
JWT_ALGORITHM=HS256
JWT_EXPIRE_MINUTES=1440
JWT_EXPIRE_REMEMBER_MINUTES=10080
# Seedance
SEEDANCE_API_KEY=
SEEDANCE_API_BASE=https://ark.cn-beijing.volces.com/api/v3
SEEDANCE_CALLBACK_URL=
# LLM
LLM_API_BASE=https://api.openai.com/v1
LLM_API_KEY=
LLM_MODEL=gpt-4o
LLM_MOCK=true
# Encryption
ENCRYPTION_KEY=dGhpc19pc18zMl9ieXRlX2tleV9mb3JfYWVzXzI1NiE=
ENCRYPTION_KEY=changeme-32bytes-base64-key-here!!
SMS_API_URL=
SMS_API_KEY=
SMS_SIGN_NAME=VideoGen
SMS_TEMPLATE_CODE=SMS_001
SMS_MOCK=true
VOLC_SMS_ACCESS_KEY_ID=
VOLC_SMS_SECRET_ACCESS_KEY=
VOLC_SMS_ACCOUNT=
VOLC_SMS_TEMPLATE_ID=
VOLC_SMS_SIGN=
SMS_CODE_LENGTH=4
SMS_CODE_TTL_SECONDS=300
SMS_SEND_INTERVAL_SECONDS=60
SMS_DAILY_LIMIT=20
WECHAT_MCH_ID=
WECHAT_API_KEY=
WECHAT_CERT_PATH=
ALIPAY_APP_ID=
ALIPAY_PRIVATE_KEY=
ALIPAY_PUBLIC_KEY=
PAYMENT_MOCK=true
# Storage
STORAGE_TYPE=local
STORAGE_LOCAL_PATH=./storage/generate/videos
STORAGE_IMAGE_LOCAL_PATH=./storage/generate/images
STORAGE_VIDEO_COVER_LOCAL_PATH=./storage/generate/covers
UPLOAD_LOCAL_PATH=./storage/uploads
# Captcha
CAPTCHA_ENABLED=true
# CORS
CORS_ORIGINS=["*"]
# RESOURCE
RESOURCE_SIGN_SECRET=EOTpDZsEgkaYWPxgtIedOO0lDlH1moTS2rnSIemjzmO3
RESOURCE_SIGN_EXPIRE_SECONDS=86400
RESOURCE_SIGN_ARG_EXPIRE=exp
RESOURCE_SIGN_ARG_SIGNATURE=sign
# FFMPEG + COVER
FFMPEG_BIN=/usr/bin/ffmpeg
FFMPEG_BIN=
VIDEO_COVER_SEEK_TIME=00:00:01
VIDEO_COVER_FALLBACK_SEEK_TIME=00:00:00
VIDEO_COVER_WIDTH=600
VIDEO_COVER_WIDTH=720
VIDEO_COVER_TIMEOUT_SECONDS=15
VIDEO_COVER_FORMAT=png
VIDEO_COVER_FORMAT=jpg
# VOLC_SMS
VOLC_SMS_ACCESS_KEY_ID=AKLTYWY5Yjc5YjM3N2IwNDc3M2I3NTU2YjlmNTczYzQzMmM
VOLC_SMS_SECRET_ACCESS_KEY=TXpjM01HUTFZMlV5TUdKbE5Ea3lNRGhqTUdSak16UTFOV0ptTW1SaE5XRQ==
VOLC_SMS_ACCOUNT=8b3f6ca8
VOLC_SMS_TEMPLATE_ID=S1T_1y2pb9ej2g9vm
VOLC_SMS_SIGN=纬佳网络科技
CAPTCHA_ENABLED=true
BASE_URL=http://localhost:8000
CORS_ORIGINS=["http://localhost:5173", "http://localhost:3000"]
RATE_LIMIT_ENABLED=true
CELERY_BROKER_URL=
CELERY_RESULT_BACKEND=
CHATAPI_REQUEST_TIMEOUT_SECONDS=120
CHATAPI_VIDEO_FPS=0.5
CHATAPI_ASYNC_MAX_RETRIES=3
CHATAPI_ASYNC_RETRY_BACKOFF_SECONDS=30
CHATAPI_ASYNC_POLL_INTERVAL_SECONDS=30
CHATAPI_ASYNC_IMAGE_DEADLINE_MINUTES=10
CHATAPI_ASYNC_VIDEO_DEADLINE_MINUTES=30
ARK_CHAT_PROMPT_MAX_CONCURRENCY=20
ARK_IMAGE_CREATE_MAX_CONCURRENCY=10
ARK_VIDEO_CREATE_MAX_CONCURRENCY=10
ARK_IMAGE_POLL_MAX_CONCURRENCY=50
ARK_VIDEO_POLL_MAX_CONCURRENCY=50
RESULT_DOWNLOAD_MAX_CONCURRENCY=10
PROVIDER_LIMIT_WAIT_TIMEOUT_SECONDS=30.0
PROVIDER_LIMIT_TOKEN_TTL_SECONDS=600
CELERY_DB_POOL_SIZE=1
CELERY_DB_MAX_OVERFLOW=1
CELERY_DB_POOL_TIMEOUT=30
CELERY_DB_POOL_RECYCLE=1800
DOWNLOAD_TASK_PRIORITY_NORMAL=5
DOWNLOAD_TASK_PRIORITY_RECOVER=0
DOWNLOAD_TASK_MAX_ATTEMPTS=3
DOWNLOAD_TASK_RETRY_BACKOFF_SECONDS=30
DOWNLOAD_TASK_LEASE_SECONDS=600
DOWNLOAD_TASK_QUEUE_TIMEOUT_SECONDS=300
DOWNLOAD_RECOVERY_BATCH_SIZE=100
DOWNLOAD_RECOVERY_STARTUP_DELAY_SECONDS=3
DOWNLOAD_ACTIVE_REDIS_HASH_KEY=vg:celery:download:active
DOWNLOAD_ACTIVE_REDIS_ZSET_KEY=vg:celery:download:active_index
RESOURCE_SIGN_SECRET=resource-signature-secret-key-for-API-authentication
RESOURCE_SIGN_EXPIRE_SECONDS=60
RESOURCE_SIGN_ARG_EXPIRE=exp
RESOURCE_SIGN_ARG_SIGNATURE=sign