studio-setup

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Studio 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
    :他们是谁、如何说话、相信什么以及能证明什么。每个脚本都据此编写,
  • 已准备就绪的剪辑工作室,让第一次剪辑可以立即开始,
  • 权限规则,让 Claude 可以运行 ffmpeg、yt-dlp 和 Remotion,而不必每次询问,
  • 如有需要:通过 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+short-editing (Remotion)
brew install node
winget install OpenJS.NodeJS.LTS
nodejs.org or your package manager
ffmpegshort-editing, steal, clips, short-translate, publish
brew install ffmpeg
winget install Gyan.FFmpeg
sudo apt install ffmpeg
yt-dlpstudio-script viral, steal, clips, 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 toolsshort-editing (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 (studio-script, its
viral
mode included) 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+short-editing(Remotion)
brew install node
winget install OpenJS.NodeJS.LTS
nodejs.org 或你的包管理器
ffmpegshort-editing、steal、clips、short-translate、publish
brew install ffmpeg
winget install Gyan.FFmpeg
sudo apt install ffmpeg
yt-dlpstudio-script viral、steal、clips、从视频生成 voice.md
brew install yt-dlp
winget install yt-dlp.yt-dlp
pipx install "yt-dlp[default]"
deno在 YouTube 上运行 yt-dlp(需要 JavaScript 运行时)随 yt-dlp 一同安装
winget install DenoLand.Deno
curl -fsSL https://deno.land/install.sh | sh
git、构建工具short-editing(获取 Remotion 模板、构建 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
相同相同
针对缺失项给出命令,让他们自行运行;如果他们要求,也可以由你代为运行。仅使用脚本的用户(包括 studio-script 及其
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 (`/studio-script viral`)
├── audit.md      what works on their own Instagram (insta-audit)
├── audits/       full Instagram reports, one folder per account and run (insta-audit @handle)
├── log.md        one line per script written, so nothing repeats
├── scripts/      one file per week (studio-script)
├── takes/        raw recordings (phone, camera, webcam, screen)
├── styles/       styles copied from other creators (steal): <name>.md + its stills, sfx, stickers
├── edits/        one folder per edited video (short-editing): final.mp4, post.md, cover.jpg, published.md
├── repurpose/    one plan per long video (clips)
├── 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      who they are and how they talk (step 4)
├── swipe.md      hooks that worked in their niche (`/studio-script viral`)
├── audit.md      what works on their own Instagram (insta-audit)
├── audits/       full Instagram reports, one folder per account and run (insta-audit @handle)
├── log.md        one line per script written, so nothing repeats
├── scripts/      one file per week (studio-script)
├── takes/        raw recordings (phone, camera, webcam, screen)
├── styles/       styles copied from other creators (steal): <name>.md + its stills, sfx, stickers
├── edits/        one folder per edited video (short-editing): final.mp4, post.md, cover.jpg, published.md
├── repurpose/    one plan per long video (clips)
├── 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
以
# 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. 工作室

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 (short-editing does it the first time it runs).
Now: run step 2 of
short-editing
("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 short-editing, clips and short-translate; scripting-only users skip it.
剪辑工作室(Remotion、用于生成字幕的 whisper.cpp 以及一个语音模型)的设置需要 5 到 15 分钟和约 2 GB 空间。询问:现在还是稍后?如果他们很快就要剪辑,建议选择现在,这样第一次剪辑可以立即开始;如果选择稍后,
short-editing
会在首次运行时完成设置。
现在:运行
short-editing
的第 2 步(“The studio”),包括创建
Short
和
Wide
compositions,并执行
npx tsc --noEmit
检查。开始前说明正在下载的内容及其大小。仅 short-editing、clips 和 short-translate 需要执行;仅使用脚本的用户跳过。

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
/studio-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. 通过访谈构建:用平实语言逐个询问模板中的问题(“在你的细分领域,大多数人都误解了什么?”)。
无论采用哪种方式,都请他们提供在使用任何 AI 工具之前亲自撰写的 3 段短文本(一条标题、一条消息或一封电子邮件)。这些内容会放入“Real samples”,用于教脚本掌握他们的表达节奏。
根据 references/voice-template.md 编写
video-agent/voice.md
。然后用 5 行内容概括并读给他们听,询问有哪些问题。声音档案永远没有最终版本:告诉他们可以随时运行
/studio-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 *)
    ,也不要添加针对整个解释器的规则(
    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
/insta-audit
and
/publish
Treg, with their Instagram, TikTok and YouTube connectedfree on their own accounts
/short-translate
(and
/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 时才设置。在一条消息中一次性询问:
用途所需内容成本
/insta-audit
和
/publish
Treg,连接其 Instagram、TikTok 和 YouTube在自有账户上免费
/short-translate
(以及
/steal
的音乐音量和音效,可选)
ElevenLabs API key其 ElevenLabs 套餐
/codex-images
使用 ChatGPT 账户登录 Codex其 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
/insta-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 后,立即提供
/insta-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. They can also just type
/editing <what they want>
: it picks the right skill.
  1. /insta-audit
    : what works on their own Instagram (fills audit.md).
  2. /studio-script viral
    : what works in their niche (fills swipe.md; once a month).
  3. /studio-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. /short-editing
    : a short (vertical) or a full YouTube video (horizontal).
  6. /steal
    : a creator's reel they love into a style
    short-editing
    can use.
  7. /clips
    : a long video into finished shorts.
  8. /short-translate
    : a take in another language, in their voice.
  9. /codex-images
    : thumbnails and covers.
  10. /publish
    : YouTube, Instagram and TikTok.
展示已经准备就绪的项目(✓ 或已跳过,每项一行)以及后续路径。他们也可以直接输入
/editing <他们想要的内容>
;它会选择合适的 skill。
  1. /insta-audit
    :了解他们自己的 Instagram 上哪些内容有效(填充 audit.md)。
  2. /studio-script viral
    :了解其细分领域中哪些内容有效(填充 swipe.md;每月一次)。
  3. /studio-script
    :生成本周的脚本,先提供 hooks,并使其自然化。
  4. 录制脚本:使用手机、相机或摄像头,每个脚本录制一条,保存到
    video-agent/takes/<slug>.mp4
    。
  5. /short-editing
    :制作一条竖屏短视频或一条横屏 YouTube 视频。
  6. /steal
    :将喜欢的创作者的 Reel 转换为
    short-editing
    可使用的风格。
  7. /clips
    :将长视频转换为成品短视频。
  8. /short-translate
    :以他们自己的声音将一条素材翻译为另一种语言。
  9. /codex-images
    :生成缩略图和封面。
  10. /publish
    :发布到 YouTube、Instagram 和 TikTok。

Later

后续操作

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