film-date-agent
画像にフィルムカメラのクォーツデート(日付スタンプ)の物理光学露光を焼き付ける道具を、AIエージェントから使うための手続き。描画は物理光学シミュレーションエンジン(FilmDateStamp)が行い、このスキルは「頼まれたら迷わず最適なプリセットと日時で焼き付け、結果を正しく報告する」ことを規定する。
道具
- コマンド:
film-date-agent(またはpython -m film_date_agent) - 導入確認:
film-date-agent doctorが全項目[OK]であること - プリセット:
favorite(お気に入り)が既定。実体はfavorites.jsonが決める(既定はJapanese Snap (Disposable):写ルンです風、オレンジ発光、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を確認してから本手順に戻ること。
トリガー語(こんな指示があったら発動)
- 「写真に日付スタンプを入れて」「フィルム風の日付を入れて」「レトロな日付を入れて」
- 「写ルンですっぽくして」「90年代風の日付を入れて」「80年代の一眼レフ風にして」
- 「撮影日時を焼き付けて」「EXIFの日付を入れて」
- 「日付と時刻(時間)も入れて」
- 画像を生成・加工した直後に「日付スタンプ押して」と言われた場合も対象
実行手順
-
対象画像の特定:
- 会話の中で言及されている画像、または直前に生成・編集した画像を特定する。不明な場合は勝手に推測せず確認する。
-
プリセットとパラメータの選択:
- 特に指定がない場合: 既定のお気に入り(
favorite)を使用する。film-date-agent apply <対象画像> --json - 世界観や時代・スタイルの指定がある場合:
- 「写ルンです風」「使い捨てカメラ風」:
--preset japanese-snap-disposable(オレンジ発光・5x7カプセルドット・時分併記) - 「90年代日本」「東京スナップ」:
--preset japanese-tokyo-90s(アンバー発光・80s 7セグ) - 「アメリカ風」「西海岸」:
--preset american-west-coast(ゴールデンイエロー・月日年順) - 「80年代モーテル」「赤色LED」:
--preset american-80s-red-quartz(クォーツレッド・一眼レフ直立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(ネオピンク丸文字)
- 「写ルンです風」「使い捨てカメラ風」:
- 特に指定がない場合: 既定のお気に入り(
-
日付・時刻オプションの組み立て:
- 指定がない場合(既定): お気に入りでは
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東京スナップ、写ルンです風、西海岸、80s赤LED、初期コンデジ等)があること。
- 日付は写真のEXIF撮影日時、現在日時、レトロランダム、自由な指定文字列から選べること。
- ユーザー好みの設定を作成して「お気に入り(favorite)」に保存できること。
守ること
- 元画像を直接上書きしない(
-oに入力画像と同じパスを指定しない)。 - 報告は JSON の
outputを正とする。推測でファイル名を答えない。