2
API
CREATIVE_tg1 edited this page 2026-05-27 14:55:52 +00:00

API

Экспортируемые объекты

Пакет экспортирует:

  • download
  • download_short
  • download_to_path
  • validate_session_file
  • DownloadedVideo
  • SessionValidation
  • InvalidUrlError
  • InvalidSessionError
  • JsRuntimeUnavailableError
  • VideoDownloadError
  • YtShortsDownloaderError

download

from yt_shorts_downloader import download

video = download(url, session_path)

Поведение:

  • валидирует YouTube URL
  • валидирует cookie-файл
  • скачивает видео во временную директорию
  • убеждается, что итоговый файл является MP4
  • возвращает DownloadedVideo

Поля DownloadedVideo:

  • filename
  • content
  • media_type

download_short

Алиас для download.

download_to_path

from yt_shorts_downloader import download_to_path

path = download_to_path(url, session_path, output_dir='downloads')

Поведение:

  • валидирует URL и session file
  • скачивает MP4 прямо в целевую директорию
  • возвращает итоговый путь к файлу

validate_session_file

from pathlib import Path
from yt_shorts_downloader import validate_session_file

result = validate_session_file(Path('cookies.txt'))

Поля SessionValidation:

  • exists
  • structurally_valid
  • fresh
  • is_usable
  • message

Исключения

  • InvalidUrlError: неподдерживаемая или некорректная ссылка
  • InvalidSessionError: невалидный или устаревший cookie-файл
  • JsRuntimeUnavailableError: не найден Deno или Node.js 22+
  • VideoDownloadError: yt-dlp не смог получить MP4
  • YtShortsDownloaderError: базовое исключение библиотеки

Замечание

Публичный API специально устроен так, чтобы серверная интеграция могла сразу вернуть MP4-байты клиенту без управления временными файлами на своей стороне.