# Website Scripts ## `refresh-ashby-snapshot.ts` Pulls the latest job postings from Ashby and writes `src/data/ashby-roles.snapshot.json`. Invoked by the `Release: Website` GitHub Actions workflow; also runnable locally via `pnpm --filter @comfyorg/website ashby:refresh-snapshot`. ## `process-videos.sh` Generates multi-resolution VP9/WebM + H.264/MP4 variants and a poster frame for marketing videos using `ffmpeg`. Run **locally** before uploading the outputs to `media.comfy.org`; this is not wired into CI. ```sh apps/website/scripts/process-videos.sh \ ./video-sources \ ./dist/videos \ "640 960 1280 1920" ``` ### Output For each source video at `./video-sources/foo.mp4`, you get: ```text foo-640.webm foo-640.mp4 foo-960.webm foo-960.mp4 foo-1280.webm foo-1280.mp4 foo-1920.webm foo-1920.mp4 foo-poster.jpg ``` The naming convention is enforced by `buildVideoSources()` in `src/utils/video.ts`, which the `` Vue component uses to emit `` URLs. ### Pairing with `` Once the assets are uploaded, render them with: ```vue ``` ### `` vs `` - **`SiteVideo`** — lightweight multi-source `