video-setup

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Video Setup

视频设置

Ten minutes, once. At the end the creator has:
  • the tools the other skills call, installed and checked,
  • video-agent/voice.md
    : who they are, how they talk, what they believe, what they can prove. Every script is written from it,
  • the editing studio ready, so the first edit starts right away,
  • permission rules, so Claude can run ffmpeg, yt-dlp and Remotion without asking each time,
  • if they want: their accounts connected through Treg (audit and publishing), and the keys for translation and images.
只需一次,十分钟。完成后,创作者将拥有:
  • 其他 skill 会调用的工具,且已完成安装与检查,
  • video-agent/voice.md
    :记录他们是谁、如何表达、相信什么以及能够证明什么。所有脚本都将据此编写,
  • 已准备就绪的剪辑 studio,可以立即开始第一次剪辑,
  • 权限规则,让 Claude 无需每次询问即可运行 ffmpeg、yt-dlp 和 Remotion,
  • 可选的账户与 key:通过 Treg 连接账户,用于统计和发布,并配置翻译和图像生成所需的 key。

How to run it

如何运行

  • Talk in the creator's language. Simple words, no jargon.
  • One question per message. Offer choices when you can, recommended first.
  • Never invent anything about them: a fact you don't have becomes a question or a
    {{placeholder}}
    .
  • 使用创作者的语言交流。使用简单直白的语言,不使用专业术语。
  • 每条消息只问一个问题。可以提供选项时,尽量提供选项,并优先推荐最佳选项。
  • 绝不编造任何关于创作者的信息:没有依据的事实应转化为问题或
    {{placeholder}}
    。

1. Tools

1. 工具

Run the checks and show one line per tool (✓ version, or ✗ missing):
bash
node -v
ffmpeg -version
yt-dlp --version
deno --version
git --version
ToolUsed bymacOSWindowsLinux
Node 18+video-edit (Remotion)
brew install node
winget install OpenJS.NodeJS.LTS
nodejs.org or your package manager
ffmpegvideo-edit, video-steal, long-to-short-videos, video-translate, video-publish
brew install ffmpeg
winget install Gyan.FFmpeg
sudo apt install ffmpeg
yt-dlpvideo-viral, video-steal, long-to-short-videos, voice.md from videos
brew install yt-dlp
winget install yt-dlp.yt-dlp
pipx install "yt-dlp[default]"
denoyt-dlp on YouTube (it needs a JavaScript runtime)comes with yt-dlp
winget install DenoLand.Deno
curl -fsSL https://deno.land/install.sh | sh
git, build toolsvideo-edit (gets the Remotion template, builds whisper.cpp)
xcode-select --install
winget install Git.Git
sudo apt install git build-essential
Codex (optional)codex-images
npm i -g @openai/codex
, then
codex login
samesame
Give the commands for what is missing and let them run them (or run them yourself if they say so). Scripting-only users (video-script, video-viral) only need yt-dlp and deno. Codex is only for
/codex-images
and needs a ChatGPT plan; skip it if they don't want images.
  • Windows: after
    winget
    , close and reopen the terminal (and Claude Code), or the new commands are not found.
  • YouTube changes often. When yt-dlp fails on a link that plays in the browser, update it first (
    brew upgrade yt-dlp
    ,
    winget upgrade yt-dlp.yt-dlp
    ,
    pipx upgrade yt-dlp
    ).
运行检查命令,并每个工具显示一行结果(✓ 版本号,或 ✗ 缺失):
bash
node -v
ffmpeg -version
yt-dlp --version
deno --version
git --version
工具用途macOSWindowsLinux
Node 18+video-edit(Remotion)
brew install node
winget install OpenJS.NodeJS.LTS
nodejs.org 或 package manager
ffmpegvideo-edit、video-steal、long-to-short-videos、video-translate、video-publish
brew install ffmpeg
winget install Gyan.FFmpeg
sudo apt install ffmpeg
yt-dlpvideo-viral、video-steal、long-to-short-videos、从视频生成 voice.md
brew install yt-dlp
winget install yt-dlp.yt-dlp
pipx install "yt-dlp[default]"
denoYouTube 上的 yt-dlp(需要 JavaScript runtime)随 yt-dlp 一同安装
winget install DenoLand.Deno
curl -fsSL https://deno.land/install.sh | sh
git、构建工具video-edit(获取 Remotion template,构建 whisper.cpp)
xcode-select --install
winget install Git.Git
sudo apt install git build-essential
Codex(可选)codex-images
npm i -g @openai/codex
,然后运行
codex login
相同相同
给出缺失工具对应的安装命令,并让创作者自行运行;如果他们明确要求,也可以由你代为运行。仅使用脚本类 skill 的用户(video-script、video-viral)只需要 yt-dlp 和 deno。Codex 仅用于
/codex-images
,并且需要 ChatGPT 套餐;如果他们不需要生成图片,则跳过。
  • Windows:使用
    winget
    后,关闭并重新打开终端(以及 Claude Code),否则系统找不到新命令。
  • YouTube 经常发生变化。如果 yt-dlp 无法处理一个在浏览器中可以正常播放的链接,请先更新它(
    brew upgrade yt-dlp
    、
    winget upgrade yt-dlp.yt-dlp
    或
    pipx upgrade yt-dlp
    )。

2. The folder

2. 文件夹

Create it at the root of the current project:
text
video-agent/
├── voice.md      who they are and how they talk (step 4)
├── swipe.md      hooks that worked in their niche (video-viral)
├── audit.md      what works on their own Instagram (video-audit)
├── log.md        one line per script written, so nothing repeats
├── scripts/      one file per week (video-script)
├── takes/        raw recordings (phone, camera, webcam, screen)
├── edits/        one folder per edited video (video-edit): final.mp4, post.md, cover.jpg, published.md
├── repurpose/    one plan per long video (long-to-short-videos)
├── images/       generated images not tied to a video (codex-images)
├── studio/       the Remotion project (step 3)
├── .env          their API keys, never shared (step 6)
└── .tmp/         scratch files, deleted after each run
log.md
starts with
# Script log
,
swipe.md
with
# Swipe file
.
If the project is in git, add these lines to its
.gitignore
(videos are heavy; the text files stay tracked):
gitignore
video-agent/takes/
video-agent/edits/**/*.mp4
video-agent/studio/public/
video-agent/studio/out/
video-agent/studio/node_modules/
video-agent/studio/whisper.cpp/
video-agent/.tmp/
video-agent/.env
video-agent/.env
holds keys: it must be ignored even if they skip the rest.
在当前项目根目录创建:
text
video-agent/
├── voice.md      他们是谁以及如何表达(第 4 步)
├── swipe.md      其细分领域中有效的 hooks(video-viral)
├── audit.md      自己的 Instagram 上哪些内容有效(video-audit)
├── log.md        每编写一个脚本记录一行,避免重复
├── scripts/      每周一个文件(video-script)
├── takes/        原始录制文件(手机、摄像机、摄像头、屏幕录制)
├── edits/        每个剪辑后视频一个文件夹(video-edit):final.mp4、post.md、cover.jpg、published.md
├── repurpose/    每个长视频一个改编方案(long-to-short-videos)
├── images/       与具体视频无关的生成图像(codex-images)
├── studio/       Remotion 项目(第 3 步)
├── .env          他们的 API key,绝不共享(第 6 步)
└── .tmp/         临时文件,每次运行后删除
log.md
以
# Script log
开头,
swipe.md
以
# Swipe file
开头。
如果项目使用 git,请将以下内容添加到项目的
.gitignore
中(视频文件很大;文本文件仍保留在版本控制中):
gitignore
video-agent/takes/
video-agent/edits/**/*.mp4
video-agent/studio/public/
video-agent/studio/out/
video-agent/studio/node_modules/
video-agent/studio/whisper.cpp/
video-agent/.tmp/
video-agent/.env
video-agent/.env
用于存放 key:即使创作者跳过其余配置,也必须忽略此文件。

3. The studio

3. studio

The editing studio (Remotion, whisper.cpp for the captions, a speech model) takes 5 to 15 minutes and about 2 GB to set up. Ask: now (recommended if they will edit soon, the first edit then starts right away), or later (video-edit does it the first time it runs).
Now: run step 2 of
video-edit
("The studio"), including the
Short
and
Wide
compositions and the
npx tsc --noEmit
check. Say what is downloading and how big before starting. Only for video-edit, long-to-short-videos and video-translate; scripting-only users skip it.
剪辑 studio(Remotion、用于生成字幕的 whisper.cpp 和一个语音模型)需要 5 到 15 分钟及约 2 GB 的安装空间。询问:现在安装(推荐,如果他们很快就要剪辑,这样第一次剪辑可以立即开始),还是以后再装(video-edit 首次运行时会自动完成)。
现在安装:运行
video-edit
的第 2 步(“studio”),包括
Short
和
Wide
compositions,以及
npx tsc --noEmit
检查。开始前说明正在下载的内容及其大小。此步骤仅适用于 video-edit、long-to-short-videos 和 video-translate;仅使用脚本类 skill 的用户可跳过。

4. voice.md

4. voice.md

First the two settings at the top of the file: the language they record in, and their brand color (the accent of captions and cards; default
#FFD400
, a yellow that reads on any footage). Then ask how to build the rest:
  1. From their videos (recommended when they have posted before): 3 to 5 links of their best talking videos (YouTube, Shorts, TikTok, Instagram reels). Pull the transcripts (
    <lang>
    = their language code:
    en
    ,
    fr
    ,
    es
    ):
    bash
    yt-dlp --skip-download --write-auto-subs --write-subs --sub-langs "<lang>.*" --sub-format vtt -o "video-agent/.tmp/%(id)s.%(ext)s" "<url>"
    Read them and fill the template from what they actually say: their real phrases, their pace (words ÷ minutes of speech), the words they repeat, the way they open and close. Then ask only what the transcripts can't tell (positions, proof, off limits, the ask). Delete
    video-agent/.tmp/
    after. YouTube links almost always give a transcript. TikTok sometimes does, Instagram almost never: for those, ask for a YouTube link or switch to the interview.
  2. From an interview: ask the template's questions one at a time, in plain words ("What do you believe that most people in your niche get wrong?").
Either way, ask them to paste 3 short texts they wrote themselves, before any AI tool (a caption, a message, an email). They go in "Real samples" and teach the scripts their rhythm.
Write
video-agent/voice.md
from references/voice-template.md. Then read it back to them in 5 lines and ask what is wrong. A voice file is never finished: say they can run
/video-setup voice
any time to update it.
先设置文件顶部的两个选项:创作者录制时使用的语言,以及品牌颜色(字幕和卡片的强调色;默认为
#FFD400
,这种黄色在任何画面上都清晰醒目)。然后询问其余内容的构建方式:
  1. 来自他们的视频(推荐用于此前发布过内容的创作者):提供 3 到 5 个最佳口播视频链接(YouTube、Shorts、TikTok、Instagram Reels)。提取转录文本(
    <lang>
    = 他们的语言代码:
    en
    、
    fr
    、
    es
    ):
    bash
    yt-dlp --skip-download --write-auto-subs --write-subs --sub-langs "<lang>.*" --sub-format vtt -o "video-agent/.tmp/%(id)s.%(ext)s" "<url>"
    阅读这些转录文本,并根据他们实际使用的表达填写模板:真实措辞、语速(词数 ÷ 讲话分钟数)、经常重复的词,以及开场和收尾方式。然后只追问转录文本无法说明的信息(立场、证明材料、禁忌事项,以及希望受众采取的行动)。完成后删除
    video-agent/.tmp/
    。 YouTube 链接几乎总能提供转录文本。TikTok 有时可以,Instagram 几乎不行:对于这些平台,请要求创作者提供 YouTube 链接,或改用访谈方式。
  2. 通过访谈获取:用通俗易懂的语言逐个询问模板中的问题(“在你的细分领域中,大多数人都理解错了什么?”)。
无论采用哪种方式,都请创作者粘贴 3 段在未使用任何 AI 工具前亲自撰写的短文本,例如字幕、消息或邮件。这些内容会进入“真实样本”(Real samples)部分,让脚本掌握他们的表达节奏。
根据 references/voice-template.md 编写
video-agent/voice.md
。然后用 5 行内容读给他们听,并询问哪里有问题。voice 文件永远需要持续迭代:说明他们可以随时运行
/video-setup voice
进行更新。

5. Permissions

5. 权限

The other skills run the same few commands again and again. Pre-approve them for this project. Show the rules, ask, then merge them into
.claude/settings.json
. Create the file if it is missing. Keep every key and rule already there, and never remove anything.
json
{
  "permissions": {
    "allow": [
      "Bash(yt-dlp *)",
      "Bash(ffmpeg *)",
      "Bash(ffprobe *)",
      "Bash(npx remotion *)",
      "Bash(node sub.mjs *)"
    ]
  }
}
  • Only these. Never add
    Bash(*)
    ,
    Bash(rm *)
    ,
    Bash(curl *)
    or a rule for a whole interpreter (
    Bash(node *)
    ,
    Bash(python *)
    ).
  • Rules in the shared
    settings.json
    apply once the folder is trusted. A creator who keeps this project in git and doesn't want to share the rules can use
    .claude/settings.local.json
    instead (same format, personal).
  • Each skill also lists its own commands in its
    allowed-tools
    , which covers the turn the skill runs in. These rules cover every other turn.
其他 skill 会反复运行相同的几条命令。为此项目预先批准这些命令。展示规则、征求同意,然后将其合并到
.claude/settings.json
中。如果文件不存在,则创建它。保留其中已有的每个 key 和规则,绝不删除任何内容。
json
{
  "permissions": {
    "allow": [
      "Bash(yt-dlp *)",
      "Bash(ffmpeg *)",
      "Bash(ffprobe *)",
      "Bash(npx remotion *)",
      "Bash(node sub.mjs *)"
    ]
  }
}
  • 仅允许这些规则。绝不添加
    Bash(*)
    、
    Bash(rm *)
    、
    Bash(curl *)
    ,也不要添加针对整个 interpreter 的规则(如
    Bash(node *)
    或
    Bash(python *)
    )。
  • 共享
    settings.json
    中的规则会在文件夹被信任后生效。如果创作者希望将项目保留在 git 中但不想共享这些规则,可以改用
    .claude/settings.local.json
    (格式相同,属于个人配置)。
  • 每个 skill 还会在其
    allowed-tools
    中列出自己的命令,这仅覆盖该 skill 运行所在的当前轮次。这些规则则覆盖所有其他轮次。

6. Accounts and keys (optional)

6. 账户与 key(可选)

Three things, each only if they want the skill that needs it. Ask once, in one message:
ForWhatCost
/video-audit
and
/video-publish
Treg, with their Instagram, TikTok and YouTube connectedfree on their own accounts
/video-translate
(and
/video-steal
's music level and sound effects, optional)
an ElevenLabs API keytheir ElevenLabs plan
/codex-images
Codex logged in with their ChatGPT accounttheir ChatGPT plan
ElevenLabs: they create a key at elevenlabs.io/app/settings/api-keys and paste it themselves into
video-agent/.env
as
ELEVENLABS_API_KEY=...
(create the empty file and open it for them). Never ask for a key in the chat. Check it is there without printing it:
grep -c ELEVENLABS_API_KEY video-agent/.env
.
Codex:
codex --version
, then they run
codex login
(browser, "Sign in with ChatGPT").
共有三项配置,仅在创作者需要相应 skill 时才进行。一次性用一条消息询问:
用途配置内容费用
/video-audit
和
/video-publish
Treg,并连接他们的 Instagram、TikTok 和 YouTube使用自有账户免费
/video-translate
(以及
/video-steal
的音乐等级和音效,可选)
ElevenLabs API key他们的 ElevenLabs 套餐
/codex-images
Codex,使用他们的 ChatGPT 账户登录他们的 ChatGPT 套餐
ElevenLabs:他们自行在 elevenlabs.io/app/settings/api-keys 创建 key,并将其粘贴到
video-agent/.env
,格式为
ELEVENLABS_API_KEY=...
(创建空文件并替他们打开)。绝不要在聊天中索要 key。检查 key 是否存在,但不要打印它:
grep -c ELEVENLABS_API_KEY video-agent/.env
。
Codex:运行
codex --version
,然后由他们执行
codex login
(在浏览器中选择“Sign in with ChatGPT”)。

Treg

Treg

yt-dlp reads YouTube for free. TikTok and Instagram hide their numbers from scripts, a creator's own stats sit behind their login, and posting needs their accounts. Treg fills that gap: their own accounts connected once (stats and publishing, free), other creators' public numbers for about $0.001 a call. New verified accounts get $1.00 of credit once, enough for hundreds of calls.
Two ways to plug it in:
  • CLI, macOS and Linux. It needs uv (recommended, it fetches the right Python), or pipx or pip with Python 3.12 or 3.13. There is no Windows installer.
    bash
    curl -fsSL https://treg.to/install.sh | sh
    treg login
    treg login
    opens the browser (GitHub, Google or an email code).
  • MCP, any OS, nothing to install:
    claude mcp add --transport http treg https://treg.to/mcp/
    , then
    /mcp
    to sign in. Each
    treg catalog search
    ,
    catalog get
    ,
    call
    and
    balance
    below becomes the MCP tool
    catalog_search
    ,
    catalog_get
    ,
    call
    or
    balance
    .
Their own accounts (connecting needs the CLI).
--capability post
asks for the rights to read their stats and to post; posting still waits for their yes on each video:
bash
treg connections connect --provider instagram --capability post
treg connections connect --provider tiktok --capability post
treg connections connect --provider youtube --capability post
treg connections ls
Each
connect
opens the platform's own login; they approve it there. Connect only the platforms they post on. Instagram needs a professional account (Creator or Business, a free switch in the app: Profile → menu → Account type and tools). Treg prints tips on stderr: add
2>/dev/null
when you read its JSON.
Instagram connected: offer
/video-audit
right after, it is the best first look at what works for them.
How every Treg call works, the rule for all the skills:
  1. treg catalog search "<what you want to do>"
    : describe the job, not a vendor ("list a TikTok account's videos with view counts").
  2. treg catalog get <id>
    : the parameters and the price. Say the price before calling. Their own connected accounts are marked free.
  3. treg call <id> --query key=value
    . A failed call is not charged.
    treg balance
    shows what is left; a 402 error means the balance is empty.
Permissions: add only the free, read-only commands, so every paid
treg call
still asks first:
json
"Bash(treg catalog *)",
"Bash(treg balance)",
"Bash(treg connections ls)"
yt-dlp 可以免费读取 YouTube。TikTok 和 Instagram 会向脚本隐藏相关数据,创作者自己的统计数据位于登录权限之后,而发布内容则需要使用他们的账户。Treg 填补了这一空白:一次连接他们自己的账户即可获取统计数据并发布内容,且免费;还可以按每次调用约 $0.001 获取其他创作者的公开数据。新完成验证的账户可一次性获得 $1.00 额度,足以支持数百次调用。
有两种接入方式:
  • CLI,适用于 macOS 和 Linux。它需要 uv(推荐,它会获取正确的 Python),也可以使用 pipx,或使用带 Python 3.12 或 3.13 的 pip。Windows 没有安装程序。
    bash
    curl -fsSL https://treg.to/install.sh | sh
    treg login
    treg login
    会打开浏览器,可使用 GitHub、Google 或邮箱验证码登录。
  • MCP,适用于任何 OS,无需安装:运行
    claude mcp add --transport http treg https://treg.to/mcp/
    ,然后使用
    /mcp
    登录。下文的每个
    treg catalog search
    、
    catalog get
    、
    call
    和
    balance
    命令,分别对应 MCP 工具
    catalog_search
    、
    catalog_get
    、
    call
    或
    balance
    。
连接他们自己的账户(连接操作需要使用 CLI)。
--capability post
会请求读取统计数据和发布内容的权限;每次发布仍需他们确认。
bash
treg connections connect --provider instagram --capability post
treg connections connect --provider tiktok --capability post
treg connections connect --provider youtube --capability post
treg connections ls
每次执行
connect
都会打开相应平台的登录页面;创作者需要在那里批准授权。仅连接他们实际发布内容的平台。Instagram 需要专业账户(Creator 或 Business,可在 App 中免费切换:Profile → menu → Account type and tools)。Treg 会在 stderr 输出提示:读取其 JSON 时,可以添加
2>/dev/null
。
连接 Instagram 后,建议立即运行
/video-audit
。这是了解哪些内容对他们最有效的最佳第一步。
每次 Treg 调用的工作方式,这是所有 skill 共同遵循的规则:
  1. treg catalog search "<what you want to do>"
    :描述要完成的任务,而不是供应商(“列出某个 TikTok 账户的视频和播放次数”)。
  2. treg catalog get <id>
    :返回参数和价格。调用前先说明价格。已连接的自有账户会标记为免费。
  3. treg call <id> --query key=value
    。失败的调用不会收费。
    treg balance
    显示剩余额度;402 错误表示余额已耗尽。
权限:仅添加免费、只读的命令,让每次付费的
treg call
仍会先请求确认:
json
"Bash(treg catalog *)",
"Bash(treg balance)",
"Bash(treg connections ls)"

7. Wrap up

7. 收尾

Show what is ready (✓ or skipped, one line each) and the path forward:
  1. /video-audit
    : what works on their own Instagram (fills audit.md).
  2. /video-viral
    : what works in their niche (fills swipe.md; once a month).
  3. /video-script
    : this week's scripts, hooks first, humanized.
  4. Record them: phone, camera or webcam, one take per script, saved in
    video-agent/takes/<slug>.mp4
    .
  5. /video-edit
    : a short (vertical) or a full YouTube video (horizontal).
  6. /video-steal
    : a creator's reel they love into a style
    video-edit
    can use.
  7. /long-to-short-videos
    : a long video into finished shorts.
  8. /video-translate
    : a take in another language, in their voice.
  9. /codex-images
    : thumbnails and covers.
  10. /video-publish
    : YouTube, Instagram and TikTok.
展示已经准备就绪的内容(✓ 或已跳过,每项一行),以及后续操作路径:
  1. /video-audit
    :查看他们自己的 Instagram 上哪些内容有效(填充 audit.md)。
  2. /video-viral
    :查看其细分领域中哪些内容有效(填充 swipe.md;每月运行一次)。
  3. /video-script
    :生成本周的脚本,优先产出 hooks,并进行人性化处理。
  4. 录制:使用手机、摄像机或摄像头,每个脚本录制一条,保存到
    video-agent/takes/<slug>.mp4
    。
  5. /video-edit
    :制作竖版短视频或横版完整 YouTube 视频。
  6. /video-steal
    :将喜欢的创作者 reel 转换为
    video-edit
    可用的风格。
  7. /long-to-short-videos
    :将长视频转换为可直接发布的 shorts。
  8. /video-translate
    :将一条 take 翻译为其他语言,同时保留他们的语气。
  9. /codex-images
    :生成缩略图和封面。
  10. /video-publish
    :发布到 YouTube、Instagram 和 TikTok。

Later

后续

/video-setup <part>
jumps to one part:
tools
,
studio
,
voice
(rebuild or update voice.md),
permissions
,
treg
,
keys
.
/video-setup <part>
可以直接跳转到指定部分:
tools
、
studio
、
voice
(重新构建或更新 voice.md)、
permissions
、
treg
、
keys
。