diff --git a/core/jellyfin_client.py b/core/jellyfin_client.py
index bdf0cce4..9defd2f3 100644
--- a/core/jellyfin_client.py
+++ b/core/jellyfin_client.py
@@ -454,7 +454,7 @@ class JellyfinClient:
# Use configurable timeout for bulk operations (lots of data)
is_bulk_operation = params and params.get('Limit', 0) > 1000
config = config_manager.get_jellyfin_config()
- bulk_timeout = int(config.get('api_timeout', 30))
+ bulk_timeout = int(config.get('api_timeout', 120))
timeout = bulk_timeout if is_bulk_operation else max(5, bulk_timeout // 6)
try:
diff --git a/webui/index.html b/webui/index.html
index 1c5a014b..3f2b1624 100644
--- a/webui/index.html
+++ b/webui/index.html
@@ -2947,8 +2947,8 @@
-
+
Timeout for
bulk API requests during database sync (15-300s). Increase if your
Jellyfin server is slow to respond.
diff --git a/webui/static/script.js b/webui/static/script.js
index 975c411f..8a1d32c6 100644
--- a/webui/static/script.js
+++ b/webui/static/script.js
@@ -1787,7 +1787,7 @@ async function loadSettingsData() {
// Populate Jellyfin settings
document.getElementById('jellyfin-url').value = settings.jellyfin?.base_url || '';
document.getElementById('jellyfin-api-key').value = settings.jellyfin?.api_key || '';
- document.getElementById('jellyfin-timeout').value = settings.jellyfin?.api_timeout || 30;
+ document.getElementById('jellyfin-timeout').value = settings.jellyfin?.api_timeout || 120;
// Populate Navidrome settings
document.getElementById('navidrome-url').value = settings.navidrome?.base_url || '';