studio-setup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseStudio Setup
工作室设置
Ten minutes, once. At the end the creator has:
- the tools the other skills call, installed and checked,
- : who they are, how they talk, what they believe, what they can prove. Every script is written from it,
video-agent/voice.md - 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| Tool | Used by | macOS | Windows | Linux |
|---|---|---|---|---|
| Node 18+ | short-editing (Remotion) | | | nodejs.org or your package manager |
| ffmpeg | short-editing, steal, clips, short-translate, publish | | | |
| yt-dlp | studio-script viral, steal, clips, voice.md from videos | | | |
| deno | yt-dlp on YouTube (it needs a JavaScript runtime) | comes with yt-dlp | | |
| git, build tools | short-editing (gets the Remotion template, builds whisper.cpp) | | | |
| Codex (optional) | codex-images | | same | same |
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 mode included) only need yt-dlp and deno. Codex is only for and needs a ChatGPT plan; skip it if they don't want images.
viral/codex-images- Windows: after , close and reopen the terminal (and Claude Code), or the new commands are not found.
winget - 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| 工具 | 用于 | macOS | Windows | Linux |
|---|---|---|---|---|
| Node 18+ | short-editing(Remotion) | | | nodejs.org 或你的包管理器 |
| ffmpeg | short-editing、steal、clips、short-translate、publish | | | |
| yt-dlp | studio-script viral、steal、clips、从视频生成 voice.md | | | |
| deno | 在 YouTube 上运行 yt-dlp(需要 JavaScript 运行时) | 随 yt-dlp 一同安装 | | |
| git、构建工具 | short-editing(获取 Remotion 模板、构建 whisper.cpp) | | | |
| Codex(可选) | codex-images | | 相同 | 相同 |
针对缺失项给出命令,让他们自行运行;如果他们要求,也可以由你代为运行。仅使用脚本的用户(包括 studio-script 及其 模式)只需要 yt-dlp 和 deno。Codex 仅用于 ,并且需要 ChatGPT 套餐;如果他们不需要生成图像,则跳过。
viral/codex-images- Windows:使用 后,关闭并重新打开终端(以及 Claude Code),否则系统找不到新命令。
winget - 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 runlog.md# Script logswipe.md# Swipe fileIf the project is in git, add these lines to its (videos are heavy; the text files stay tracked):
.gitignoregitignore
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/.envvideo-agent/.env在当前项目根目录创建:
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 runlog.md# Script logswipe.md# Swipe file如果项目使用 git,请将以下行添加到其 中(视频文件很大;文本文件仍保留在版本控制中):
.gitignoregitignore
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/.envvideo-agent/.env3. 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 ("The studio"), including the and compositions and the check. Say what is downloading and how big before starting. Only for short-editing, clips and short-translate; scripting-only users skip it.
short-editingShortWidenpx tsc --noEmit剪辑工作室(Remotion、用于生成字幕的 whisper.cpp 以及一个语音模型)的设置需要 5 到 15 分钟和约 2 GB 空间。询问:现在还是稍后?如果他们很快就要剪辑,建议选择现在,这样第一次剪辑可以立即开始;如果选择稍后, 会在首次运行时完成设置。
short-editing现在:运行 的第 2 步(“The studio”),包括创建 和 compositions,并执行 检查。开始前说明正在下载的内容及其大小。仅 short-editing、clips 和 short-translate 需要执行;仅使用脚本的用户跳过。
short-editingShortWidenpx tsc --noEmit4. 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 , a yellow that reads on any footage). Then ask how to build the rest:
#FFD400- 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 (= their language code:
<lang>,en,fr):esRead 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). Deletebashyt-dlp --skip-download --write-auto-subs --write-subs --sub-langs "<lang>.*" --sub-format vtt -o "video-agent/.tmp/%(id)s.%(ext)s" "<url>"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.video-agent/.tmp/ - 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 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 any time to update it.
video-agent/voice.md/studio-setup voice先设置文件顶部的两项内容:他们录制的语言,以及品牌色(字幕和卡片的强调色;默认为 ,这种黄色在任何画面上都清晰可见)。然后询问如何构建其余内容:
#FFD400- 从他们的视频构建(此前发布过内容时推荐):提供 3 到 5 个表现最佳的出镜讲话视频链接(YouTube、Shorts、TikTok、Instagram Reels)。获取转录文本(为他们的语言代码:
<lang>、en、fr):es阅读这些转录文本,并根据他们实际所说的内容填写模板:他们真实的表达方式、语速(词数 ÷ 讲话分钟数)、经常重复的词,以及开场和收尾方式。然后只询问转录文本无法提供的信息(立场、证据、不可提及内容、最终诉求)。完成后删除bashyt-dlp --skip-download --write-auto-subs --write-subs --sub-langs "<lang>.*" --sub-format vtt -o "video-agent/.tmp/%(id)s.%(ext)s" "<url>"。 YouTube 链接几乎总能提供转录文本。TikTok 有时提供,而 Instagram 几乎从不提供;对于这些平台,请要求他们提供 YouTube 链接,或改用访谈方式。video-agent/.tmp/ - 通过访谈构建:用平实语言逐个询问模板中的问题(“在你的细分领域,大多数人都误解了什么?”)。
无论采用哪种方式,都请他们提供在使用任何 AI 工具之前亲自撰写的 3 段短文本(一条标题、一条消息或一封电子邮件)。这些内容会放入“Real samples”,用于教脚本掌握他们的表达节奏。
根据 references/voice-template.md 编写 。然后用 5 行内容概括并读给他们听,询问有哪些问题。声音档案永远没有最终版本:告诉他们可以随时运行 进行更新。
video-agent/voice.md/studio-setup voice5. 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 . Create the file if it is missing. Keep every key and rule already there, and never remove anything.
.claude/settings.jsonjson
{
"permissions": {
"allow": [
"Bash(yt-dlp *)",
"Bash(ffmpeg *)",
"Bash(ffprobe *)",
"Bash(npx remotion *)",
"Bash(node sub.mjs *)"
]
}
}- Only these. Never add ,
Bash(*),Bash(rm *)or a rule for a whole interpreter (Bash(curl *),Bash(node *)).Bash(python *) - Rules in the shared apply once the folder is trusted. A creator who keeps this project in git and doesn't want to share the rules can use
settings.jsoninstead (same format, personal)..claude/settings.local.json - Each skill also lists its own commands in its , which covers the turn the skill runs in. These rules cover every other turn.
allowed-tools
其他 skill 会反复运行相同的几条命令。为该项目预先批准这些命令。先展示规则并征求同意,然后将其合并到 中。如果文件不存在,则创建。保留其中已有的每个 key 和规则,绝不删除任何内容。
.claude/settings.jsonjson
{
"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 *) - 共享 中的规则会在文件夹被信任后生效。如果创作者希望将项目保留在 git 中且不想共享这些规则,可以改用
settings.json(格式相同,属于个人设置)。.claude/settings.local.json - 每个 skill 还会在其 中列出自己的命令,这会覆盖该 skill 运行所在的这一轮对话。上述规则则覆盖其他所有轮次。
allowed-tools
6. Accounts and keys (optional)
6. 账户和 key(可选)
Three things, each only if they want the skill that needs it. Ask once, in one message:
| For | What | Cost |
|---|---|---|
| Treg, with their Instagram, TikTok and YouTube connected | free on their own accounts |
| an ElevenLabs API key | their ElevenLabs plan |
| Codex logged in with their ChatGPT account | their ChatGPT plan |
ElevenLabs: they create a key at elevenlabs.io/app/settings/api-keys and paste it themselves into as (create the empty file and open it for them). Never ask for a key in the chat. Check it is there without printing it: .
video-agent/.envELEVENLABS_API_KEY=...grep -c ELEVENLABS_API_KEY video-agent/.envCodex: , then they run (browser, "Sign in with ChatGPT").
codex --versioncodex login共有三件事,每项仅在他们需要相应 skill 时才设置。在一条消息中一次性询问:
| 用途 | 所需内容 | 成本 |
|---|---|---|
| Treg,连接其 Instagram、TikTok 和 YouTube | 在自有账户上免费 |
| ElevenLabs API key | 其 ElevenLabs 套餐 |
| 使用 ChatGPT 账户登录 Codex | 其 ChatGPT 套餐 |
ElevenLabs:他们可以在 elevenlabs.io/app/settings/api-keys 创建 key,然后自行粘贴到 中,格式为 (创建空文件并为其打开)。绝不要在聊天中索要 key。通过以下命令检查 key 是否存在,但不要打印它:。
video-agent/.envELEVENLABS_API_KEY=...grep -c ELEVENLABS_API_KEY video-agent/.envCodex:执行 ,然后让他们运行 (在浏览器中选择“Sign in with ChatGPT”)。
codex --versioncodex loginTreg
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 loginopens the browser (GitHub, Google or an email code).treg login - MCP, any OS, nothing to install: , then
claude mcp add --transport http treg https://treg.to/mcp/to sign in. Each/mcp,treg catalog search,catalog getandcallbelow becomes the MCP toolbalance,catalog_search,catalog_getorcall.balance
Their own accounts (connecting needs the CLI). asks for the rights to read their stats and to post; posting still waits for their yes on each video:
--capability postbash
treg connections connect --provider instagram --capability post
treg connections connect --provider tiktok --capability post
treg connections connect --provider youtube --capability post
treg connections lsEach 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 when you read its JSON.
connect2>/dev/nullInstagram connected: offer right after, it is the best first look at what works for them.
/insta-auditHow every Treg call works, the rule for all the skills:
- : describe the job, not a vendor ("list a TikTok account's videos with view counts").
treg catalog search "<what you want to do>" - : the parameters and the price. Say the price before calling. Their own connected accounts are marked free.
treg catalog get <id> - . A failed call is not charged.
treg call <id> --query key=valueshows what is left; a 402 error means the balance is empty.treg balance
Permissions: add only the free, read-only commands, so every paid still asks first:
treg calljson
"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会打开浏览器(GitHub、Google 或电子邮件验证码)。treg login - MCP,支持任何 OS,无需安装:执行 ,然后使用
claude mcp add --transport http treg https://treg.to/mcp/登录。下面的每个/mcp、treg catalog search、catalog get和call都会成为对应的 MCP 工具balance、catalog_search、catalog_get或call。balance
他们自己的账户(连接需要使用 CLI)。 请求读取统计信息和发布的权限;即使如此,每次发布视频仍需他们确认:
--capability postbash
treg connections connect --provider instagram --capability post
treg connections connect --provider tiktok --capability post
treg connections connect --provider youtube --capability post
treg connections ls每个 都会打开相应平台的登录页面;他们在那里批准授权。只连接实际发布内容的平台。Instagram 需要专业账户(Creator 或 Business,可在 App 中免费切换:Profile → menu → Account type and tools)。Treg 会将提示输出到 stderr;读取 JSON 时可添加 。
connect2>/dev/null连接 Instagram 后,立即提供 ;这是了解其账号上哪些内容有效的最佳第一步。
/insta-audit每次 Treg 调用的工作方式,这是所有 skill 共同遵循的规则:
- :描述任务,而不是指定供应商(“列出某个 TikTok 账户的视频及观看次数”)。
treg catalog search "<what you want to do>" - :查看参数及价格。调用前先说明价格。已连接的自有账户会标记为免费。
treg catalog get <id> - 。调用失败不收费。
treg call <id> --query key=value显示剩余额度;402 错误表示余额已耗尽。treg balance
权限:仅添加免费、只读的命令,使每次付费的 仍会先征求确认:
treg calljson
"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 : it picks the right skill.
/editing <what they want>- : what works on their own Instagram (fills audit.md).
/insta-audit - : what works in their niche (fills swipe.md; once a month).
/studio-script viral - : this week's scripts, hooks first, humanized.
/studio-script - Record them: phone, camera or webcam, one take per script, saved in .
video-agent/takes/<slug>.mp4 - : a short (vertical) or a full YouTube video (horizontal).
/short-editing - : a creator's reel they love into a style
/stealcan use.short-editing - : a long video into finished shorts.
/clips - : a take in another language, in their voice.
/short-translate - : thumbnails and covers.
/codex-images - : YouTube, Instagram and TikTok.
/publish
展示已经准备就绪的项目(✓ 或已跳过,每项一行)以及后续路径。他们也可以直接输入 ;它会选择合适的 skill。
/editing <他们想要的内容>- :了解他们自己的 Instagram 上哪些内容有效(填充 audit.md)。
/insta-audit - :了解其细分领域中哪些内容有效(填充 swipe.md;每月一次)。
/studio-script viral - :生成本周的脚本,先提供 hooks,并使其自然化。
/studio-script - 录制脚本:使用手机、相机或摄像头,每个脚本录制一条,保存到 。
video-agent/takes/<slug>.mp4 - :制作一条竖屏短视频或一条横屏 YouTube 视频。
/short-editing - :将喜欢的创作者的 Reel 转换为
/steal可使用的风格。short-editing - :将长视频转换为成品短视频。
/clips - :以他们自己的声音将一条素材翻译为另一种语言。
/short-translate - :生成缩略图和封面。
/codex-images - :发布到 YouTube、Instagram 和 TikTok。
/publish
Later
后续操作
/studio-setup <part>toolsstudiovoicepermissionstregkeys/studio-setup <part>toolsstudiovoicepermissionstregkeys