APP_ENV=development HTTP_ADDRESS=:8080 PUBLIC_BASE_URL=http://localhost:8080 STUDENT_PIN=change-me INSTRUCTOR_PIN=change-me-too SESSION_SIGNING_SECRET=replace-with-at-least-32-random-characters SESSION_DURATION=4h LOG_LEVEL=info LOG_FORMAT=text COMIC_ANIMATOR_OPENROUTER_API_KEY= COMIC_ANIMATOR_OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 COMIC_ANIMATOR_OPENROUTER_SITE_URL= COMIC_ANIMATOR_OPENROUTER_APP_NAME=Preface Tools - Comic Animator COMIC_ANIMATOR_PROMPT_MODEL= COMIC_ANIMATOR_VIDEO_MODEL= COMIC_ANIMATOR_VIDEO_DURATION=6 COMIC_ANIMATOR_VIDEO_RESOLUTION=720p COMIC_ANIMATOR_VIDEO_ASPECT_RATIO=16:9 COMIC_ANIMATOR_GENERATE_AUDIO=false COMIC_ANIMATOR_HTTP_TIMEOUT=60s COMIC_ANIMATOR_POLL_INTERVAL=30s COMIC_ANIMATOR_JOB_TIMEOUT=15m COMIC_ANIMATOR_SIGNING_SECRET=replace-with-another-32-character-secret COMIC_ANIMATOR_SIGNED_URL_TTL=30m COMIC_ANIMATOR_UPLOAD_DIR=data/comic-animator/uploads COMIC_ANIMATOR_OUTPUT_DIR=data/comic-animator/outputs COMIC_ANIMATOR_MAX_UPLOAD_BYTES=20971520 COMIC_ANIMATOR_MAX_VIDEO_BYTES=536870912 COMIC_ANIMATOR_QUEUE_CAPACITY=100