Search, inspect, download, and timeline-import online videos through the Native Helper and yt-dlp.
The Download panel and the older YouTube-labeled panel share the same implementation. The surface supports:
- direct URL paste for YouTube and other
yt-dlp-supported sites - YouTube keyword search when a YouTube Data API key is configured
- quality selection through the Native Helper
- download-only and add-to-timeline flows
- existing-download detection inside the current project
- re-download and copy-URL actions from each result card
The panel detects common platforms up front and otherwise falls back to a generic yt-dlp flow.
| Platform | URL Detection | Project Subfolder |
|---|---|---|
| YouTube | youtube.com, youtu.be |
Downloads/YT/ |
| TikTok | tiktok.com |
Downloads/TikTok/ |
instagram.com |
Downloads/Instagram/ |
|
| Twitter / X | twitter.com, x.com |
Downloads/Twitter/ |
facebook.com, fb.watch |
Downloads/Facebook/ |
|
reddit.com |
Downloads/Reddit/ |
|
| Vimeo | vimeo.com |
Downloads/Vimeo/ |
| Twitch | twitch.tv |
Downloads/Twitch/ |
| Other | any other HTTP(S) URL | Downloads/Other/ |
Any site that yt-dlp can fetch can still be downloaded even if it is not listed in the table above.
- Pasting a YouTube URL or 11-character video ID uses the oEmbed metadata path first
- Pasting a non-YouTube URL asks the Native Helper for format/info metadata
- Optional
Auto Downloadstarts the download immediately after paste when the helper is connected
- Requires the YouTube Data API key in Settings
- Search results are persisted in
youtubeStorewith the project - Search is YouTube-only; other platforms are URL-first
Downloads require the Native Helper for the actual media transfer.
- The panel asks the helper for available formats
- The helper runs
yt-dlp - Progress callbacks feed percent and transfer speed back into the panel
- The downloaded file is fetched from the helper
- If a project is open, the file is written into
Downloads/<Platform>/ - The saved file can then be imported to the media pool and/or converted into a real timeline clip
If no project is open, the downloaded file stays in memory as a File.
Each result card can show:
- title, channel/uploader, thumbnail, and duration
- a downloaded badge when the file already exists in the open project
- a download button
- a re-download button once the file is already present
- an add-to-timeline button
- a copy-URL button
When a project is open, the panel checks whether Downloads/<Platform>/<SanitizedTitle>.mp4 already exists and marks matching cards as downloaded.
While a download is running:
- the card gets a downloading state
- the overlay shows percent complete
- transfer speed is displayed when the helper provides it
- the same progress/speed data is mirrored into pending timeline download clips when the download started from
Add to Timeline
The helper-reported progress represents the whole pipeline, including download, processing, and final file handoff.
Add to Timeline does not wait for the final file before showing something in the editor.
- A pending download clip is inserted on the first video track at the current playhead
- The clip stores the source title, thumbnail, duration estimate, and download status
- Progress updates stream into that pending clip while the helper is downloading
- Once the file arrives, the pending clip is converted into a normal playable media clip
- On failure, the clip stores the error state instead
- Not-yet-downloaded cards are visual drag sources only
- Already-downloaded cards are pre-imported into the media store
- Once pre-imported, dragging the card to the timeline uses the real media-file drag payload instead of starting a new URL-only flow
When the helper can enumerate formats, the panel opens a quality dialog before download/timeline import.
The recommended order is:
| Priority | Codec | Container | Reason |
|---|---|---|---|
| 1 | H.264 | MP4 | best browser/export compatibility |
| 2 | VP9 | WebM | good fallback quality |
| 3 | AV1 | WebM | compression-efficient but more compatibility-sensitive |
If no recommendations are available, the panel falls back to the helper default.
If YouTube blocks anonymous extraction, the helper retries with Chrome cookies before failing.
When a project is open, downloads are saved here:
ProjectFolder/
Downloads/
YT/
TikTok/
Instagram/
Twitter/
Facebook/
Reddit/
Vimeo/
Twitch/
Other/
File names are sanitized from the source title and saved as .mp4.
- The helper is required for the actual download path
- Non-YouTube metadata lookup also depends on the helper
- Search without a YouTube API key is limited to pasted URLs/IDs
- Duplicate detection is filename/title based inside the project download folders; it is not a remote content hash