Quality Upgrades¶
qBitrr can automatically upgrade your existing media to higher quality versions, ensuring your library continuously improves as better releases become available.
Overview¶
Quality upgrading is a continuous process where qBitrr:
- Monitors existing media for better quality releases
- Searches for improved versions based on your criteria
- Downloads upgrades when found
- Replaces old files with new ones (managed by Arr)
- Seeds the new torrent while removing the old one
Use Cases:
- Upgrading 720p → 1080p → 4K as releases become available
- Replacing x264 → x265 for better compression
- Upgrading lossy → lossless audio (Lidarr)
- Improving custom format scores (Scene → P2P, HDR, etc.)
Upgrade Strategies¶
Strategy 1: Continuous Upgrade Search¶
Goal: Always look for better quality
Configuration:
[Radarr-Movies.EntrySearch]
SearchMissing = true
DoUpgradeSearch = true # Enable upgrade searching
SearchRequestsEvery = 600 # Check every 10 minutes
SearchAgainOnSearchCompletion = true # Continuous loop
How it works:
- qBitrr queries Radarr for all movies (not just missing)
- Sends upgrade search commands for each movie
- Radarr downloads better quality if available and allowed by quality profile
Best for:
- Building a high-quality library
- Users with large storage capacity
- Private tracker members with good retention
Considerations:
- Bandwidth: Upgrades can download massive amounts of data (50+ GB per 4K movie)
- Indexer hits: Searches every movie repeatedly (respect rate limits)
- Storage: Requires space for both old and new files during transition
Strategy 2: Quality Target Enforcement¶
Goal: Ensure media meets minimum quality standards
Configuration:
[Radarr-Movies.EntrySearch]
SearchMissing = true
DoUpgradeSearch = false
QualityUnmetSearch = true # Only search if quality not met
SearchRequestsEvery = 1200 # Check every 20 minutes
How it works:
- qBitrr checks each movie's quality against quality profile cutoff
- Only searches if current quality is below cutoff
- Stops searching once cutoff is met
Example:
- Quality profile cutoff: 1080p
- Current quality: 720p → search triggered
- Upgrade to 1080p → searching stops
Best for:
- Enforcing minimum quality standards
- Reducing bandwidth usage
- "Good enough" quality approach
Benefit: Focused searching only where needed, saving bandwidth and indexer hits
Strategy 3: Custom Format Upgrades¶
Goal: Upgrade based on release characteristics (HDR, P2P, audio codecs, etc.)
Configuration:
[Radarr-Movies.EntrySearch]
SearchMissing = true
DoUpgradeSearch = false
CustomFormatUnmetSearch = true # Search for better custom format scores
SearchRequestsEvery = 1200
How it works:
- qBitrr checks custom format scores against profile requirements
- Searches for releases with higher custom format scores
- Upgrades when better-scoring release is found
Example Custom Formats:
- HDR/DV preference
- Release group ranking (SPARKS > RARBG)
- Proper/Repack detection
- Audio codec preference (Atmos, DTS-HD)
Best for:
- Advanced users with custom format expertise
- Fine-tuned quality control beyond resolution
- TraSH Guides users
Custom Formats Guide
See Custom Formats for detailed setup and examples.
Strategy 4: Strict Enforcement (Aggressive)¶
Goal: Reject anything below custom format minimum score
Configuration:
[Radarr-Movies.EntrySearch]
SearchMissing = true
DoUpgradeSearch = true
CustomFormatUnmetSearch = true
ForceMinimumCustomFormat = true # Remove releases below minimum
SearchRequestsEvery = 600
How it works:
- qBitrr checks custom format scores
- Removes and blacklists torrents below minimum score
- Triggers immediate search for higher-scoring release
Warning: Very aggressive! Only use if:
- You have strict quality requirements
- Your custom formats are well-tested
- You're confident in your scoring system
Best for:
- High-end home theaters
- Strict quality control environments
- Users who know exactly what they want
Strategy 5: Staged Upgrade Path¶
Goal: Gradually improve quality over time
Phase 1: Build Library (Get Anything)
[Radarr-Movies.EntrySearch]
SearchMissing = true
DoUpgradeSearch = false
UseTempForMissing = true # Accept lower quality for missing
QualityProfileMappings = {"Ultra HD" = "HD-1080p"}
Phase 2: Upgrade to Target Quality
[Radarr-Movies.EntrySearch]
SearchMissing = true
DoUpgradeSearch = false
QualityUnmetSearch = true # Upgrade to cutoff
UseTempForMissing = false
Phase 3: Continuous Improvement
[Radarr-Movies.EntrySearch]
SearchMissing = true
DoUpgradeSearch = true # Always look for better
QualityUnmetSearch = true
How it works:
- Build: Accept any quality just to have the content
- Stabilize: Upgrade everything to minimum acceptable quality
- Optimize: Continuously seek better versions
Best for:
- New library builds
- Limited initial bandwidth
- Long-term quality improvement plans
Configuration Reference¶
DoUpgradeSearch¶
Type: Boolean Default: false
Enable continuous upgrade searching for all media.
When enabled:
- Searches all existing media for better versions
- Runs continuously (not just for missing items)
- Respects quality profile upgrade settings
Bandwidth Impact: ⚠️ HIGH - can download many GB per movie/episode
QualityUnmetSearch¶
Type: Boolean Default: false
Search only for media below quality profile cutoff.
When enabled:
- Only searches media below cutoff quality
- Stops searching once cutoff is met
- More efficient than DoUpgradeSearch
Bandwidth Impact: ⚠️ MEDIUM - targeted upgrades only
CustomFormatUnmetSearch¶
Type: Boolean Default: false
Search for media below custom format score requirements.
When enabled:
- Checks custom format scores
- Searches for higher-scoring releases
- Upgrades based on format quality, not just resolution
Bandwidth Impact: ⚠️ MEDIUM to HIGH - depends on format strictness
ForceMinimumCustomFormat¶
Type: Boolean Default: false
Automatically remove torrents below minimum custom format score.
When enabled:
- Deletes torrents with insufficient custom format scores
- Blacklists the release
- Triggers immediate new search
Bandwidth Impact: ⚠️ VERY HIGH - aggressive re-downloading
Use with Caution
This will delete downloaded content if it doesn't meet your custom format requirements. Only enable if you're confident in your custom format configuration.
Quality Profile Setup¶
Radarr Quality Profile Example¶
Goal: Accept 1080p minimum, upgrade to 4K when available
In Radarr:
- Go to Settings → Profiles
- Create or edit a profile
- Set Cutoff: 1080p
- Enable qualities: 720p, 1080p, 2160p
- Upgrade Until: 2160p
- Upgrade Until Custom Format Score: (optional)
In qBitrr:
[Radarr-Movies.EntrySearch]
SearchMissing = true
QualityUnmetSearch = true # Search until 1080p cutoff met
DoUpgradeSearch = true # Continue searching for 4K
SearchRequestsEvery = 1200
Result:
- Missing movies: Download any quality (720p, 1080p, or 4K)
- 720p movies: Upgrade to 1080p (cutoff)
- 1080p movies: Upgrade to 4K (ultimate goal)
Sonarr Quality Profile Example¶
Goal: WEB-1080p for new episodes, upgrade to Bluray later
In Sonarr:
- Settings → Profiles
- Set Cutoff: WEB-1080p
- Enable: WEB-720p, WEB-1080p, Bluray-1080p, Bluray-2160p
- Upgrade Until: Bluray-2160p
In qBitrr:
[Sonarr-TV.EntrySearch]
SearchMissing = true
PrioritizeTodaysReleases = true # Get new episodes fast
DoUpgradeSearch = true # Upgrade to Bluray later
SearchRequestsEvery = 600
Result:
- New episodes: Download WEB-1080p immediately
- Older episodes: Gradually upgrade to Bluray-1080p/2160p
Lidarr Quality Profile Example¶
Goal: Accept MP3-320 initially, upgrade to FLAC later
In Lidarr:
- Settings → Profiles
- Set Cutoff: MP3-320
- Enable: MP3-320, FLAC
- Upgrade Until: FLAC
In qBitrr:
[Lidarr-Music.EntrySearch]
SearchMissing = true
UseTempForMissing = true
QualityProfileMappings = {"Lossless (FLAC)" = "Lossy (MP3-320)"}
QualityUnmetSearch = true
DoUpgradeSearch = true
SearchRequestsEvery = 1800
Result:
- Missing albums: Download MP3-320 (temp profile)
- Profile switches back to Lossless
- Future searches look for FLAC upgrades
Upgrade Workflows¶
Workflow 1: New Library Build → Quality Improvement¶
Timeline:
Week 1-2: Rapid Library Build
SearchMissing = true
DoUpgradeSearch = false
UseTempForMissing = true
QualityProfileMappings = {"HD-1080p" = "SD"}
Result: 1000 movies downloaded (mixed quality)
Week 3-4: Quality Baseline
SearchMissing = true
DoUpgradeSearch = false
QualityUnmetSearch = true # Upgrade to 1080p cutoff
UseTempForMissing = false
Result: 500 movies upgraded to 1080p
Month 2+: Continuous Optimization
SearchMissing = true
DoUpgradeSearch = true # Always look for better
QualityUnmetSearch = true
CustomFormatUnmetSearch = true
Result: Gradual upgrades to 4K, better release groups, HDR
Workflow 2: Seasonal TV Shows (Sonarr)¶
Goal: Get episodes fast, upgrade to Bluray when released
During Airing Season:
[Sonarr-OngoingTV.EntrySearch]
SearchMissing = true
PrioritizeTodaysReleases = true
DoUpgradeSearch = false
SearchRequestsEvery = 300 # Check every 5 minutes
Result: WEB-DL episodes available within minutes of release
After Season Ends:
[Sonarr-OngoingTV.EntrySearch]
SearchMissing = true
DoUpgradeSearch = true # Now look for Bluray
SearchRequestsEvery = 3600 # Less frequent (hourly)
Result: Gradual upgrade to Bluray-1080p as releases become available
Workflow 3: Music Collection (Lidarr)¶
Goal: Build library with any quality, upgrade to lossless over time
Phase 1: Accept Anything
[Lidarr-Music.EntrySearch]
SearchMissing = true
DoUpgradeSearch = false
UseTempForMissing = true
QualityProfileMappings = {"Lossless" = "Any"}
Phase 2: Target Lossless
[Lidarr-Music.EntrySearch]
SearchMissing = true
QualityUnmetSearch = true # Upgrade to FLAC
DoUpgradeSearch = true
UseTempForMissing = false
SearchRequestsEvery = 1800
Troubleshooting¶
Upgrades Not Happening¶
Symptom: DoUpgradeSearch is enabled but no upgrades occur
Possible Causes:
- Quality Profile:
- "Upgrade Until" is set to current quality
-
"Upgrade Allowed" is disabled
-
Already at Cutoff:
- Media already meets cutoff quality
-
Use DoUpgradeSearch (not QualityUnmetSearch)
-
No Better Releases:
- Indexers don't have higher quality
- Check Radarr/Sonarr activity history
Solution:
# Check Radarr quality profile settings
curl http://localhost:7878/api/v3/qualityprofile \
-H "X-Api-Key: YOUR_API_KEY"
# Look for:
# - "upgradeAllowed": true
# - "cutoff" vs "items" quality IDs
Too Many Upgrades (Bandwidth Issues)¶
Symptom: Constantly downloading huge files
Solutions:
Option 1: Disable Continuous Upgrades
Option 2: Increase Search Delay
Option 3: Pin Quality
In Radarr/Sonarr, set "Upgrade Until" to current quality (e.g., 1080p)
Upgrades Stuck in Queue¶
Symptom: Arr shows "Queued" upgrades but nothing happens
Possible Causes:
- Indexer Rate Limits: Too many searches too fast
- Download Client Full: No space for new torrents
- Seeding Requirements: Old torrent still seeding, can't replace
Solutions:
# Increase search delay
SearchRequestsEvery = 1200
# Enable disk space management
FreeSpace = "100G"
AutoPauseResume = true
Custom Format Upgrades Not Working¶
Symptom: CustomFormatUnmetSearch enabled but no upgrades
Check Custom Format Setup:
- In Radarr/Sonarr:
- Custom formats exist
- Formats have non-zero scores
-
Quality profile has minimum custom format score set
-
In qBitrr:
Debug:
# Check movie custom format scores
curl http://localhost:7878/api/v3/movie \
-H "X-Api-Key: YOUR_API_KEY" | jq '.[].movieFile.customFormats'
Performance Optimization¶
Reduce Indexer Load¶
# Increase search intervals
SearchRequestsEvery = 1800 # 30 minutes
# Disable continuous loops
SearchAgainOnSearchCompletion = false
Prioritize Recent Content¶
Limit Concurrent Searches¶
Best Practices¶
- Start Conservative: Begin with
QualityUnmetSearchonly, enableDoUpgradeSearchlater - Monitor Bandwidth: Track download volume for first week before expanding
- Test Custom Formats: Validate custom format scoring before enabling
ForceMinimumCustomFormat - Respect Indexers: Use reasonable
SearchRequestsEveryintervals (10+ minutes) - Storage Planning: Ensure adequate free space for simultaneous old + new files
- Seeding Compliance: Check private tracker rules before aggressive upgrades
Related Documentation¶
- Automated Search - Complete search configuration reference
- Custom Formats - Advanced quality filtering
- Quality Profiles - Profile setup and mappings
- Seeding Configuration - Manage seeding during upgrades
Summary¶
- DoUpgradeSearch - Continuous quality improvement (high bandwidth)
- QualityUnmetSearch - Targeted upgrades to cutoff (moderate bandwidth)
- CustomFormatUnmetSearch - Advanced format-based upgrades
- ForceMinimumCustomFormat - Strict enforcement (very aggressive)
- Staged approach - Build library first, upgrade later
- Monitor bandwidth and adjust
SearchRequestsEveryaccordingly