ワークフローで写真を自動整理
Immichのワークフロー機能で、VRChatの写真を条件に合わせて自動でアルバムへ追加する方法
ぶいちゃフォト(Immich)のワークフローを使うと、アップロードされた写真を条件に応じて 自動でアルバムへ追加 できます。ここでは「特定のフレンドが写った VRChat の写真を、指定のアルバムへ自動で入れる」例で説明します。
ワークフローとは
ワークフローは、次の3つの部品を順につなげた自動処理です。
| 部品 | 役割 | この記事の例 |
|---|---|---|
| トリガー | 処理を始めるきっかけ | AssetMetadataExtraction(写真のメタデータを読み込んだとき) |
| フィルタ | 条件に合う写真だけを通す | assetExifFilter(説明欄を正規表現で判定) |
| アクション | 条件に合った写真への処理 | assetAddToAlbums(アルバムへ追加) |

例: フレンドが写った写真を自動でアルバムへ
全体の流れ
- VRCX などのツールで、VRChat の写真に一緒に写ったユーザーの情報(ユーザーIDなど)を、写真のメタデータ(説明欄)へ書き込みます。
- 写真をぶいちゃフォトへアップロードします(自動同期 が便利です)。
- Immich がアップロード時にメタデータを読み込みます。
- 説明欄に指定したユーザーIDが含まれていれば、指定のアルバムへ自動で追加されます。
VRCX 側の設定
VRCX の設定で、スクリーンショットにワールド/プレイヤー情報を保存するオプションを有効にしてください。設定画面の該当オプションから切り替えられます。メタデータの書き込み形式は VRCX のバージョンによって異なる場合があるため、実際にアップロードした写真の説明欄を確認してからフィルタを作ってください。
JSON を編集する
ワークフローの編集画面では、ビジュアル編集と JSON 編集を切り替えられます。JSON 編集では次のように書きます。

{
"name": "テスト",
"description": null,
"enabled": true,
"trigger": "AssetMetadataExtraction",
"steps": [
{
"method": "immich-plugin-core#assetExifFilter",
"config": {
"pattern": "\"id\":\"usr_(A|B|C|D)\"",
"property": "description",
"matchType": "regex"
},
"enabled": true
},
{
"method": "immich-plugin-core#assetAddToAlbums",
"config": {
"albumIds": ["albumIds"]
},
"enabled": true
}
]
}
各項目の意味
| 項目 | 意味 |
|---|---|
name | ワークフローの名前。好きな名前に変えられます |
description | ワークフローの説明(なくても構いません) |
enabled | true で有効、false で無効 |
trigger | 始めるきっかけ。AssetMetadataExtraction はメタデータ読み込み時 |
steps | 上から順に実行される処理(フィルタ → アクション) |
method | 使う部品。assetExifFilter がフィルタ、assetAddToAlbums がアルバム追加 |
property | 判定する項目。ここでは説明欄(description) |
matchType | 判定方法。regex は正規表現 |
pattern | 正規表現のパターン |
albumIds | 追加先アルバムのID(複数指定可) |
pattern の読み方
JSON の中では " を \" と書くため、上の pattern は実際には次の正規表現を意味します。
"id":"usr_(A|B|C|D)"
説明欄に "id":"usr_ に続いて、A、B、C、D のいずれかが入っている部分があれば一致します。(A|B|C|D) は「いずれか」を表します。
実際の運用では、matchType を "contains"(部分一致)にして、pattern に "id":"usr_<フレンドのID>" を指定しています。正規表現を使わない簡単な方法です。VRCX が説明欄に "id":"usr_..." の形で書き込むことは、実運用で確認済みです。
A〜D を自分のフレンドのIDに置き換えてください
例の A、B、C、D は仮の値です。実際のユーザーIDは usr_ の後ろが長い英数字とハイフンの文字列です。usr_ に続く部分を、対象のフレンドのID(usr_ を除いた部分)に書き換え、複数人なら | で区切ります。人数が1人なら usr_(ID) の形で構いません。IDの中のハイフンは、そのまま書けます。
albumIds を実際のアルバムIDに置き換える
例の "albumIds" は仮の文字列です。追加先アルバムの実際のIDに置き換えます。
アルバムを開く
ぶいちゃフォトのWeb版で、追加先のアルバムを開きます。
URLの末尾を確認
ブラウザのアドレスバーのURLは https://photos.buicha.jp/albums/ の後ろにIDが続く形です。この 末尾の文字列がアルバムID です(アルバムを開いたときのアドレスバーのURLのうち、/albums/ の後ろの部分です)。
JSON に貼り付け
"albumIds": ["ここにID"] のように、ダブルクォートで囲んで入れます。複数のアルバムに入れたいときは , で区切って並べます。
画面の使い方
ビジュアル編集とJSON編集の切り替え
編集画面の上部にある「ビジュアル」と「JSON」のタブで切り替えます。どちらで編集しても内容は共通です。

保存
編集後は、画面右上の「保存」を押してください。保存しないと変更は反映されません。
有効/無効
enabled を true にすると有効、false にすると無効になります。ワークフロー全体と、各ステップのそれぞれに設定があります。うまく動かないときは、ワークフローとステップの両方が有効になっているか確認してください。
動作の確認
ワークフローは、設定後に読み込まれる写真に対して動作します。確認するには、対象のIDが説明欄に入った写真を新しくアップロードして、アルバムに追加されるか見てください。
うまくいかないとき
- ワークフローとステップが有効になっているか
patternが写真の説明欄の実際の文字列と一致しているか(説明欄を確認してください)usr_のIDを自分のフレンドのIDに置き換えたかalbumIdsを実際のアルバムIDに置き換えたか- JSON のカンマや括弧が壊れていないか