Files
video-gen/video-gen-api/.env
T

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