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