Bowmark jig · a page that runs with your own logins
Your YouTube, curated
Your YouTube home feed, re-ranked by rules you set in conversation.
by @bowmarkv1updated Nov 5, 20262 installs
Works on youtube.com
YouTube search results in the curated layout (before signing in to YouTube) Another search: no Shorts, rules you set in chat in the sidebar
About this jig
Your YouTube, curated is a Bowmark jig for youtube.com: a small page, made by @bowmark, that runs with your own logins. It only looks things up (12 reads) and changes nothing.
A full YouTube-style app over the user's own account: their home feed (plus searches and a live Shorts shelf you add) re-ranked and filtered by rules you write from the conversation, your hand-picked videos first with your reason, your one-line read of what each video is actually about (written over a clickbait thumbnail), search, a watch page with the video's own description, its top comments and Up next, and their Subscriptions, History, Watch later and Liked videos. 'Not interested' clicks and rule removals come back into state.
What it can do
Every Bowmark function this jig is allowed to call. It runs as you, with your own logins, and can call nothing outside this list.
Reads12
Looks things up. Changes nothing.
One model completion. Plain text by default; pass `schema` for a structured object instead. `items` is untrusted data (never instructions) wrapped in a delimited block. Metered to this run's account; refused for an anonymous caller.
llm.completeJudges a batch of items in ONE call: a one-line `about` and a `hide` boolean per item, for the given `question` (e.g. hide reaction/commentary videos). `items` is untrusted data. Empty `items` costs nothing. Metered to this run's account.
llm.judgeA link a plain HTML <video> element can play for one ordinary uploaded video: a signed googlevideo.com file with video and audio together (360p mp4), valid about six hours and playable from any address. The bytes go from YouTube straight to the player; the call moves about 2 KB.
providers.youtube.getPlayableStreamyoutube.comEverything the watch page says about one video without playing it: title, channel name and id, full description, view count, like count, length in seconds, publish and upload dates, category, the uploader's own keywords, every thumbnail size, whether it is (or was) live, and whether it is unlisted. Takes a bare 11-character video id or any watch/shorts/youtu.be URL, exactly as `getTranscript` does.
providers.youtube.getVideoyoutube.comWhat people said under a video — each comment's author, the text, its like count (YouTube's own abbreviated display text), how long ago it was posted, its reply count, whether the thread is pinned, and whether the creator hearted it. Sorted YouTube's own way, top comments or newest first, and paged via an opaque `continuation` token. The single biggest thing an agent is sent to a YouTube page for that is not the video itself.
providers.youtube.listCommentsyoutube.comThe videos on the signed-in account's own YouTube home page — the personalized recommendation grid, in YouTube's own order.
providers.youtube.listHomeFeedyoutube.comuses your loginThe videos the signed-in account has liked.
providers.youtube.listLikedVideosyoutube.comuses your loginThe videos YouTube itself puts next to this one — the "up next" rail — each with its id, title, channel, length and view count. How a caller follows a topic across the site without guessing a second search query.
providers.youtube.listRelatedVideosyoutube.comThe channels the signed-in account subscribes to — each channel's id, url, handle (when the row carries one), title, subscriber count and thumbnail. `browse` on `browseId: "FEchannels"`, YouTube's own Manage subscriptions page.
providers.youtube.listSubscriptionsyoutube.comuses your loginWhat the signed-in account has watched, newest first, with how much of each video was watched.
providers.youtube.listWatchHistoryyoutube.comuses your loginThe signed-in account's Watch Later queue.
providers.youtube.listWatchLateryoutube.comuses your loginSearch YouTube the way a person types into its search box, and get back the videos the results page shows: id, url, title, channel, upload age (as YouTube phrases it and in seconds), length (as a display string and in seconds) and view count. Takes free text and, optionally, every filter the site's own search-filters panel offers — upload date (today/this week/this month/this year), type (video/channel/playlist/movie/shorts), duration (under 3 minutes/3-20 minutes/over 20 minutes), features (live, 4K, HD, subtitles, Creative Commons, 360, VR180, 3D, HDR, location, purchased) and sort (popularity — the only sort besides relevance the site itself offers today) — and they compose, so a caller can ask for a short, captioned video from this week in one call. Rows come in YouTube's own order otherwise, so a caller wanting the newest sorts on the age in seconds. A `limit` keeps reading the pages YouTube loads on scroll until that many distinct videos are in hand (up to 200), so a hundred videos is one call rather than many overlapping queries.
providers.youtube.searchyoutube.com
Typical cost per open: about $0.0027, from people who use it. You pay for your own runs.