film-date-agent
이미지에 필름 카메라의 쿼츠 데이트(날짜 스탬프) 물리 광학 노광을 각인하는 도구를 AI 에이전트에서 사용하기 위한 절차입니다. 렌더링은 물리 광학 시뮬레이션 엔진(FilmDateStamp)이 수행하며, 이 스킬은 "요청받으면 망설이지 않고 최적의 프리셋과 날짜/시간으로 각인하고 결과를 올바르게 보고"하도록 규정합니다.
도구
- 명령어:
film-date-agent(또는python -m film_date_agent) - 설치 확인:
film-date-agent doctor의 모든 항목이[OK]여야 함 - 프리셋:
favorite(즐겨찾기)가 기본값입니다. 실제 내용은favorites.json이 결정합니다(기본값은Japanese Snap (Disposable): writeRunners 풍, 오렌지 발광, 5x7 캡슐 도트, 시분 병기).
미설치 / 명령어를 찾을 수 없는 경우
film-date-agent가 없거나doctor가 통과하지 않으면 먼저 설치를 진행합니다. 리포지토리(https://github.com/treeturtlefall-arch/FilmDateStamp-agent)를 이미 클론했다면bash scripts/install_agent.sh를 실행하고, 이어서bash scripts/install_skill.sh로 이 스킬을 다시 배치합니다.- 설치 후 다시
film-date-agent doctor --json을 실행하여"ok": true를 확인한 후 본 절차로 돌아옵니다.
트리거어(이런 지시가 있으면 발동)
- "사진에 날짜 스탬프 넣어줘" "필름 느낌의 날짜 넣어줘" "레트로한 날짜 넣어줘"
- "writeRunners 처럼 해줘" "90년대 느낌의 날짜 넣어줘" "80년대 DSLR 느낌으로 해줘"
- "촬영 날짜/시간을 각인해줘" "EXIF의 날짜를 넣어줘"
- "날짜와 시간(시각)도 넣어줘"
- 이미지를 생성/가공한 직후 "날짜 스탬프 찍어줘" 라고 말한 경우도 대상
실행 절차
-
대상 이미지 특정:
- 대화 중에 언급된 이미지, 또는 직전에 생성/편집한 이미지를 특정합니다. 불명확한 경우 임의로 추측하지 않고 확인합니다.
-
프리셋과 파라미터 선택:
- 특별히 지정이 없는 경우: 기본 즐겨찾기(
favorite)를 사용합니다.film-date-agent apply <대상_이미지> --json - 세계관, 시대, 스타일 지정이 있는 경우:
- "writeRunners 풍" "일회용 카메라 풍":
--preset japanese-snap-disposable(오렌지 발광, 5x7 캡슐 도트, 시분 병기) - "90년대 일본" "도쿄 스냅":
--preset japanese-tokyo-90s(앰버 발광, 80s 7세그) - "미국 풍" "서부 해안":
--preset american-west-coast(골든 옐로우, 월/일/년 순) - "80년대 모텔" "빨간 LED":
--preset american-80s-red-quartz(쿼츠 레드, DSLR 직립 7세그) - "유럽" "파리/베를린":
--preset european-classic-parisberlin(도트 구분, 절제된 노광) - "2000년대 초반" "초기 콤팩트 디지털 카메라":
--preset y2k-digicam-early-2000s(등폭 액정 폰트) - "70년대" "클래식 카메라":
--preset monochrome-70s-canodate-e또는--preset vintage-70s-color-datematic(기계식 조각 활자) - "사이버" "SF 영화":
--preset cyber-telemetry-80s-sci-fi(사이버 그린 HUD) - "헤이세이 레트로" "프리클라 풍":
--preset y2k-pop-heisei-fancy(네오 핑크 둥근 글자)
- "writeRunners 풍" "일회용 카메라 풍":
- 특별히 지정이 없는 경우: 기본 즐겨찾기(
-
날짜/시간 옵션 조립:
- 지정이 없는 경우(기본값): 즐겨찾기에서는
favorites.json의date설정(초기값은photo)에 따라 EXIF 촬영 날짜/시간 → 파일 생성/갱신 시간 → 현재 시간 순서로 자동 결정됩니다. 즐겨찾기 이외의 프리셋에서는 각 프리셋 기본 날짜가 사용됩니다. - 사진의 촬영 날짜/시간을 사용하고 싶은 경우:
- "촬영 날짜/시간으로" "EXIF 날짜로" →
--date photo를 지정합니다(자동으로 EXIF 촬영 날짜/시간을 추출).
- "촬영 날짜/시간으로" "EXIF 날짜로" →
- 특정 날짜/시간을 지정받은 경우:
- "1998년 12월 24일로 해줘" →
-d "'98 12 24"또는--at 1998-12-24 - "2004년 8월 15일 14시 30분" →
--at 2004-08-15T14:30 --show-time
- "1998년 12월 24일로 해줘" →
- 오늘 현재 시간을 사용하고 싶은 경우:
- "오늘 날짜로" "지금 시간으로" →
--date auto
- "오늘 날짜로" "지금 시간으로" →
- 시간(HH:MM) 표시/비표시:
- "시간도 넣어줘" "몇 시 몇 분도" →
--show-time - "날짜만으로" "시간 필요 없어" →
--no-time
- "시간도 넣어줘" "몇 시 몇 분도" →
- 랜덤 빈티지 날짜로 하고 싶은 경우:
- "적당한 옛날 날짜로" "랜덤으로" →
--date random
- "적당한 옛날 날짜로" "랜덤으로" →
- 지정이 없는 경우(기본값): 즐겨찾기에서는
-
결과 보고:
--json의 출력을 파싱하여ok가 true 이면output에 저장된 이미지 경로를 사용자에게 제시·보고합니다.- 각인한 실제 날짜 문자열(
date_text) 및 적용한 스타일(preset_resolved)을 한마디 덧붙입니다. - 예: "90년대 도쿄 스냅 풍(Japanese Tokyo 90s)으로, 촬영 날짜/시간
'03 10 02 17:49를 각인했습니다."
-
오류 시 대응:
- 종료 코드 2(설정 오류):
film-date-agent presets list로 사용 가능한 프리셋을 확인하여 다시 선택합니다. - 종료 코드 3(입력 파일 없음): 입력 이미지 경로를 확인합니다.
- 종료 코드 4(출력 파일 중복): 기본적으로 자동 일련번호(
_stamped_1)가 붙지만, 덮어쓰기를 요청받은 경우--overwrite를 추가합니다. - 종료 코드 5(엔진 실패):
film-date-agent doctor의 결과를 확인하여 사용자에게 보고합니다.
- 종료 코드 2(설정 오류):
"무엇을 할 수 있나요?" 라고 물으면
film-date-agent capabilities --json을 실행하여 최신 능력 목록에 기반하여 답변합니다.- 설명의 형식:
- 필름 유제에 대한 빛의 각인(물리 광학 노광, 중앙 하이라이트 번짐, 할레이션 확산)을 시뮬레이션하는 도구입니다.
- 12종류의 시대·지역별 프리셋(90s 도쿄 스냅, writeRunners 풍, 서부 해안, 80s 빨간 LED, 초기 콤팩트 디지털 카메라 등)이 있습니다.
- 날짜는 사진의 EXIF 촬영 날짜/시간, 현재 날짜/시간, 레트로 랜덤, 자유로운 지정 문자열 중에서 선택할 수 있습니다.
- 사용자 취향의 설정을 만들어 "즐겨찾기(favorite)" 에 저장할 수 있습니다.
지켜야 할 것
- 원본 이미지를 직접 덮어쓰지 않습니다(
-o에 입력 이미지와 같은 경로를 지정하지 않음). - 보고는 JSON 의
output을 기준으로 합니다. 추측으로 파일 이름을 대답하지 않습니다.