[Bug]: Imports fail when attempting to import Private Videos
I've read the documentation
- I'm running the latest version of Tube Archivist and have read the release notes.
- I'm beta testing and am running the latest unstable build.
- I have read the how to open an issue guide, particularly the bug report section. I've double checked that I don't open a yt-dlp issue here.
Operating System
Synology - Docker Compose
Your Bug Report
Describe the bug
When attempting to import videos from another instance or downloaded externally that are still on YouTube, but are Private Videos, then TA is unable to import the files successfully. This occurs when the name is set to each of the variations that are described (<basename>.ext, <video_id>.ext, or <basename>_<video_id>.ext). Effectively, this means that the "Offline Import" is only accessible to videos that YT doesn't recognize, rather than any video that is unavailable.
Steps To Reproduce
Attempt to import a video that is a Private Video.
Expected behavior
When TA receives the failed response from YT, then it should move to the local media approach that is described in Offline Import. This enables a greater method for importing and could also solve for users that attempt to import when YouTube is inaccessible (no Internet access).
Relevant log output
[2026-03-06 16:14:34,344: INFO/MainProcess] Task manual_import[1f9474f6-c7fb-4e5c-b1ec-57cb8562a40a] received
[2026-03-06 16:14:34,348: WARNING/ForkPoolWorker-6] manual_import create callback
[2026-03-06 16:14:34,376: WARNING/ForkPoolWorker-6] manual import: {'media': '/cache/import/gBGoDmLMe3U.mp4', 'video_id': False, 'metadata': '/cache/import/gBGoDmLMe3U.info.json', 'thumb': '/cache/import/gBGoDmLMe3U.jpg', 'subtitle': []}
[2026-03-06 16:14:34,475: WARNING/ForkPoolWorker-6] manual import: {'media': '/cache/import/gBGoDmLMe3U.mp4', 'video_id': 'gBGoDmLMe3U', 'metadata': '/cache/import/gBGoDmLMe3U.info.json', 'thumb': '/cache/import/gBGoDmLMe3U.jpg', 'subtitle': []}
[2026-03-06 16:14:34,493: WARNING/ForkPoolWorker-6] gBGoDmLMe3U: get metadata from youtube
[2026-03-06 16:14:36,957: WARNING/ForkPoolWorker-6] WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing
[2026-03-06 16:14:36,971: WARNING/ForkPoolWorker-6] ERROR: [youtube] gBGoDmLMe3U: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies
[2026-03-06 16:14:36,971: WARNING/ForkPoolWorker-6] https://www.youtube.com/watch?v=gBGoDmLMe3U: failed to get info from youtube: ERROR: [youtube] gBGoDmLMe3U: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies
[2026-03-06 16:14:36,990: WARNING/ForkPoolWorker-6] 1f9474f6-c7fb-4e5c-b1ec-57cb8562a40a Failed callback
[2026-03-06 16:14:36,994: ERROR/ForkPoolWorker-6] Task manual_import[1f9474f6-c7fb-4e5c-b1ec-57cb8562a40a] raised unexpected: KeyError('id')
Traceback (most recent call last):
~~~^^
File "/app/appsettings/src/manual.py", line 432, in run
json_data = self.index_metadata()
File "/app/appsettings/src/manual.py", line 455, in index_metadata
video.build_json(
~~~~~~~~~~~~~~~~^
youtube_meta_overwrite=self._get_info_json(),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
media_path=self.current_video["media"],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Anything else?
No response
Source: tubearchivist/tubearchivist