IPT merge all similar
unknown
python
9 months ago
1.1 kB
16
No Index
import requests def find_similar(person_id, person_name): similar = requests.get(f"{base_url}/api/people/{person_id}/similar-faces", headers=headers).json() if similar and isinstance(similar, list): merge_payload = {"ids": [p["id"] for p in similar]} requests.post(f"{base_url}/api/immich-proxy/people/{person_id}/merge", json=merge_payload) print(f"{person_id} - {person_name:<20} - Merged with {','.join(merge_payload['ids'])}") else: print(f"{person_id} - {person_name:<20} - No merge") def main(): page = 1 more = True while more: people = requests.get(f"{base_url}/api/people/list?page={page}", headers=headers).json()["people"] for person in people: find_similar(person["id"], person["name"]) if len(people) == 60: page += 1 else: more = False base_url = "<power_tools_url>" headers = { "immich_access_token": "<immich_token>", "immich_auth_type": "password", "immich_is_authenticated": "true" } if __name__ == "__main__": main()
Editor is loading...
Leave a Comment