APP_NAME=TheRoad Scene Lab SECRET_KEY=dev-secret-key-change-in-production DATABASE_URL=postgresql://theroad:theroad_dev_2026@localhost:5432/theroad #PROJECTS_DIR= SESSION_TTL_HOURS=24 DEFAULT_ADMIN_USERNAME=admin DEFAULT_ADMIN_PASSWORD=admin123 DEFAULT_CREATOR_USERNAME=creator DEFAULT_CREATOR_PASSWORD=creator123 # OpenRouter OPENROUTER_API_KEY=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 OPENAI_API_KEY=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 # 보조 슬롯 (2026-07-30) — 1차 키가 billing/quota/401·403 로 죽을 때만 전환. OPENAI_API_KEY_SECONDARY=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 OPENAI_MODEL=gpt-5.6-sol GEMINI_API_KEY=AIzaSyDbeWw-wxM6NHModOwLmn8sgA-6kxEC2jQ # 보조 키(키 풀 자동 수집): 아래에 두 번째 키를 붙여넣으세요. 429 시 자동 전환됩니다. GEMINI_API_KEY1=AQ.Ab8RN6KevsHdmOyv10F-a5ffUU-0H6PjY1mhCuQ1A_rzN8Rdow GEMINI_IMAGE_MODEL=gemini-3.1-flash-image-preview # ── Anthropic — 후보 선정 판정 전용 (2026-08-06) ────────────────────── # 여기에 키를 넣으면 선정·재판정이 Claude Opus 5 로 간다. # 비워 두면 alias 가 Router 에 등록되지 않고 기존 gemini-pro 로 남는다. ANTHROPIC_API_KEY=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 ANTHROPIC_JUDGE_MODEL=claude-opus-5 FAL_KEY=deb572d4-d479-4cf7-989e-92e1d7528d16:46eb1bd9ec34b00056f0fa96532342d9 OPIK_API_KEY=6OkXw3xt4RXJutkZFieYV9ofS # Pipeline v3 요약 길이 설정 MAX_EPISODE_SUMMARY_LENGTH=500 MAX_SCENE_SUMMARY_LENGTH=200 MAX_PROJECT_SUMMARY_LENGTH=500 # shot-more 재설계 SHOT_SELECTION_ENABLED=true SHOT_SELECTION_MAX=3 # Phase 5.2 검증 완료 (2026-04-29). production default off. 사용 시 주석 해제. # Phase 5+5.3+6 묶음 production 검증 완료 (2026-04-29 17:28). 다시 비활성. # Phase 7 T19 production E2E 완료 (2026-04-30 06:14). 14 도면 + 24 배경 100% OK. # Phase 8 production E2E 진행 중 (2026-04-30 08:xx). prompt v2 + 16:9 + 한국어 t2i. BACKGROUND_MODE=on CHAIN_BG_GUIDE_ENABLED=true BACKGROUND_CHAIN_ENABLED=true BACKGROUND_RENDER_WORKERS=4 # === W20F10 W20 opt-in env (codex 2026-05-28) === FLOOR_PLAN_PROMPT_VERSION=10 BACKGROUND_PROMPT_VERSION=7 BACKGROUND_RENDER_REFERENCE_MODE=shot_aware_plan BASE_LOCATION_DOSSIER_ENABLED=true FLOOR_PLAN_GEOMETRY_READBACK_ENABLED=true FLOOR_PLAN_VLM_READBACK_REAL_PROVIDER_ENABLED=true SHOT_AWARE_BG_RENDER_PLAN_ENABLED=true SHOT_AWARE_BG_RENDER_PLAN_REAL_PROVIDER_ENABLED=true # === Phase II shared-model E2E (2026-06-29, b9dc1432) — full E2E with shared_model ON === # Phase I corpse flags intentionally left OFF (Phase II focus, per Codex alignment). OUTDOOR_SITE_LAYOUT_ENABLED=true OUTDOOR_COMPOSITION_GUIDE_ENABLED=true OUTDOOR_COMPOSITION_GUIDE_SHARED_MODEL_ENABLED=true # 2026-07-11 사용자 결정: 실내 마네킹 포즈 제거 INDOOR_SHARED_POSE_GUIDE_ENABLED=false INDOOR_SHARED_POSE_GUIDE_JUDGE_ENABLED=false OUTDOOR_SHARED_MODEL_GUIDE_JUDGE_ENABLED=true # === Phase C fresh full E2E (2026-06-30) — 연속성 + 등록 pose guide 전부 ON (intermediate 영속화 canary) === VISUAL_CONTINUITY_ANCHOR_ENABLED=true IMMOBILIZED_SUBJECT_CONTINUITY_ENABLED=true IMMOBILIZED_REGISTERED_POSE_GUIDE_ENABLED=true ZOOM_CONTINUITY_ANCHOR_ENABLED=true OUTDOOR_SINGLE_SHOT_SEED_LANE_ENABLED=true BACKGROUND_RENDER_STAR_ANCHOR_ENABLED=false BACKGROUND_RENDER_RECORD_PRIOR_BG_LINEAGE_ENABLED=true IMMOBILIZED_PREV_FRAME_CHAIN_ENABLED=true OUTDOOR_PREV_FRAME_REQUIRED_ENABLED=true SCENE_SINGLE_FRAME_READBACK_ENABLED=true # W-G (2026-07-03) — same-building indoor fp -> outdoor 산출물 구조 참조 (canary ON) OUTDOOR_BUILDING_FP_REF_ENABLED=true # W-I (2026-07-03) — building group anchor 렌더 체이닝: 같은 건물 outdoor bg 시각 정체성 공유 (canary ON) OUTDOOR_BUILDING_ANCHOR_REF_ENABLED=true SAME_PLACE_RENDER_CHAIN_ENABLED=true # W-L (2026-07-03, 7차 정정) — 야외 기준 재편: 항공뷰 배치도(top-down site plan) 1장/loc = 야외 위상 SOT, fp ref 제외 (canary ON) # 2026-07-19 재설계 A: 야외 배경 aerial(위성 배치도) 참조 전면 금지 — 사용자 확정. seed 기반으로 대체(outdoor_seed_plate_reference_enabled) OUTDOOR_AERIAL_REFERENCE_ENABLED=false # W-M (2026-07-03, 9차) — 야외 plate 참조 단계화: 그룹 체인 lane(첫 plate=배치도 1장, 이후=이전 plate+배치도 max2, 순서=LLM) + 실내 anchor 제거 + aerial∧building fp 동시 첨부 금지 (canary ON) OUTDOOR_PLATE_STAGE_CHAIN_ENABLED=true # W22 (2026-07-10) — 야외 직행 합성: 장소 캐논(실사+맵)+grounding+nb2 직행, 야외 스택 우회 (fresh E2E 검증) # 2026-07-11 사용자 결정: 직행 체인 악영향(서구화·9절 번역 융해) — 이전 스택 복귀 OUTDOOR_DIRECT_COMPOSE_ENABLED=false # ── Qwen 3.8 Max — VLM 평가 실험용 (2026-08-07) ──────────────────────── # DashScope OpenAI 호환 엔드포인트. 값을 넣으면 qwen_vlm_pilot.py 가 동작한다. # 국제(싱가포르): https://dashscope-intl.aliyuncs.com/compatible-mode/v1 # 중국(베이징) : https://dashscope.aliyuncs.com/compatible-mode/v1 DASHSCOPE_API_KEY=sk-ws-H.DMHDHPR.aqkM.MEQCICBEuVu08LTPSQBoeGXLxD4qcTMWYTuSPtpzEk2wkHYgAiB3I2sS8fD0BFUpo7x9OGF9vgc_t7zCAf3HhFhxJHUu7A DASHSCOPE_BASE_URL=https://dashscope-intl.aliyuncs.com/compatible-mode/v1 QWEN_VLM_MODEL=qwen3.8-max # G+Q 동시 판정 체계 (2026-08-10 사용자 확정 — 신규 실행부터 적용) # 설계 SOT: docs/superpowers/specs/2026-08-10-dual-judge-selection-redesign-design.md # ★금월도 에피소드(e716bafb/d6a9aa85)는 ON 상태에서 resume 하지 않는다(운영 규칙) MULTIROLL_GQ_JUDGE_ENABLED=false # confined fp 경로 (2026-08-11 사용자 확정 — 신규 실행부터 적용, Codex 3차 APPROVED 5648a1ca) # 설계 SOT: docs/superpowers/specs/2026-08-10-confined-interior-fp-readback-production-design.md # ★금월도 에피소드(e716bafb/d6a9aa85)는 ON 상태에서 resume 하지 않는다(운영 규칙) STILL_CONFINED_FP_ENABLED=true BGFIRST_NO_CONTI_EXEMPT_TAGS=S75sh7 # ── QK 카나리아 (2026-08-12 사용자 확정: 두 플래그 ON + 표본 씬 슬라이스) ── # GQ 는 위에서 false 로 내림 (QK 와 동시 ON = fail-closed) MULTIROLL_QK_JUDGE_ENABLED=true STILL_IDENTITY_REF_ROLE_ENABLED=true # grok2 전환 카나리아 — 9씬 23샷 (전체 재실행 아님 — 실행 루프 allowlist) # 2026-08-13 대조 런: nb2 원본 조립·3롤 (grok 23샷과 같은 staging v22 위에서 비교) STILL_IMAGE_BACKEND=nb2 STILL_RECIPE_ROLL_COUNT=2 # 의도된 config 변경(QK/identity 스탬프) 승인 — 이미지 스텝 한정, 통과 후 "" 복귀 STEP_CONFIG_DRIFT_ACK=scene_image_pipeline STILL_CINE_TRANSFORM_ENABLED=true STILL_JIT_REGEN_LIMIT=300