what it does
paste a youtube url, get back:
- a publish-ready blog post with section structure, headings, and copy shaped for the platform you write on
- a newsletter draft in your tone, length-tuned for an inbox
- a clutch of social posts (twitter / linkedin), each with the framing that platform actually rewards
- a clean, timestamped, searchable transcript
connect your channel and that whole pipeline runs automatically every time you publish a new video. nothing to remember, nothing to paste.
mcp for ai agents
Vidpipe also exposes its article pipeline through authenticated MCP access. An AI agent can use Vidpipe to turn a YouTube video into an article as part of a larger workflow, without driving the dashboard through a browser.
The integration uses the same account quotas, transcript handling, article generation, and saved outputs as the product. It is not an unlimited bypass or a separate generation system. A production conversion through the MCP path has been verified.
Read the MCP devlog for the implementation story.
Recent work also tightened the coding-article instructions: use the source’s real explanations and excerpts rather than inventing missing implementation. That is a generation constraint, not a guarantee. I still compare the article with the video and code before publishing it.
channel connection
link your youtube channel once and vidpipe takes it from there. every time you publish a new video, the pipeline kicks off automatically and you get:
- a full blog post / article generated from the video
- a newsletter draft ready to send
- a set of social posts (twitter / linkedin) shaped for each platform
- a clean, timestamped transcript
ownership is verified through google oauth (youtube.readonly). no
attestation checkboxes, no “trust me i own this.” once you connect,
new uploads flow through the system without you touching anything.
drafts land in your dashboard for review. you decide what ships and what gets edited or trashed. the goal is to take the friction down to zero, not to take you out of the loop.
publishing beyond vidpipe
The current workflow produces drafts for review and export. Direct publishing to external blogs is a possible extension, not a shipped integration or a promise that a particular platform will support it. MCP already lets the generation step participate in a larger, separately approved workflow.
why i built it
i’ve shipped hundreds of long-form videos. every one of them is also a blog post, a newsletter, a thread, and a transcript that someone could search. but the cost of producing those side artifacts manually is high enough that they mostly don’t get made. when they do, they’re an afterthought.
vidpipe inverts that. the video is the source. everything else is generated from the same source, then reviewed before publication.
how it’s built
a quick tour:
- react and vite for the frontend on Vercel, with TanStack Router and Query
- express and typescript for the separate backend API
- postgres (neon) for accounts, generations, channels, articles
- bullmq worker on a separate droplet that polls connected channels and queues per-video generation jobs (added during the pipeline pivot in early may)
- anthropic + openrouter for model routing. different stages of the pipeline use different models depending on length and quality ceiling
- stripe for both billing modes: credit packs that never expire, and monthly subscriptions
- google oauth (
youtube.readonly) to verify channel ownership before any auto-generation flows
the system has two distinct shapes (a synchronous “paste-a-url” generator, and an async “connected-channel” pipeline) sharing the same generation core. that split is the heart of the product, and also where most of the recent engineering effort has gone.
the recent arc
shipped to a soft launch in early may behind a preview banner. the build-up looked roughly like this:
- prelaunch hardening: multi-model routing through openrouter, abuse protection on free generation, transcript validator unblocked, full admin user-detail surface
- pipeline pivot: the schema, backend api, frontend, and async worker for connected channels. shipped in two phases on a feature branch, fully gated behind an env flag until oauth landed
- oauth + soft launch: replaced the temporary “i confirm i own this channel” attestation with a real google oauth verification, then flipped the preview banner on
- pricing rework + payment audit: locked in solo / pro / studio tiers across both billing modes, then audited and patched 11 bugs across the consume / refund / webhook paths
the next thing isn’t a bigger model or a fancier ui. it’s making the connected-channel flow feel like infrastructure, not a feature.