109 lines
2.6 KiB
Bash
109 lines
2.6 KiB
Bash
APP_NAME=VideoGen API
|
|
APP_VERSION=1.0.0
|
|
DEBUG=true
|
|
SECRET_KEY=your-secret-key-change-in-production
|
|
|
|
DATABASE_URL=postgresql+asyncpg://videogen:7k33pnXdPL62Yyb4@180.184.42.66:5432/videogen
|
|
|
|
REDIS_URL=redis://127.0.0.1:6379/0
|
|
|
|
JWT_ALGORITHM=HS256
|
|
JWT_EXPIRE_MINUTES=1440
|
|
JWT_EXPIRE_REMEMBER_MINUTES=10080
|
|
|
|
SEEDANCE_API_KEY=
|
|
SEEDANCE_API_BASE=https://ark.cn-beijing.volces.com/api/v3
|
|
SEEDANCE_CALLBACK_URL=
|
|
|
|
LLM_API_BASE=https://api.openai.com/v1
|
|
LLM_API_KEY=
|
|
LLM_MODEL=gpt-4o
|
|
LLM_MOCK=true
|
|
|
|
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_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
|
|
|
|
FFMPEG_BIN=
|
|
VIDEO_COVER_SEEK_TIME=00:00:01
|
|
VIDEO_COVER_FALLBACK_SEEK_TIME=00:00:00
|
|
VIDEO_COVER_WIDTH=720
|
|
VIDEO_COVER_TIMEOUT_SECONDS=15
|
|
VIDEO_COVER_FORMAT=jpg
|
|
|
|
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
|