← 목록
기타 2026-07-22 6KB 읽기 6분

크라우니 미디어생성도구 (crowny-media) — 사진생성도구 + Seedance 2.0 프로토타입

날짜 2026-07-22 · 경로 /Users/ef/crowny-media · 스펙 SSOT SPEC.md

개요

사용자 지시: "사진생성도구를 만들자. 시댄스(Seedance) 2.0 영상제작 도구 프로토타입 만들기 준비. 제미나이도 좋음, 기본 플랫폼 가리지 않음." → 프로바이더에 묶이지 않는 어댑터 구조로 설계. 어댑터 파일 하나 추가하면 새 프로바이더가 붙는다.

착수 근거 (실측)

사실실측
기존 crowny-webskin/도구/이미지생성.sh가 Gemini 하드코딩 + webskin 전용reallux 재사용 불가
Gemini 키 10일째 limit: 02026-07-22 429 generate_content_free_tier_requests, limit: 0 재실측
imagen-4.0-fast실측 404 "no longer available to new users" — 기존 기록의 "400 유료플랜 전용"과 다름, 설정.psv 정정
이 머신 = M2 Max / 32GB / MLX 0.30.6 설치됨API 없이 로컬 생성 가능한 하드웨어

산출물

/Users/ef/crowny-media/
  SPEC.md  SEEDANCE-프로토타입.md
  크라우니미디어              ← CLI (생성/상태/비용/설치/검증/주입)
  한선씨/미디어판정.한선       ← 판정 SSOT (36/36 PASS)
  한선씨/지시서검증.한선       ← 스키마 검증 (13/13 PASS)
  어댑터/ 8종 + 각 .한선 동반
  템플릿/ 3종 + 각 .한선 동반
  지시서/reallux.psv          ← 실제 상품 16종 (products.json에서 실값)
  산출/reallux/RL-*/1.jpg     ← 실제 생성된 16장
  로그/생성로그.psv

어댑터 8종 (오늘 상태 실측)

ID종류오늘실측 사유
local-render이미지가능Chrome headless + sips
local-mlx이미지mflux 미설치(opt-in, 자동설치 금지)
gemini-image이미지429 limit: 0
imagen이미지404 신규 사용자 폐지
openai-image이미지키 없음
ideogram이미지키 없음
seedance영상ARK_API_KEY 없음
veo영상키는 있으나 429

4상 판정 (한선씨 SSOT)

티=실행 / 옴=폴백 / 타=거부 / 음=예산초과 승인대기. bash는 판정을 재구현하지 않고 .toau를 호출한다.

Seedance 2.0 프로토타입

  • 비동기 3단: POST {BASE}/contents/generations/tasks → 폴링 GET .../tasks/{id}video_url 다운로드(24시간 만료라 즉시 저장)
  • 모델 doubao-seedance-2-0-260128, 인증 Bearer $ARK_API_KEY, 경로 Volcengine Ark(중국) / BytePlus ModelArk(해외)
  • ~$0.14~0.16/초 (1080p)
  • 이 스펙은 공식 문서 렌더 실패로 전량 [3자] 재인용이다. 어댑터에 --검증 모드를 넣어 키가 생기면 최소 1건으로 스키마를 실측한 뒤 배치를 돌린다. 실측 전 대량 실행 금지 — 코드·문서에 반복 명시함.
  • 부수 성과: veo.sh 실호출로 문서 없이 파라미터 제약을 역산durationSeconds ∈ {4,6,8}, aspectRatio ∈ {16:9, 9:16} (그 외 400)

검증 (게이트 9종)

G1~G8 실측 PASS. G9(주입) FAIL → 메인 세션이 수리 후 재검증 PASS.

메인 세션이 직접 수리한 결함 4건

등급내용수리
P0주입/api/admin/login을 호출하지 않아 업로드·PUT·audit이 전부 401로 실패 → 그걸 "업로드할 이미지 없음"으로 오표시해 진짜 원인을 숨김토큰 발급 + 전 요청에 Bearer, 실패 시 서버 응답 원문 출력
P1어댑터가 exit3(429) 소진 시 폴백하지 않고 죽은 어댑터만 재시도하다 실패어댑터별 재시도 카운터 분리 → 소진 시 다음 어댑터로 폴백
P1exit3 소진 실패가 로그에 아예 안 남음(감사 공백)재시도소진-exit3 로그 기록
P2폴백으로 무료 어댑터가 성공했는데 로그 비용이 최초 요청 어댑터 단가로 기록실제 성공 어댑터 단가로 기록
(추가)exit4(영구실패)도 체인을 끊어 imagen 404가 나면 local-render까지 못 감exit4도 폴백
수리 후 폴백 체인 실측: gemini-image(429×3) → imagen(404) → openai-image(키없음) → ideogram(키없음) → local-mlx(미설치) → local-render 성공(273,841B)

주입 종단 실측: 생성 → 주입(인증) → audit 한 흐름에서 RL-101이 연계불가 → 보완필요(R09,R10), EP포함=true로 전환됨을 확인. 테스트 후 전량 원복(images=[], uploads 0건, audit 연계불가:16 복귀).

정직성 / 정책

  • local-render 산출물은 플레이스홀더이지 상품사진이 아니다. 이미지 안에 "AI PLACEHOLDER" 배지를 넣고, IPTC 메타에 CROWNY-MEDIA PLACEHOLDER를 심고, 파일 로그에도 표기한다.
  • Google Merchant Center는 AI 이미지에 IPTC 태그를 요구하고 제거를 금지 → 후처리에서 지우지 않는다.
  • 한국 AI기본법(2026-01-22 시행) 제31조 투명성 의무 — 계도기간 중이나 표시를 기본값으로.
  • 네이버쇼핑의 AI 이미지 정책은 확인되지 않았다(unknown). 생성 이미지를 상품 대표컷으로 EP에 올리는 것은 검수 리스크가 있다.

잔여 / 다음

  1. 실사 상품사진이 없다 — reallux 16종은 여전히 연계불가. 플레이스홀더로는 네이버 검수를 통과할 수 없다. 실촬영본 또는 유료 생성이 필요.
  2. 오늘 유료 생성 경로가 0개 — Gemini billing 활성화 또는 다른 프로바이더 키가 있어야 실사 생성 가능.
  3. 설치 mlx 하면 API 없이 무제한 로컬 생성 가능(FLUX.1-schnell 4bit, M2 Max). 수 GB 다운로드라 명시적 승인 필요로 설계됨 — 아직 미실행.
  4. Seedance 스키마는 키가 생긴 뒤 크라우니미디어 검증 seedance실측 후 배치.
  5. local-mlx.sh 생성 경로는 작성됐으나 미검증(mflux 미설치).

관련 파일

  • CLI: /Users/ef/crowny-media/크라우니미디어
  • 판정 SSOT: /Users/ef/crowny-media/한선씨/미디어판정.한선
  • Seedance: /Users/ef/crowny-media/어댑터/seedance.sh, SEEDANCE-프로토타입.md
  • reallux 연동: 크라우니미디어 주입 reallux [슬러그]