Skip to content

Admin Config Dto

immichpy.client.generated.models.admin_config_dto.AdminConfigDto pydantic-model

Bases: BaseModel

Configuration properties that are visible to the admin

Show JSON schema:
{
  "$defs": {
    "AdminConfigBackupsDto": {
      "description": "AdminConfigBackupsDto",
      "properties": {
        "database": {
          "$ref": "#/$defs/AdminConfigDatabaseBackupDto"
        }
      },
      "required": [
        "database"
      ],
      "title": "AdminConfigBackupsDto",
      "type": "object"
    },
    "AdminConfigClipDto": {
      "description": "AdminConfigClipDto",
      "properties": {
        "enabled": {
          "description": "Whether the task is enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "modelName": {
          "description": "Name of the model to use",
          "title": "Modelname",
          "type": "string"
        }
      },
      "required": [
        "enabled",
        "modelName"
      ],
      "title": "AdminConfigClipDto",
      "type": "object"
    },
    "AdminConfigDatabaseBackupDto": {
      "description": "AdminConfigDatabaseBackupDto",
      "properties": {
        "cronExpression": {
          "description": "Cron expression",
          "title": "Cronexpression",
          "type": "string"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "keepLastAmount": {
          "description": "Keep last amount",
          "maximum": 9007199254740991,
          "minimum": 1,
          "title": "Keeplastamount",
          "type": "integer"
        }
      },
      "required": [
        "cronExpression",
        "enabled",
        "keepLastAmount"
      ],
      "title": "AdminConfigDatabaseBackupDto",
      "type": "object"
    },
    "AdminConfigDuplicateDetectionDto": {
      "description": "AdminConfigDuplicateDetectionDto",
      "properties": {
        "enabled": {
          "description": "Whether the task is enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "maxDistance": {
          "anyOf": [
            {
              "maximum": 0.1,
              "minimum": 0.001,
              "type": "number"
            },
            {
              "maximum": 0,
              "minimum": 1,
              "type": "integer"
            }
          ],
          "description": "Maximum distance threshold for duplicate detection",
          "title": "Maxdistance"
        }
      },
      "required": [
        "enabled",
        "maxDistance"
      ],
      "title": "AdminConfigDuplicateDetectionDto",
      "type": "object"
    },
    "AdminConfigFFmpegDto": {
      "description": "AdminConfigFFmpegDto",
      "properties": {
        "accel": {
          "$ref": "#/$defs/TranscodeHWAccel"
        },
        "accelDecode": {
          "description": "Accelerated decode",
          "title": "Acceldecode",
          "type": "boolean"
        },
        "acceptedAudioCodecs": {
          "description": "Accepted audio codecs",
          "items": {
            "$ref": "#/$defs/AudioCodec"
          },
          "title": "Acceptedaudiocodecs",
          "type": "array"
        },
        "acceptedContainers": {
          "description": "Accepted containers",
          "items": {
            "$ref": "#/$defs/VideoContainer"
          },
          "title": "Acceptedcontainers",
          "type": "array"
        },
        "acceptedVideoCodecs": {
          "description": "Accepted video codecs",
          "items": {
            "$ref": "#/$defs/VideoCodec"
          },
          "title": "Acceptedvideocodecs",
          "type": "array"
        },
        "bframes": {
          "description": "B-frames",
          "maximum": 16,
          "minimum": -1,
          "title": "Bframes",
          "type": "integer"
        },
        "cqMode": {
          "$ref": "#/$defs/CQMode"
        },
        "crf": {
          "description": "CRF",
          "maximum": 51,
          "minimum": 0,
          "title": "Crf",
          "type": "integer"
        },
        "gopSize": {
          "description": "GOP size",
          "maximum": 9007199254740991,
          "minimum": 0,
          "title": "Gopsize",
          "type": "integer"
        },
        "maxBitrate": {
          "description": "Max bitrate",
          "title": "Maxbitrate",
          "type": "string"
        },
        "preferredHwDevice": {
          "description": "Preferred hardware device",
          "title": "Preferredhwdevice",
          "type": "string"
        },
        "preset": {
          "description": "Preset",
          "title": "Preset",
          "type": "string"
        },
        "realtime": {
          "$ref": "#/$defs/AdminConfigFFmpegRealtimeDto"
        },
        "refs": {
          "description": "References",
          "maximum": 6,
          "minimum": 0,
          "title": "Refs",
          "type": "integer"
        },
        "targetAudioCodec": {
          "$ref": "#/$defs/AudioCodec"
        },
        "targetResolution": {
          "description": "Target resolution",
          "title": "Targetresolution",
          "type": "string"
        },
        "targetVideoCodec": {
          "$ref": "#/$defs/VideoCodec"
        },
        "temporalAQ": {
          "description": "Temporal AQ",
          "title": "Temporalaq",
          "type": "boolean"
        },
        "threads": {
          "description": "Threads",
          "maximum": 9007199254740991,
          "minimum": 0,
          "title": "Threads",
          "type": "integer"
        },
        "tonemap": {
          "$ref": "#/$defs/ToneMapping"
        },
        "transcode": {
          "$ref": "#/$defs/TranscodePolicy"
        },
        "twoPass": {
          "description": "Two pass",
          "title": "Twopass",
          "type": "boolean"
        }
      },
      "required": [
        "accel",
        "accelDecode",
        "acceptedAudioCodecs",
        "acceptedContainers",
        "acceptedVideoCodecs",
        "bframes",
        "cqMode",
        "crf",
        "gopSize",
        "maxBitrate",
        "preferredHwDevice",
        "preset",
        "realtime",
        "refs",
        "targetAudioCodec",
        "targetResolution",
        "targetVideoCodec",
        "temporalAQ",
        "threads",
        "tonemap",
        "transcode",
        "twoPass"
      ],
      "title": "AdminConfigFFmpegDto",
      "type": "object"
    },
    "AdminConfigFFmpegRealtimeDto": {
      "description": "AdminConfigFFmpegRealtimeDto",
      "properties": {
        "enabled": {
          "description": "Enable real-time HLS transcoding (alpha)",
          "title": "Enabled",
          "type": "boolean"
        },
        "resolutions": {
          "description": "Resolutions to use for real-time HLS transcoding",
          "items": {
            "$ref": "#/$defs/HlsVideoResolution"
          },
          "title": "Resolutions",
          "type": "array"
        },
        "videoCodecs": {
          "description": "Video codecs to use for real-time HLS transcoding",
          "items": {
            "$ref": "#/$defs/VideoCodec"
          },
          "title": "Videocodecs",
          "type": "array"
        }
      },
      "required": [
        "enabled",
        "resolutions",
        "videoCodecs"
      ],
      "title": "AdminConfigFFmpegRealtimeDto",
      "type": "object"
    },
    "AdminConfigFacesDto": {
      "description": "AdminConfigFacesDto",
      "properties": {
        "import": {
          "description": "Import",
          "title": "Import",
          "type": "boolean"
        }
      },
      "required": [
        "import"
      ],
      "title": "AdminConfigFacesDto",
      "type": "object"
    },
    "AdminConfigFacialRecognitionDto": {
      "description": "AdminConfigFacialRecognitionDto",
      "properties": {
        "enabled": {
          "description": "Whether the task is enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "maxDistance": {
          "anyOf": [
            {
              "maximum": 2,
              "minimum": 0.1,
              "type": "number"
            },
            {
              "maximum": 2,
              "minimum": 1,
              "type": "integer"
            }
          ],
          "description": "Maximum distance threshold for face recognition",
          "title": "Maxdistance"
        },
        "minFaces": {
          "description": "Minimum number of faces required for recognition",
          "maximum": 9007199254740991,
          "minimum": 1,
          "title": "Minfaces",
          "type": "integer"
        },
        "minScore": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0.1,
              "type": "number"
            },
            {
              "maximum": 1,
              "minimum": 1,
              "type": "integer"
            }
          ],
          "description": "Minimum confidence score for face detection",
          "title": "Minscore"
        },
        "modelName": {
          "description": "Name of the model to use",
          "title": "Modelname",
          "type": "string"
        }
      },
      "required": [
        "enabled",
        "maxDistance",
        "minFaces",
        "minScore",
        "modelName"
      ],
      "title": "AdminConfigFacialRecognitionDto",
      "type": "object"
    },
    "AdminConfigGeneratedFullsizeImageDto": {
      "description": "AdminConfigGeneratedFullsizeImageDto",
      "properties": {
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "format": {
          "$ref": "#/$defs/ImageFormat"
        },
        "progressive": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Progressive",
          "title": "Progressive"
        },
        "quality": {
          "description": "Quality",
          "maximum": 100,
          "minimum": 1,
          "title": "Quality",
          "type": "integer"
        }
      },
      "required": [
        "enabled",
        "format",
        "quality"
      ],
      "title": "AdminConfigGeneratedFullsizeImageDto",
      "type": "object"
    },
    "AdminConfigGeneratedImageDto": {
      "description": "AdminConfigGeneratedImageDto",
      "properties": {
        "format": {
          "$ref": "#/$defs/ImageFormat"
        },
        "progressive": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Progressive",
          "title": "Progressive"
        },
        "quality": {
          "description": "Quality",
          "maximum": 100,
          "minimum": 1,
          "title": "Quality",
          "type": "integer"
        },
        "size": {
          "description": "Size",
          "maximum": 9007199254740991,
          "minimum": 1,
          "title": "Size",
          "type": "integer"
        }
      },
      "required": [
        "format",
        "quality",
        "size"
      ],
      "title": "AdminConfigGeneratedImageDto",
      "type": "object"
    },
    "AdminConfigImageDto": {
      "description": "AdminConfigImageDto",
      "properties": {
        "colorspace": {
          "$ref": "#/$defs/Colorspace"
        },
        "extractEmbedded": {
          "description": "Extract embedded",
          "title": "Extractembedded",
          "type": "boolean"
        },
        "fullsize": {
          "$ref": "#/$defs/AdminConfigGeneratedFullsizeImageDto"
        },
        "preview": {
          "$ref": "#/$defs/AdminConfigGeneratedImageDto"
        },
        "thumbnail": {
          "$ref": "#/$defs/AdminConfigGeneratedImageDto"
        }
      },
      "required": [
        "colorspace",
        "extractEmbedded",
        "fullsize",
        "preview",
        "thumbnail"
      ],
      "title": "AdminConfigImageDto",
      "type": "object"
    },
    "AdminConfigIntegrityChecksDto": {
      "description": "Integrity checks config",
      "properties": {
        "checksumFiles": {
          "$ref": "#/$defs/AdminConfigIntegrityChecksumJobDto"
        },
        "missingFiles": {
          "$ref": "#/$defs/AdminConfigIntegrityJobDto"
        },
        "untrackedFiles": {
          "$ref": "#/$defs/AdminConfigIntegrityJobDto"
        }
      },
      "required": [
        "checksumFiles",
        "missingFiles",
        "untrackedFiles"
      ],
      "title": "AdminConfigIntegrityChecksDto",
      "type": "object"
    },
    "AdminConfigIntegrityChecksumJobDto": {
      "description": "Integrity checksum job config",
      "properties": {
        "cronExpression": {
          "description": "Cron expression for when the integrity check should run",
          "title": "Cronexpression",
          "type": "string"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "percentageLimit": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "maximum": 1,
              "minimum": 0,
              "type": "integer"
            }
          ],
          "description": "Percentage limit of the integrity checksum job",
          "title": "Percentagelimit"
        },
        "timeLimit": {
          "description": "How long the integrity checksum job may run for",
          "maximum": 9007199254740991,
          "minimum": 0,
          "title": "Timelimit",
          "type": "integer"
        }
      },
      "required": [
        "cronExpression",
        "enabled",
        "percentageLimit",
        "timeLimit"
      ],
      "title": "AdminConfigIntegrityChecksumJobDto",
      "type": "object"
    },
    "AdminConfigIntegrityJobDto": {
      "description": "Integrity job config",
      "properties": {
        "cronExpression": {
          "description": "Cron expression for when the integrity check should run",
          "title": "Cronexpression",
          "type": "string"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        }
      },
      "required": [
        "cronExpression",
        "enabled"
      ],
      "title": "AdminConfigIntegrityJobDto",
      "type": "object"
    },
    "AdminConfigJobDto": {
      "description": "AdminConfigJobDto",
      "properties": {
        "backgroundTask": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "editor": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "faceDetection": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "integrityCheck": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "library": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "metadataExtraction": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "migration": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "notifications": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "ocr": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "search": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "sidecar": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "smartSearch": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "thumbnailGeneration": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "videoConversion": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        },
        "workflow": {
          "$ref": "#/$defs/AdminConfigJobSettingsDto"
        }
      },
      "required": [
        "backgroundTask",
        "editor",
        "faceDetection",
        "integrityCheck",
        "library",
        "metadataExtraction",
        "migration",
        "notifications",
        "ocr",
        "search",
        "sidecar",
        "smartSearch",
        "thumbnailGeneration",
        "videoConversion",
        "workflow"
      ],
      "title": "AdminConfigJobDto",
      "type": "object"
    },
    "AdminConfigJobSettingsDto": {
      "description": "AdminConfigJobSettingsDto",
      "properties": {
        "concurrency": {
          "description": "Concurrency",
          "maximum": 9007199254740991,
          "minimum": 1,
          "title": "Concurrency",
          "type": "integer"
        }
      },
      "required": [
        "concurrency"
      ],
      "title": "AdminConfigJobSettingsDto",
      "type": "object"
    },
    "AdminConfigLibraryDto": {
      "description": "AdminConfigLibraryDto",
      "properties": {
        "scan": {
          "$ref": "#/$defs/AdminConfigLibraryScanDto"
        },
        "watch": {
          "$ref": "#/$defs/AdminConfigLibraryWatchDto"
        }
      },
      "required": [
        "scan",
        "watch"
      ],
      "title": "AdminConfigLibraryDto",
      "type": "object"
    },
    "AdminConfigLibraryScanDto": {
      "description": "AdminConfigLibraryScanDto",
      "properties": {
        "cronExpression": {
          "description": "Cron expression",
          "title": "Cronexpression",
          "type": "string"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        }
      },
      "required": [
        "cronExpression",
        "enabled"
      ],
      "title": "AdminConfigLibraryScanDto",
      "type": "object"
    },
    "AdminConfigLibraryWatchDto": {
      "description": "AdminConfigLibraryWatchDto",
      "properties": {
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        }
      },
      "required": [
        "enabled"
      ],
      "title": "AdminConfigLibraryWatchDto",
      "type": "object"
    },
    "AdminConfigLoggingDto": {
      "description": "AdminConfigLoggingDto",
      "properties": {
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "level": {
          "$ref": "#/$defs/LogLevel"
        }
      },
      "required": [
        "enabled",
        "level"
      ],
      "title": "AdminConfigLoggingDto",
      "type": "object"
    },
    "AdminConfigMachineLearningAvailabilityChecksDto": {
      "description": "AdminConfigMachineLearningAvailabilityChecksDto",
      "properties": {
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "interval": {
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "title": "Interval",
          "type": "integer"
        },
        "timeout": {
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "title": "Timeout",
          "type": "integer"
        }
      },
      "required": [
        "enabled",
        "interval",
        "timeout"
      ],
      "title": "AdminConfigMachineLearningAvailabilityChecksDto",
      "type": "object"
    },
    "AdminConfigMachineLearningDto": {
      "description": "AdminConfigMachineLearningDto",
      "properties": {
        "availabilityChecks": {
          "$ref": "#/$defs/AdminConfigMachineLearningAvailabilityChecksDto"
        },
        "clip": {
          "$ref": "#/$defs/AdminConfigClipDto"
        },
        "duplicateDetection": {
          "$ref": "#/$defs/AdminConfigDuplicateDetectionDto"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "facialRecognition": {
          "$ref": "#/$defs/AdminConfigFacialRecognitionDto"
        },
        "ocr": {
          "$ref": "#/$defs/AdminConfigOcrDto"
        },
        "urls": {
          "description": "ML service URLs",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "title": "Urls",
          "type": "array"
        }
      },
      "required": [
        "availabilityChecks",
        "clip",
        "duplicateDetection",
        "enabled",
        "facialRecognition",
        "ocr",
        "urls"
      ],
      "title": "AdminConfigMachineLearningDto",
      "type": "object"
    },
    "AdminConfigMapDto": {
      "description": "AdminConfigMapDto",
      "properties": {
        "darkStyle": {
          "description": "Dark map style URL",
          "title": "Darkstyle",
          "type": "string"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "lightStyle": {
          "description": "Light map style URL",
          "title": "Lightstyle",
          "type": "string"
        }
      },
      "required": [
        "darkStyle",
        "enabled",
        "lightStyle"
      ],
      "title": "AdminConfigMapDto",
      "type": "object"
    },
    "AdminConfigMetadataDto": {
      "description": "AdminConfigMetadataDto",
      "properties": {
        "faces": {
          "$ref": "#/$defs/AdminConfigFacesDto"
        }
      },
      "required": [
        "faces"
      ],
      "title": "AdminConfigMetadataDto",
      "type": "object"
    },
    "AdminConfigNewVersionCheckDto": {
      "description": "AdminConfigNewVersionCheckDto",
      "properties": {
        "channel": {
          "$ref": "#/$defs/ReleaseChannel"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        }
      },
      "required": [
        "channel",
        "enabled"
      ],
      "title": "AdminConfigNewVersionCheckDto",
      "type": "object"
    },
    "AdminConfigNightlyTasksDto": {
      "description": "AdminConfigNightlyTasksDto",
      "properties": {
        "clusterNewFaces": {
          "description": "Cluster new faces",
          "title": "Clusternewfaces",
          "type": "boolean"
        },
        "databaseCleanup": {
          "description": "Database cleanup",
          "title": "Databasecleanup",
          "type": "boolean"
        },
        "generateMemories": {
          "description": "Generate memories",
          "title": "Generatememories",
          "type": "boolean"
        },
        "missingThumbnails": {
          "description": "Missing thumbnails",
          "title": "Missingthumbnails",
          "type": "boolean"
        },
        "startTime": {
          "description": "Start time (HH:MM)",
          "title": "Starttime",
          "type": "string"
        },
        "syncQuotaUsage": {
          "description": "Sync quota usage",
          "title": "Syncquotausage",
          "type": "boolean"
        }
      },
      "required": [
        "clusterNewFaces",
        "databaseCleanup",
        "generateMemories",
        "missingThumbnails",
        "startTime",
        "syncQuotaUsage"
      ],
      "title": "AdminConfigNightlyTasksDto",
      "type": "object"
    },
    "AdminConfigNotificationsDto": {
      "description": "AdminConfigNotificationsDto",
      "properties": {
        "smtp": {
          "$ref": "#/$defs/AdminConfigSmtpDto"
        }
      },
      "required": [
        "smtp"
      ],
      "title": "AdminConfigNotificationsDto",
      "type": "object"
    },
    "AdminConfigOAuthDto": {
      "description": "AdminConfigOAuthDto",
      "properties": {
        "accountManagementUrl": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": "",
          "description": "Account management URL",
          "title": "Accountmanagementurl"
        },
        "allowInsecureRequests": {
          "description": "Allow insecure requests",
          "title": "Allowinsecurerequests",
          "type": "boolean"
        },
        "autoLaunch": {
          "description": "Auto launch",
          "title": "Autolaunch",
          "type": "boolean"
        },
        "autoRegister": {
          "description": "Auto register",
          "title": "Autoregister",
          "type": "boolean"
        },
        "buttonText": {
          "description": "Button text",
          "title": "Buttontext",
          "type": "string"
        },
        "clientId": {
          "description": "Client ID",
          "title": "Clientid",
          "type": "string"
        },
        "clientSecret": {
          "description": "Client secret",
          "title": "Clientsecret",
          "type": "string"
        },
        "defaultStorageQuota": {
          "anyOf": [
            {
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Default storage quota",
          "title": "Defaultstoragequota"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "endSessionEndpoint": {
          "description": "End session endpoint",
          "title": "Endsessionendpoint",
          "type": "string"
        },
        "issuerUrl": {
          "description": "Issuer URL",
          "title": "Issuerurl",
          "type": "string"
        },
        "mobileOverrideEnabled": {
          "description": "Mobile override enabled",
          "title": "Mobileoverrideenabled",
          "type": "boolean"
        },
        "mobileRedirectUri": {
          "description": "Mobile redirect URI (set to empty string to disable)",
          "title": "Mobileredirecturi",
          "type": "string"
        },
        "profileSigningAlgorithm": {
          "description": "Profile signing algorithm",
          "title": "Profilesigningalgorithm",
          "type": "string"
        },
        "prompt": {
          "description": "OAuth prompt parameter (e.g. select_account, login, consent)",
          "title": "Prompt",
          "type": "string"
        },
        "roleClaim": {
          "description": "Role claim",
          "title": "Roleclaim",
          "type": "string"
        },
        "scope": {
          "description": "Scope",
          "title": "Scope",
          "type": "string"
        },
        "signingAlgorithm": {
          "description": "Signing algorithm",
          "title": "Signingalgorithm",
          "type": "string"
        },
        "storageLabelClaim": {
          "description": "Storage label claim",
          "title": "Storagelabelclaim",
          "type": "string"
        },
        "storageQuotaClaim": {
          "description": "Storage quota claim",
          "title": "Storagequotaclaim",
          "type": "string"
        },
        "timeout": {
          "description": "Timeout",
          "maximum": 9007199254740991,
          "minimum": 1,
          "title": "Timeout",
          "type": "integer"
        },
        "tokenEndpointAuthMethod": {
          "$ref": "#/$defs/OAuthTokenEndpointAuthMethod"
        }
      },
      "required": [
        "allowInsecureRequests",
        "autoLaunch",
        "autoRegister",
        "buttonText",
        "clientId",
        "clientSecret",
        "defaultStorageQuota",
        "enabled",
        "endSessionEndpoint",
        "issuerUrl",
        "mobileOverrideEnabled",
        "mobileRedirectUri",
        "profileSigningAlgorithm",
        "prompt",
        "roleClaim",
        "scope",
        "signingAlgorithm",
        "storageLabelClaim",
        "storageQuotaClaim",
        "timeout",
        "tokenEndpointAuthMethod"
      ],
      "title": "AdminConfigOAuthDto",
      "type": "object"
    },
    "AdminConfigOcrDto": {
      "description": "AdminConfigOcrDto",
      "properties": {
        "enabled": {
          "description": "Whether the task is enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "maxResolution": {
          "description": "Maximum resolution for OCR processing",
          "maximum": 9007199254740991,
          "minimum": 1,
          "title": "Maxresolution",
          "type": "integer"
        },
        "minDetectionScore": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0.1,
              "type": "number"
            },
            {
              "maximum": 1,
              "minimum": 1,
              "type": "integer"
            }
          ],
          "description": "Minimum confidence score for text detection",
          "title": "Mindetectionscore"
        },
        "minRecognitionScore": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0.1,
              "type": "number"
            },
            {
              "maximum": 1,
              "minimum": 1,
              "type": "integer"
            }
          ],
          "description": "Minimum confidence score for text recognition",
          "title": "Minrecognitionscore"
        },
        "modelName": {
          "description": "Name of the model to use",
          "title": "Modelname",
          "type": "string"
        }
      },
      "required": [
        "enabled",
        "maxResolution",
        "minDetectionScore",
        "minRecognitionScore",
        "modelName"
      ],
      "title": "AdminConfigOcrDto",
      "type": "object"
    },
    "AdminConfigPasswordLoginDto": {
      "description": "AdminConfigPasswordLoginDto",
      "properties": {
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        }
      },
      "required": [
        "enabled"
      ],
      "title": "AdminConfigPasswordLoginDto",
      "type": "object"
    },
    "AdminConfigReverseGeocodingDto": {
      "description": "AdminConfigReverseGeocodingDto",
      "properties": {
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        }
      },
      "required": [
        "enabled"
      ],
      "title": "AdminConfigReverseGeocodingDto",
      "type": "object"
    },
    "AdminConfigServerDto": {
      "description": "AdminConfigServerDto",
      "properties": {
        "externalDomain": {
          "description": "External domain",
          "title": "Externaldomain",
          "type": "string"
        },
        "loginPageMessage": {
          "description": "Login page message",
          "title": "Loginpagemessage",
          "type": "string"
        },
        "publicUsers": {
          "description": "Public users",
          "title": "Publicusers",
          "type": "boolean"
        }
      },
      "required": [
        "externalDomain",
        "loginPageMessage",
        "publicUsers"
      ],
      "title": "AdminConfigServerDto",
      "type": "object"
    },
    "AdminConfigSmtpDto": {
      "description": "AdminConfigSmtpDto",
      "properties": {
        "enabled": {
          "description": "Whether SMTP email notifications are enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "from": {
          "description": "Email address to send from",
          "title": "From",
          "type": "string"
        },
        "replyTo": {
          "description": "Email address for replies",
          "title": "Replyto",
          "type": "string"
        },
        "transport": {
          "$ref": "#/$defs/AdminConfigSmtpTransportDto"
        }
      },
      "required": [
        "enabled",
        "from",
        "replyTo",
        "transport"
      ],
      "title": "AdminConfigSmtpDto",
      "type": "object"
    },
    "AdminConfigSmtpTransportDto": {
      "description": "AdminConfigSmtpTransportDto",
      "properties": {
        "host": {
          "description": "SMTP server hostname",
          "title": "Host",
          "type": "string"
        },
        "ignoreCert": {
          "description": "Whether to ignore SSL certificate errors",
          "title": "Ignorecert",
          "type": "boolean"
        },
        "password": {
          "description": "SMTP password",
          "title": "Password",
          "type": "string"
        },
        "port": {
          "description": "SMTP server port",
          "maximum": 65535,
          "minimum": 0,
          "title": "Port",
          "type": "integer"
        },
        "secure": {
          "description": "Whether to use secure connection (TLS/SSL)",
          "title": "Secure",
          "type": "boolean"
        },
        "username": {
          "description": "SMTP username",
          "title": "Username",
          "type": "string"
        }
      },
      "required": [
        "host",
        "ignoreCert",
        "password",
        "port",
        "secure",
        "username"
      ],
      "title": "AdminConfigSmtpTransportDto",
      "type": "object"
    },
    "AdminConfigStorageTemplateDto": {
      "description": "AdminConfigStorageTemplateDto",
      "properties": {
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        },
        "hashVerificationEnabled": {
          "description": "Hash verification enabled",
          "title": "Hashverificationenabled",
          "type": "boolean"
        },
        "template": {
          "description": "Template",
          "title": "Template",
          "type": "string"
        }
      },
      "required": [
        "enabled",
        "hashVerificationEnabled",
        "template"
      ],
      "title": "AdminConfigStorageTemplateDto",
      "type": "object"
    },
    "AdminConfigTemplateEmailsDto": {
      "description": "AdminConfigTemplateEmailsDto",
      "properties": {
        "albumInviteTemplate": {
          "description": "Album invite template",
          "title": "Albuminvitetemplate",
          "type": "string"
        },
        "albumUpdateTemplate": {
          "description": "Album update template",
          "title": "Albumupdatetemplate",
          "type": "string"
        },
        "welcomeTemplate": {
          "description": "Welcome template",
          "title": "Welcometemplate",
          "type": "string"
        }
      },
      "required": [
        "albumInviteTemplate",
        "albumUpdateTemplate",
        "welcomeTemplate"
      ],
      "title": "AdminConfigTemplateEmailsDto",
      "type": "object"
    },
    "AdminConfigTemplatesDto": {
      "description": "AdminConfigTemplatesDto",
      "properties": {
        "email": {
          "$ref": "#/$defs/AdminConfigTemplateEmailsDto"
        }
      },
      "required": [
        "email"
      ],
      "title": "AdminConfigTemplatesDto",
      "type": "object"
    },
    "AdminConfigThemeDto": {
      "description": "AdminConfigThemeDto",
      "properties": {
        "customCss": {
          "description": "Custom CSS for theming",
          "title": "Customcss",
          "type": "string"
        }
      },
      "required": [
        "customCss"
      ],
      "title": "AdminConfigThemeDto",
      "type": "object"
    },
    "AdminConfigTrashDto": {
      "description": "AdminConfigTrashDto",
      "properties": {
        "days": {
          "description": "Days",
          "maximum": 9007199254740991,
          "minimum": 0,
          "title": "Days",
          "type": "integer"
        },
        "enabled": {
          "description": "Enabled",
          "title": "Enabled",
          "type": "boolean"
        }
      },
      "required": [
        "days",
        "enabled"
      ],
      "title": "AdminConfigTrashDto",
      "type": "object"
    },
    "AdminConfigUserDto": {
      "description": "AdminConfigUserDto",
      "properties": {
        "deleteDelay": {
          "description": "Delete delay",
          "maximum": 9007199254740991,
          "minimum": 1,
          "title": "Deletedelay",
          "type": "integer"
        }
      },
      "required": [
        "deleteDelay"
      ],
      "title": "AdminConfigUserDto",
      "type": "object"
    },
    "AudioCodec": {
      "description": "Target audio codec",
      "enum": [
        "mp3",
        "aac",
        "opus",
        "pcm_s16le"
      ],
      "title": "AudioCodec",
      "type": "string"
    },
    "CQMode": {
      "description": "CQ mode",
      "enum": [
        "auto",
        "cqp",
        "icq"
      ],
      "title": "CQMode",
      "type": "string"
    },
    "Colorspace": {
      "description": "Colorspace",
      "enum": [
        "srgb",
        "p3"
      ],
      "title": "Colorspace",
      "type": "string"
    },
    "HlsVideoResolution": {
      "description": "HLS video resolution",
      "enum": [
        480,
        720,
        1080,
        1440,
        2160
      ],
      "title": "HlsVideoResolution",
      "type": "integer"
    },
    "ImageFormat": {
      "description": "Image format",
      "enum": [
        "jpeg",
        "webp"
      ],
      "title": "ImageFormat",
      "type": "string"
    },
    "LogLevel": {
      "description": "Log level",
      "enum": [
        "verbose",
        "debug",
        "log",
        "warn",
        "error",
        "fatal"
      ],
      "title": "LogLevel",
      "type": "string"
    },
    "OAuthTokenEndpointAuthMethod": {
      "description": "OAuth token endpoint auth method",
      "enum": [
        "client_secret_post",
        "client_secret_basic"
      ],
      "title": "OAuthTokenEndpointAuthMethod",
      "type": "string"
    },
    "ReleaseChannel": {
      "description": "Release channel",
      "enum": [
        "stable",
        "releaseCandidate"
      ],
      "title": "ReleaseChannel",
      "type": "string"
    },
    "ToneMapping": {
      "description": "Tone mapping",
      "enum": [
        "hable",
        "mobius",
        "reinhard",
        "disabled"
      ],
      "title": "ToneMapping",
      "type": "string"
    },
    "TranscodeHWAccel": {
      "description": "Transcode hardware acceleration",
      "enum": [
        "nvenc",
        "qsv",
        "vaapi",
        "rkmpp",
        "disabled"
      ],
      "title": "TranscodeHWAccel",
      "type": "string"
    },
    "TranscodePolicy": {
      "description": "Transcode policy",
      "enum": [
        "all",
        "optimal",
        "bitrate",
        "required",
        "disabled"
      ],
      "title": "TranscodePolicy",
      "type": "string"
    },
    "VideoCodec": {
      "description": "Target video codec",
      "enum": [
        "h264",
        "hevc",
        "vp9",
        "av1"
      ],
      "title": "VideoCodec",
      "type": "string"
    },
    "VideoContainer": {
      "description": "Accepted video containers",
      "enum": [
        "mov",
        "mp4",
        "ogg",
        "webm"
      ],
      "title": "VideoContainer",
      "type": "string"
    }
  },
  "description": "Configuration properties that are visible to the admin",
  "properties": {
    "backup": {
      "$ref": "#/$defs/AdminConfigBackupsDto"
    },
    "ffmpeg": {
      "$ref": "#/$defs/AdminConfigFFmpegDto"
    },
    "image": {
      "$ref": "#/$defs/AdminConfigImageDto"
    },
    "integrityChecks": {
      "$ref": "#/$defs/AdminConfigIntegrityChecksDto"
    },
    "job": {
      "$ref": "#/$defs/AdminConfigJobDto"
    },
    "library": {
      "$ref": "#/$defs/AdminConfigLibraryDto"
    },
    "logging": {
      "$ref": "#/$defs/AdminConfigLoggingDto"
    },
    "machineLearning": {
      "$ref": "#/$defs/AdminConfigMachineLearningDto"
    },
    "map": {
      "$ref": "#/$defs/AdminConfigMapDto"
    },
    "metadata": {
      "$ref": "#/$defs/AdminConfigMetadataDto"
    },
    "newVersionCheck": {
      "$ref": "#/$defs/AdminConfigNewVersionCheckDto"
    },
    "nightlyTasks": {
      "$ref": "#/$defs/AdminConfigNightlyTasksDto"
    },
    "notifications": {
      "$ref": "#/$defs/AdminConfigNotificationsDto"
    },
    "oauth": {
      "$ref": "#/$defs/AdminConfigOAuthDto"
    },
    "passwordLogin": {
      "$ref": "#/$defs/AdminConfigPasswordLoginDto"
    },
    "reverseGeocoding": {
      "$ref": "#/$defs/AdminConfigReverseGeocodingDto"
    },
    "server": {
      "$ref": "#/$defs/AdminConfigServerDto"
    },
    "storageTemplate": {
      "$ref": "#/$defs/AdminConfigStorageTemplateDto"
    },
    "templates": {
      "$ref": "#/$defs/AdminConfigTemplatesDto"
    },
    "theme": {
      "$ref": "#/$defs/AdminConfigThemeDto"
    },
    "trash": {
      "$ref": "#/$defs/AdminConfigTrashDto"
    },
    "user": {
      "$ref": "#/$defs/AdminConfigUserDto"
    }
  },
  "required": [
    "backup",
    "ffmpeg",
    "image",
    "integrityChecks",
    "job",
    "library",
    "logging",
    "machineLearning",
    "map",
    "metadata",
    "newVersionCheck",
    "nightlyTasks",
    "notifications",
    "oauth",
    "passwordLogin",
    "reverseGeocoding",
    "server",
    "storageTemplate",
    "templates",
    "theme",
    "trash",
    "user"
  ],
  "title": "AdminConfigDto",
  "type": "object"
}

Config:

  • validate_by_name: True
  • validate_by_alias: True
  • validate_assignment: True
  • protected_namespaces: ()

Fields:

from_dict classmethod

from_dict(obj: Optional[Dict[str, Any]]) -> Optional[Self]

Create an instance of AdminConfigDto from a dict

Source code in immichpy/client/generated/models/admin_config_dto.py
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
    """Create an instance of AdminConfigDto from a dict"""
    if obj is None:
        return None

    if not isinstance(obj, dict):
        return cls.model_validate(obj)

    _obj = cls.model_validate(
        {
            "backup": AdminConfigBackupsDto.from_dict(obj["backup"])
            if obj.get("backup") is not None
            else None,
            "ffmpeg": AdminConfigFFmpegDto.from_dict(obj["ffmpeg"])
            if obj.get("ffmpeg") is not None
            else None,
            "image": AdminConfigImageDto.from_dict(obj["image"])
            if obj.get("image") is not None
            else None,
            "integrityChecks": AdminConfigIntegrityChecksDto.from_dict(
                obj["integrityChecks"]
            )
            if obj.get("integrityChecks") is not None
            else None,
            "job": AdminConfigJobDto.from_dict(obj["job"])
            if obj.get("job") is not None
            else None,
            "library": AdminConfigLibraryDto.from_dict(obj["library"])
            if obj.get("library") is not None
            else None,
            "logging": AdminConfigLoggingDto.from_dict(obj["logging"])
            if obj.get("logging") is not None
            else None,
            "machineLearning": AdminConfigMachineLearningDto.from_dict(
                obj["machineLearning"]
            )
            if obj.get("machineLearning") is not None
            else None,
            "map": AdminConfigMapDto.from_dict(obj["map"])
            if obj.get("map") is not None
            else None,
            "metadata": AdminConfigMetadataDto.from_dict(obj["metadata"])
            if obj.get("metadata") is not None
            else None,
            "newVersionCheck": AdminConfigNewVersionCheckDto.from_dict(
                obj["newVersionCheck"]
            )
            if obj.get("newVersionCheck") is not None
            else None,
            "nightlyTasks": AdminConfigNightlyTasksDto.from_dict(
                obj["nightlyTasks"]
            )
            if obj.get("nightlyTasks") is not None
            else None,
            "notifications": AdminConfigNotificationsDto.from_dict(
                obj["notifications"]
            )
            if obj.get("notifications") is not None
            else None,
            "oauth": AdminConfigOAuthDto.from_dict(obj["oauth"])
            if obj.get("oauth") is not None
            else None,
            "passwordLogin": AdminConfigPasswordLoginDto.from_dict(
                obj["passwordLogin"]
            )
            if obj.get("passwordLogin") is not None
            else None,
            "reverseGeocoding": AdminConfigReverseGeocodingDto.from_dict(
                obj["reverseGeocoding"]
            )
            if obj.get("reverseGeocoding") is not None
            else None,
            "server": AdminConfigServerDto.from_dict(obj["server"])
            if obj.get("server") is not None
            else None,
            "storageTemplate": AdminConfigStorageTemplateDto.from_dict(
                obj["storageTemplate"]
            )
            if obj.get("storageTemplate") is not None
            else None,
            "templates": AdminConfigTemplatesDto.from_dict(obj["templates"])
            if obj.get("templates") is not None
            else None,
            "theme": AdminConfigThemeDto.from_dict(obj["theme"])
            if obj.get("theme") is not None
            else None,
            "trash": AdminConfigTrashDto.from_dict(obj["trash"])
            if obj.get("trash") is not None
            else None,
            "user": AdminConfigUserDto.from_dict(obj["user"])
            if obj.get("user") is not None
            else None,
        }
    )
    return _obj

from_json classmethod

from_json(json_str: str) -> Optional[Self]

Create an instance of AdminConfigDto from a JSON string

Source code in immichpy/client/generated/models/admin_config_dto.py
145
146
147
148
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
    """Create an instance of AdminConfigDto from a JSON string"""
    return cls.from_dict(json.loads(json_str))

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):

  • None is only added to the output dict for nullable fields that were set at model initialization. Other fields with value None are ignored.
Source code in immichpy/client/generated/models/admin_config_dto.py
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
def to_dict(self) -> 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)`:

    * `None` is only added to the output dict for nullable fields that
      were set at model initialization. Other fields with value `None`
      are ignored.
    """
    excluded_fields: Set[str] = set([])

    _dict = self.model_dump(
        by_alias=True,
        exclude=excluded_fields,
        exclude_none=True,
    )
    # override the default output from pydantic by calling `to_dict()` of backup
    if self.backup:
        _dict["backup"] = self.backup.to_dict()
    # override the default output from pydantic by calling `to_dict()` of ffmpeg
    if self.ffmpeg:
        _dict["ffmpeg"] = self.ffmpeg.to_dict()
    # override the default output from pydantic by calling `to_dict()` of image
    if self.image:
        _dict["image"] = self.image.to_dict()
    # override the default output from pydantic by calling `to_dict()` of integrity_checks
    if self.integrity_checks:
        _dict["integrityChecks"] = self.integrity_checks.to_dict()
    # override the default output from pydantic by calling `to_dict()` of job
    if self.job:
        _dict["job"] = self.job.to_dict()
    # override the default output from pydantic by calling `to_dict()` of library
    if self.library:
        _dict["library"] = self.library.to_dict()
    # override the default output from pydantic by calling `to_dict()` of logging
    if self.logging:
        _dict["logging"] = self.logging.to_dict()
    # override the default output from pydantic by calling `to_dict()` of machine_learning
    if self.machine_learning:
        _dict["machineLearning"] = self.machine_learning.to_dict()
    # override the default output from pydantic by calling `to_dict()` of map
    if self.map:
        _dict["map"] = self.map.to_dict()
    # override the default output from pydantic by calling `to_dict()` of metadata
    if self.metadata:
        _dict["metadata"] = self.metadata.to_dict()
    # override the default output from pydantic by calling `to_dict()` of new_version_check
    if self.new_version_check:
        _dict["newVersionCheck"] = self.new_version_check.to_dict()
    # override the default output from pydantic by calling `to_dict()` of nightly_tasks
    if self.nightly_tasks:
        _dict["nightlyTasks"] = self.nightly_tasks.to_dict()
    # override the default output from pydantic by calling `to_dict()` of notifications
    if self.notifications:
        _dict["notifications"] = self.notifications.to_dict()
    # override the default output from pydantic by calling `to_dict()` of oauth
    if self.oauth:
        _dict["oauth"] = self.oauth.to_dict()
    # override the default output from pydantic by calling `to_dict()` of password_login
    if self.password_login:
        _dict["passwordLogin"] = self.password_login.to_dict()
    # override the default output from pydantic by calling `to_dict()` of reverse_geocoding
    if self.reverse_geocoding:
        _dict["reverseGeocoding"] = self.reverse_geocoding.to_dict()
    # override the default output from pydantic by calling `to_dict()` of server
    if self.server:
        _dict["server"] = self.server.to_dict()
    # override the default output from pydantic by calling `to_dict()` of storage_template
    if self.storage_template:
        _dict["storageTemplate"] = self.storage_template.to_dict()
    # override the default output from pydantic by calling `to_dict()` of templates
    if self.templates:
        _dict["templates"] = self.templates.to_dict()
    # override the default output from pydantic by calling `to_dict()` of theme
    if self.theme:
        _dict["theme"] = self.theme.to_dict()
    # override the default output from pydantic by calling `to_dict()` of trash
    if self.trash:
        _dict["trash"] = self.trash.to_dict()
    # override the default output from pydantic by calling `to_dict()` of user
    if self.user:
        _dict["user"] = self.user.to_dict()
    return _dict

to_json

to_json() -> str

Returns the JSON representation of the model using alias

Source code in immichpy/client/generated/models/admin_config_dto.py
141
142
143
def to_json(self) -> str:
    """Returns the JSON representation of the model using alias"""
    return json.dumps(to_jsonable_python(self.to_dict()))

to_str

to_str() -> str

Returns the string representation of the model using alias

Source code in immichpy/client/generated/models/admin_config_dto.py
137
138
139
def to_str(self) -> str:
    """Returns the string representation of the model using alias"""
    return pprint.pformat(self.model_dump(by_alias=True))