@if (allowQualitySelect) {
Quality Best @if (url && cachedAvailableFormats && cachedAvailableFormats[url]?.formats && !cachedAvailableFormats[url]?.formats_failed) { @for (option of cachedAvailableFormats[url]['formats'][audioOnly ? 'audio' : 'video']; track option.key) { @if (option.key !== 'best_audio_format') { {{option.key}} } } } @if (url && cachedAvailableFormats && cachedAvailableFormats[url]?.formats_failed) { @for (option of qualityOptions[audioOnly ? 'audio' : 'video']; track option.value) { {{option.label}} } } @if (url !== '' && cachedAvailableFormats[url] && cachedAvailableFormats[url]['formats_loading']) {
}
}
@if (results_showing) {
@for (result of results; track result.videoUrl; let i = $index) {
{{result.title}}
{{result.uploaded}}
}
}
Only Audio @if (!forceAutoplay) { Autoplay }
@if (!!current_download) {
}
@if (allowAdvancedDownload) {
Advanced @if (this.simulatedOutput) {

Simulated command: {{this.simulatedOutput}}

}
Use custom args
Replace args Custom args No need to include URL, just everything after. Args are delimited using two commas like so: ,,
Use custom output Custom output Documentation. Path is relative to the config download path. Don't include extension.
@if (!youtubeAuthDisabledOverride) {
Use authentication @if (youtubeAuthEnabled) { Username }
} @if (!youtubeAuthDisabledOverride) {
@if (youtubeAuthEnabled) { Password }
}
Crop file @if (cropFile) { Crop from (seconds) }
@if (cropFile) { Crop to (seconds) }
}
@if (current_download && autoplay) {
@if (current_download.percent_complete && current_download.percent_complete > 1) {
} @else { } @if (+percentDownloaded > 99) {
}
} @if (downloads && downloads.length > 0 && !autoplay) {
} @if (cachedFileManagerEnabled || fileManagerEnabled) {

#### Custom playlists

}