# ADO2 Higgsfield Shorts server — 이 파일을 .env 로 복사해 채우세요 (.env 는 gitignore됨) # --- OpenAI API (spec_builder, 필수) --- OPENAI_API_KEY= OPENAI_MODEL=gpt-4o # --- HTTP --- PORT=10001 # CORS 허용 출처. 콤마구분. 운영 시 실제 도메인으로 제한 (예: https://ado2short.o2osolution.ai) CORS_ORIGINS=* # --- 비동기 작업 큐 --- # 동시에 실제 생성을 돌릴 작업 수. 초과 요청은 큐에서 대기(status=queued). # Higgsfield/Remotion이 무겁고 외부 단가가 있으므로 보수적으로 둔다. MAX_CONCURRENT_JOBS=2 # 완료/실패한 작업 상태를 메모리에 보관할 시간(초). 지나면 폴링 시 청소. JOB_RETENTION_SECONDS=3600 # --- 비디오 생성 백엔드 선택 --- # fal : fal.ai Seedance 2.0 reference-to-video (멀티이미지 9장 + 9:16 세로). 멀티이미지엔 이쪽 권장. # higgsfield : Higgsfield(dop/seedance v1/kling). 단일 이미지만. VIDEO_BACKEND=higgsfield # --- fal.ai (Seedance 2.0, VIDEO_BACKEND=fal 일 때) --- # 키 발급: https://fal.ai → API Keys. 형식은 keyid:secret. FAL_KEY= FAL_MODEL_ID=bytedance/seedance-2.0/reference-to-video FAL_MAX_IMAGES=9 # Seedance 2.0 멀티이미지 최대 9장 FAL_ASPECT_RATIO=9:16 # auto/16:9/9:16/4:3/3:4/1:1/21:9 FAL_RESOLUTION=720p # 480p/720p/1080p FAL_DURATION=8 # "auto" 또는 4~15(초) # --- Higgsfield (공통, VIDEO_BACKEND=higgsfield 일 때) --- # 백엔드: cli(디바이스 로그인) | api(공식 SDK). 컨테이너에서는 api 권장. HIGGSFIELD_BACKEND=cli HIGGSFIELD_ASPECT_RATIO=9:16 HIGGSFIELD_DURATION=8 HIGGSFIELD_WAIT_TIMEOUT=15m # --- Higgsfield: CLI 백엔드 --- # 인증: `higgsfield auth login` (~/.higgsfield, 컨테이너에선 별도 주입 필요) HIGGSFIELD_MODEL=marketing_studio_video HIGGSFIELD_MODE=tv_spot HIGGSFIELD_GENERATE_AUDIO=true # --- Higgsfield: API 백엔드 (공식 higgsfield-client SDK) --- # 키 발급: https://cloud.higgsfield.ai → API 섹션. 형식은 key:secret. HIGGSFIELD_API_KEY= HIGGSFIELD_API_SECRET= # (또는 SDK 네이티브 변수로 직접 줘도 됨: HF_KEY="key:secret") # # 비디오 application 선택 (platform.higgsfield.ai 실측): # · DoP : APP=/v1/image2video/dop, VARIANT=dop-turbo|dop-lite|dop-preview # input_images(복수). aspect_ratio 파라미터 무시 → 입력 이미지 비율 따라감(세로 보장 X). # · Seedance : APP=/v1/image2video/seedance, VARIANT=seedance_pro|seedance_lite # input_image(단수, 1장). aspect_ratio 9:16 네이티브 지원(세로 보장 O), duration 3~12. # 세로 9:16 숏폼에는 Seedance 권장. HIGGSFIELD_API_APP=/v1/image2video/seedance HIGGSFIELD_API_VARIANT=seedance_pro # Seedance/DoP image2video 모두 입력 이미지 1장만 사용. HIGGSFIELD_API_MAX_IMAGES=1 # --- Remotion --- REMOTION_FPS=30 REMOTION_COMPOSITION=MumumShort # --- Paths (Docker에서 오버라이드. 비우면 레포 기본 경로 사용) --- # WEBAPP_DIR= # OUTPUTS_DIR= # UPLOADS_DIR= # --- Azure Blob Storage (완성 영상 업로드 + 갤러리 조회) --- # 비워두면 로컬 파일시스템 fallback. # BASE_URL: 컨테이너 내 가상 폴더 경로. 끝에 / 포함. # 예) https://account.blob.core.windows.net/container/prefix/ # SAS_TOKEN: 컨테이너 범위 SAS. 필수 권한: sp=racwdl (읽기·추가·생성·쓰기·삭제·목록). AZURE_BLOB_BASE_URL= AZURE_BLOB_SAS_TOKEN=