youtubepro README

The project's README from github.com/AgriciDaniel/youtubepro. As one markdown file: README.md.

YouTube Pro logo

YouTube Pro

Research, understand, write, and package a YouTube video in one local-first workflow.

YouTube Pro is an evidence-grounded workspace for YouTube research, idea selection, script writing, and thumbnail creation. It combines public YouTube Data API v3 records with Gemini analysis while keeping API keys on the server.

YouTube Pro is an independent project. It is not affiliated with, endorsed by, or sponsored by YouTube or Google. YouTube and Google product names are trademarks of their respective owners.

Product tour

Research analytics

Search a topic, inspect the returned public-data snapshot, compare momentum and publication patterns, review data coverage, and continue into AI-assisted insights and ideas.

YouTube Pro research analytics with video performance, momentum, duration, and publication graphs

Source videos

Review every video included in the active public-data snapshot, with thumbnails, channel information, views, publication timing, likes, and comments visible in one grid.

YouTube Pro source-video grid showing every video used in the research snapshot

AI Insights

Turn the active snapshot into a scan-first research brief with audience questions, opportunity themes, recommended moves, and a clear separation between observed evidence, inference, and metrics that require YouTube Studio.

YouTube Pro AI Insights with visual summaries, evidence balance, and an expandable evidence ledger

Script teleprompter

Turn a selected idea into an editable script, then read it in a focused teleprompter with pace, size, cue, undo, and playback controls.

YouTube Pro teleprompter with playback and reading controls

Thumbnail Creator

Describe the outcome once, add optional references or advanced controls, generate a readable 16:9 thumbnail, and create variations from the same workflow.

YouTube Pro Thumbnail Creator with a generated thumbnail preview and minimal creation controls

These screenshots come from a live local development build using public YouTube metadata. They are not generated interface mockups.

Workflow

The product follows one continuous workflow:

  1. Research: Search up to 50 public YouTube videos, review the overview, analytics, coverage, and every returned video.
  2. AI Insights: Gemini analyzes the exact active research snapshot. Claims retain their snapshot identity and source video IDs, or are explicitly labeled as aggregate inference or as requiring YouTube Studio.
  3. Grounded Ideas: Ideas generate automatically after valid Insights. Select one idea, then explicitly proceed to Script Writer.
  4. Script Writer: Generate and edit a script from the selected idea package and its evidence. Section and paragraph regeneration use the same bounded evidence context.
  5. Thumbnail Creator: Use the selected promise and thumbnail concept, outcome-oriented presets, editable controls, and up to three permitted references.

There is no standalone Ideas screen. The legacy /ideas path redirects to the Ideas section inside Research.

Each press of New Workflow creates a separate local project. The sidebar keeps the eight most recent workflows in browser IndexedDB, lets the user rename or delete them, and reopens the last active Research, Script, or Thumbnail step. Research snapshots, generated ideas, editable scripts, thumbnail briefs, and generated thumbnail results are restored together. Uploaded reference images are intentionally not retained, so permission and file selection are fresh for every later generation.

Requirements

Copy the example configuration and fill it locally:

cp .env.example .env
npm install
npm run dev

The server listens on 127.0.0.1:5000 by default. Open http://127.0.0.1:5000.

You can instead start without keys and enter them in Settings. Settings writes replacements to the ignored .env file with owner-only permissions. Saved values are never returned to the browser. Settings accepts direct loopback, same-origin requests only and rejects normal forwarded or reverse-proxy requests.

Configuration

Variable Purpose Default
YOUTUBE_API_KEY YouTube Data API v3 search and enrichment Required for Research
GEMINI_API_KEY Gemini text and image generation Required for AI features
GEMINI_TEXT_MODEL Research, Ideas, Script, and regeneration model gemini-3.7-flash
GEMINI_IMAGE_MODEL Thumbnail generation model gemini-3.1-flash-image
PORT Local HTTP port 5000
HOST Bind address 127.0.0.1

The Settings page exposes the server allowlist and its current descriptions. Models are not hardcoded by the client. Changing the allowlist in server/gemini-models.ts changes the available Settings options.

Data and request limits

Privacy and access model

Gemini image outputs include Google's invisible SynthID provenance. The application does not add a visible watermark and does not claim SynthID can be disabled.

Commands

npm run dev       # development server
npm test          # contract and provider-behavior tests
npm run check     # TypeScript check
npm run build     # production client and server build
npm start         # run the production build

Continuous integration runs the test suite, TypeScript check, and production build on every pull request and push to main.

Technology

Quotas and costs

YouTube search is quota-expensive compared with video and channel enrichment. Gemini limits and pricing vary by model and account. Check the current official documentation before changing models or making the server remotely accessible:

License

YouTube Pro is open source under the Apache License 2.0.

Contributing and security

See CONTRIBUTING.md for the local quality gate. Report security issues privately according to SECURITY.md, never in a public issue.

youtubepro (AgriciDaniel/youtubepro)

Searching Database…

这是什么?YouTube Pro 是一个本地优先的工作区,把公开的 YouTube Data API v3 数据与 Gemini AI 分析结合起来,帮你研究选题、获得有依据的内容创意、编写脚本,并为 YouTube 视频生成缩略图。
这是托管式 Web 应用,还是我自己在本地运行的东西?它是一个自托管的 Node.js/Express 服务器加 React 前端,运行在你自己的机器上;默认只绑定 localhost,也不作为云端 SaaS 提供。
我怎么把它跑起来?你需要 Node.js 22.12 或更新版本,然后把示例配置文件复制到本地并填入密钥(也可以留空,稍后在设置里添加),再启动服务器,它监听 127.0.0.1:5000。
我需要自己的 YouTube 和 Gemini API 密钥吗?需要。Research 需要 YouTube Data API v3 密钥,Insights、Ideas、Script Writer 和 Thumbnail Creator 则需要 Gemini API 密钥;你可以先不填密钥,稍后在设置里输入。
有什么我应该知道的使用限制吗?Research 搜索最多 50 个视频、查询最长 200 字符,缩略图参考图最多三张且每张小于 5MB;由于这是单进程本地服务器,计费的 YouTube/Gemini 路由被限制为每个客户端每 60 秒 10 次请求。
我的数据和 API 密钥实际上去了哪里?API 密钥由服务端写入一个已被 gitignore 忽略、仅所有者可访问的 .env 文件,绝不会返回给浏览器;最近的工作流历史只存在浏览器的 IndexedDB 里,请求/响应内容也不会被记入日志。
从研究到缩略图的工作流具体是怎么走的?你最多搜索 50 个公开视频,Gemini 把这批确切的快照整理成一份 Insights 简报,「Grounded Ideas」从有效的 Insights 中生成,其中一个创意变成可编辑的 Script,选中的同一创意和证据再输入 Thumbnail Creator。每点一次「New Workflow」都会开始一个全新的本地项目,保留在侧边栏的最近历史里。
为什么要自托管,而不是用云端 SaaS 版本?本地优先意味着 API 密钥和历史记录永远不会离开你的机器;设置页面只接受直接的回环请求,README 也明确警告,不要在没有自行添加身份验证和速率限制的情况下把服务器暴露到互联网上。
这个 AI 会不会对我的视频胡编乱造?不会。Gemini Insights 严格限定在当前活跃的研究快照范围内,每条论断都标注为观测证据、汇总推断或需要 YouTube Studio 才能确认的内容,推测性论断与事实被明确区分开。
生成的缩略图带水印吗?Gemini 的图像输出包含 Google 不可见的 SynthID 来源标记;应用不会添加可见水印,也没有声称可以禁用 SynthID。
Size
3.9 MB
Stars
419
Age
1mo
Commits · 90 Days