Skip to content

Downloads

Pinchana Web has two download paths: the normal scrape/media pipeline and the optional YouTube DLP pipeline.

After a successful normal scrape, downloadable assets are exposed through authenticated same-origin /api/media/... URLs. Depending on the source, a result can contain:

  • one video or image;
  • an image/video carousel;
  • audio tracks;
  • a cover image;
  • a slideshow soundtrack.

The Web client derives an ordered download list from the normalized data.media array. If multiple files are present and ZIP multiple files is enabled, client-zip creates the archive in the browser. Otherwise each asset is saved separately.

For ordinary scrape results, Audio mode prefers existing audio assets. If only a video asset has audio, Pinchana Web can extract/convert it to MP3 in the browser with its locally bundled FFmpeg WebAssembly runtime. Existing MP3 audio does not need to be re-encoded.

If a result has no usable audio stream, Web falls back to Media rather than creating an empty audio download.

When DLP protocol v2 is available, ordinary YouTube URLs use a job workflow instead of normal scrape media:

  1. Web allocates a DLP job.
  2. The user-selected fixed options are submitted.
  3. An ephemeral worker downloads/processes the media.
  4. Web polls job state.
  5. The completed file is streamed through /api/dlp/jobs/{jobId}/file to the browser download manager.

This path supports advertised quality ceilings, H.264/AV1/VP9 or Auto codec preference, MP4/WebM/MKV or Auto containers, audio formats/bitrates, optional better-audio preference, dubbed-track preference, and embedded subtitle language when available. The API capability response determines which controls are actually enabled.

YouTube cookies are optional and never required for an anonymous DLP job. If a user explicitly selects a Cookie Vault profile, Web decrypts that profile locally, filters it for the submitted URL, and encrypts the cookie payload to the allocated worker’s short-lived X25519 public key.

The Next.js proxy, gateway, Redis, and orchestrator do not receive plaintext cookie values. The worker decrypts cookies only into a RAM-backed runtime location for the job.

All Pinchana-generated browser/DLP download names retain the [pinchana.cc] brand marker. Web currently offers four filename styles:

  • Classic
  • Basic
  • Pretty (default)
  • Nerdy

Names are sanitized and constrained to a conservative UTF-8 byte length.

Twitter/X animated posts remain efficient looping video assets by default at the API level. The Web setting Convert Twitter GIFs can request an explicit GIF conversion before saving.

Normal browser Blob/ZIP operations need memory proportional to the data being processed. DLP final files instead stream through the same-origin route with range metadata so large completed downloads do not need to be held entirely in browser JavaScript memory.