Duplicate Response Dto
immichpy.client.generated.models.duplicate_response_dto.DuplicateResponseDto
pydantic-model
Bases: BaseModel
DuplicateResponseDto
Show JSON schema:
{
"$defs": {
"AssetFaceWithoutPersonResponseDto": {
"description": "AssetFaceWithoutPersonResponseDto",
"properties": {
"boundingBoxX1": {
"description": "Bounding box X1 coordinate",
"title": "Boundingboxx1",
"type": "integer"
},
"boundingBoxX2": {
"description": "Bounding box X2 coordinate",
"title": "Boundingboxx2",
"type": "integer"
},
"boundingBoxY1": {
"description": "Bounding box Y1 coordinate",
"title": "Boundingboxy1",
"type": "integer"
},
"boundingBoxY2": {
"description": "Bounding box Y2 coordinate",
"title": "Boundingboxy2",
"type": "integer"
},
"id": {
"description": "Face ID",
"format": "uuid",
"title": "Id",
"type": "string"
},
"imageHeight": {
"description": "Image height in pixels",
"title": "Imageheight",
"type": "integer"
},
"imageWidth": {
"description": "Image width in pixels",
"title": "Imagewidth",
"type": "integer"
},
"sourceType": {
"anyOf": [
{
"$ref": "#/$defs/SourceType"
},
{
"type": "null"
}
],
"default": null,
"description": "Face detection source type"
}
},
"required": [
"boundingBoxX1",
"boundingBoxX2",
"boundingBoxY1",
"boundingBoxY2",
"id",
"imageHeight",
"imageWidth"
],
"title": "AssetFaceWithoutPersonResponseDto",
"type": "object"
},
"AssetResponseDto": {
"description": "AssetResponseDto",
"properties": {
"checksum": {
"description": "Base64 encoded SHA1 hash",
"title": "Checksum",
"type": "string"
},
"createdAt": {
"description": "The UTC timestamp when the asset was originally uploaded to Immich.",
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"deviceAssetId": {
"description": "Device asset ID",
"title": "Deviceassetid",
"type": "string"
},
"deviceId": {
"description": "Device ID",
"title": "Deviceid",
"type": "string"
},
"duplicateId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Duplicate group ID",
"title": "Duplicateid"
},
"duration": {
"description": "Video duration (for videos)",
"title": "Duration",
"type": "string"
},
"exifInfo": {
"anyOf": [
{
"$ref": "#/$defs/ExifResponseDto"
},
{
"type": "null"
}
],
"default": null
},
"fileCreatedAt": {
"description": "The actual UTC timestamp when the file was created/captured, preserving timezone information. This is the authoritative timestamp for chronological sorting within timeline groups. Combined with timezone data, this can be used to determine the exact moment the photo was taken.",
"format": "date-time",
"title": "Filecreatedat",
"type": "string"
},
"fileModifiedAt": {
"description": "The UTC timestamp when the file was last modified on the filesystem. This reflects the last time the physical file was changed, which may be different from when the photo was originally taken.",
"format": "date-time",
"title": "Filemodifiedat",
"type": "string"
},
"hasMetadata": {
"description": "Whether asset has metadata",
"title": "Hasmetadata",
"type": "boolean"
},
"height": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Asset height",
"title": "Height"
},
"id": {
"description": "Asset ID",
"title": "Id",
"type": "string"
},
"isArchived": {
"description": "Is archived",
"title": "Isarchived",
"type": "boolean"
},
"isEdited": {
"description": "Is edited",
"title": "Isedited",
"type": "boolean"
},
"isFavorite": {
"description": "Is favorite",
"title": "Isfavorite",
"type": "boolean"
},
"isOffline": {
"description": "Is offline",
"title": "Isoffline",
"type": "boolean"
},
"isTrashed": {
"description": "Is trashed",
"title": "Istrashed",
"type": "boolean"
},
"libraryId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Library ID",
"title": "Libraryid"
},
"livePhotoVideoId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Live photo video ID",
"title": "Livephotovideoid"
},
"localDateTime": {
"description": "The local date and time when the photo/video was taken, derived from EXIF metadata. This represents the photographer's local time regardless of timezone, stored as a timezone-agnostic timestamp. Used for timeline grouping by \"local\" days and months.",
"format": "date-time",
"title": "Localdatetime",
"type": "string"
},
"originalFileName": {
"description": "Original file name",
"title": "Originalfilename",
"type": "string"
},
"originalMimeType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Original MIME type",
"title": "Originalmimetype"
},
"originalPath": {
"description": "Original file path",
"title": "Originalpath",
"type": "string"
},
"owner": {
"anyOf": [
{
"$ref": "#/$defs/UserResponseDto"
},
{
"type": "null"
}
],
"default": null
},
"ownerId": {
"description": "Owner user ID",
"title": "Ownerid",
"type": "string"
},
"people": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/PersonWithFacesResponseDto"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "People"
},
"resized": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Is resized",
"title": "Resized"
},
"stack": {
"anyOf": [
{
"$ref": "#/$defs/AssetStackResponseDto"
},
{
"type": "null"
}
],
"default": null
},
"tags": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/TagResponseDto"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Tags"
},
"thumbhash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Thumbhash for thumbnail generation (base64) also used as the c query param for thumbnail cache busting.",
"title": "Thumbhash"
},
"type": {
"$ref": "#/$defs/AssetTypeEnum"
},
"unassignedFaces": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/AssetFaceWithoutPersonResponseDto"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Unassignedfaces"
},
"updatedAt": {
"description": "The UTC timestamp when the asset record was last updated in the database. This is automatically maintained by the database and reflects when any field in the asset was last modified.",
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"visibility": {
"$ref": "#/$defs/AssetVisibility"
},
"width": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Asset width",
"title": "Width"
}
},
"required": [
"checksum",
"createdAt",
"deviceAssetId",
"deviceId",
"duration",
"fileCreatedAt",
"fileModifiedAt",
"hasMetadata",
"height",
"id",
"isArchived",
"isEdited",
"isFavorite",
"isOffline",
"isTrashed",
"localDateTime",
"originalFileName",
"originalPath",
"ownerId",
"thumbhash",
"type",
"updatedAt",
"visibility",
"width"
],
"title": "AssetResponseDto",
"type": "object"
},
"AssetStackResponseDto": {
"description": "AssetStackResponseDto",
"properties": {
"assetCount": {
"description": "Number of assets in stack",
"title": "Assetcount",
"type": "integer"
},
"id": {
"description": "Stack ID",
"title": "Id",
"type": "string"
},
"primaryAssetId": {
"description": "Primary asset ID",
"title": "Primaryassetid",
"type": "string"
}
},
"required": [
"assetCount",
"id",
"primaryAssetId"
],
"title": "AssetStackResponseDto",
"type": "object"
},
"AssetTypeEnum": {
"description": "Asset type",
"enum": [
"IMAGE",
"VIDEO",
"AUDIO",
"OTHER"
],
"title": "AssetTypeEnum",
"type": "string"
},
"AssetVisibility": {
"description": "Asset visibility",
"enum": [
"archive",
"timeline",
"hidden",
"locked"
],
"title": "AssetVisibility",
"type": "string"
},
"ExifResponseDto": {
"description": "ExifResponseDto",
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "City name",
"title": "City"
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Country name",
"title": "Country"
},
"dateTimeOriginal": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Original date/time",
"title": "Datetimeoriginal"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Image description",
"title": "Description"
},
"exifImageHeight": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image height in pixels",
"title": "Exifimageheight"
},
"exifImageWidth": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Image width in pixels",
"title": "Exifimagewidth"
},
"exposureTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exposure time",
"title": "Exposuretime"
},
"fNumber": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "F-number (aperture)",
"title": "Fnumber"
},
"fileSizeInByte": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "File size in bytes",
"title": "Filesizeinbyte"
},
"focalLength": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Focal length in mm",
"title": "Focallength"
},
"iso": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO sensitivity",
"title": "Iso"
},
"latitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "GPS latitude",
"title": "Latitude"
},
"lensModel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Lens model",
"title": "Lensmodel"
},
"longitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "GPS longitude",
"title": "Longitude"
},
"make": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Camera make",
"title": "Make"
},
"model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Camera model",
"title": "Model"
},
"modifyDate": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Modification date/time",
"title": "Modifydate"
},
"orientation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Image orientation",
"title": "Orientation"
},
"projectionType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Projection type",
"title": "Projectiontype"
},
"rating": {
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Rating",
"title": "Rating"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "State/province name",
"title": "State"
},
"timeZone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Time zone",
"title": "Timezone"
}
},
"title": "ExifResponseDto",
"type": "object"
},
"PersonWithFacesResponseDto": {
"description": "PersonWithFacesResponseDto",
"properties": {
"birthDate": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"description": "Person date of birth",
"title": "Birthdate"
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Person color (hex)",
"title": "Color"
},
"faces": {
"description": "Face detections",
"items": {
"$ref": "#/$defs/AssetFaceWithoutPersonResponseDto"
},
"title": "Faces",
"type": "array"
},
"id": {
"description": "Person ID",
"title": "Id",
"type": "string"
},
"isFavorite": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Is favorite",
"title": "Isfavorite"
},
"isHidden": {
"description": "Is hidden",
"title": "Ishidden",
"type": "boolean"
},
"name": {
"description": "Person name",
"title": "Name",
"type": "string"
},
"thumbnailPath": {
"description": "Thumbnail path",
"title": "Thumbnailpath",
"type": "string"
},
"updatedAt": {
"anyOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Last update date",
"title": "Updatedat"
}
},
"required": [
"birthDate",
"faces",
"id",
"isHidden",
"name",
"thumbnailPath"
],
"title": "PersonWithFacesResponseDto",
"type": "object"
},
"SourceType": {
"description": "Face detection source type",
"enum": [
"machine-learning",
"exif",
"manual"
],
"title": "SourceType",
"type": "string"
},
"TagResponseDto": {
"description": "TagResponseDto",
"properties": {
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Tag color (hex)",
"title": "Color"
},
"createdAt": {
"description": "Creation date",
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"id": {
"description": "Tag ID",
"title": "Id",
"type": "string"
},
"name": {
"description": "Tag name",
"title": "Name",
"type": "string"
},
"parentId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent tag ID",
"title": "Parentid"
},
"updatedAt": {
"description": "Last update date",
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"value": {
"description": "Tag value (full path)",
"title": "Value",
"type": "string"
}
},
"required": [
"createdAt",
"id",
"name",
"updatedAt",
"value"
],
"title": "TagResponseDto",
"type": "object"
},
"UserAvatarColor": {
"description": "Avatar color",
"enum": [
"primary",
"pink",
"red",
"yellow",
"blue",
"green",
"purple",
"orange",
"gray",
"amber"
],
"title": "UserAvatarColor",
"type": "string"
},
"UserResponseDto": {
"description": "UserResponseDto",
"properties": {
"avatarColor": {
"$ref": "#/$defs/UserAvatarColor"
},
"email": {
"description": "User email",
"title": "Email",
"type": "string"
},
"id": {
"description": "User ID",
"title": "Id",
"type": "string"
},
"name": {
"description": "User name",
"title": "Name",
"type": "string"
},
"profileChangedAt": {
"description": "Profile change date",
"format": "date-time",
"title": "Profilechangedat",
"type": "string"
},
"profileImagePath": {
"description": "Profile image path",
"title": "Profileimagepath",
"type": "string"
}
},
"required": [
"avatarColor",
"email",
"id",
"name",
"profileChangedAt",
"profileImagePath"
],
"title": "UserResponseDto",
"type": "object"
}
},
"description": "DuplicateResponseDto",
"properties": {
"assets": {
"description": "Duplicate assets",
"items": {
"$ref": "#/$defs/AssetResponseDto"
},
"title": "Assets",
"type": "array"
},
"duplicateId": {
"description": "Duplicate group ID",
"title": "Duplicateid",
"type": "string"
},
"suggestedKeepAssetIds": {
"description": "Suggested asset IDs to keep based on file size and EXIF data",
"items": {
"format": "uuid",
"type": "string"
},
"title": "Suggestedkeepassetids",
"type": "array"
}
},
"required": [
"assets",
"duplicateId",
"suggestedKeepAssetIds"
],
"title": "DuplicateResponseDto",
"type": "object"
}
Config:
populate_by_name:Truevalidate_assignment:Trueprotected_namespaces:()
Fields:
-
assets(List[AssetResponseDto]) -
duplicate_id(StrictStr) -
suggested_keep_asset_ids(List[UUID])
assets
pydantic-field
assets: List[AssetResponseDto]
Duplicate assets
duplicate_id
pydantic-field
duplicate_id: StrictStr
Duplicate group ID
suggested_keep_asset_ids
pydantic-field
suggested_keep_asset_ids: List[UUID]
Suggested asset IDs to keep based on file size and EXIF data
from_dict
classmethod
from_dict(obj: Optional[Dict[str, Any]]) -> Optional[Self]
Create an instance of DuplicateResponseDto from a dict
Source code in immichpy/client/generated/models/duplicate_response_dto.py
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | |
from_json
classmethod
from_json(json_str: str) -> Optional[Self]
Create an instance of DuplicateResponseDto from a JSON string
Source code in immichpy/client/generated/models/duplicate_response_dto.py
61 62 63 64 | |
to_dict
to_dict() -> Dict[str, Any]
Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
self.model_dump(by_alias=True):
Noneis only added to the output dict for nullable fields that were set at model initialization. Other fields with valueNoneare ignored.
Source code in immichpy/client/generated/models/duplicate_response_dto.py
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | |
to_json
to_json() -> str
Returns the JSON representation of the model using alias
Source code in immichpy/client/generated/models/duplicate_response_dto.py
56 57 58 59 | |
to_str
to_str() -> str
Returns the string representation of the model using alias
Source code in immichpy/client/generated/models/duplicate_response_dto.py
52 53 54 | |