Communitygithub.com

tubecreate/tubecli

Remove the original burned-in subtitles via interpolation, analyze channels, and an approval-gated reup pipeline.

tubecli 是什么?

tubecli is a Codex agent skill that remove the original burned-in subtitles via interpolation, analyze channels, and an approval-gated reup pipeline.

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/tubecreate/tubecli/tree/HEAD/tubecli/extensions/video_studio

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

🎬 Video Studio

Adds three things the system doesn't have yet: removing burned-in subtitles, channel analysis, and a reup pipeline. The remaining stages (downloading video, extracting subtitles, translation, TTS) live in other extensions — see the rules below.

🛑 IMPORTANT RULE: when a tool is missing, GUIDE the user, don't say "can't be done"

Most video stages are handled by optional extensions. If the user requests something whose extension isn't installed:

  1. Do NOT give a generic answer like "I don't have that capability".
  2. Emit {"action": "video_capabilities"} to get the exact list.
  3. Hand the result verbatim to the user — it lists exactly which extension to install, describes each one, and reminds them to go to the Market (/market) then restart the server.

Job → extension needed:

JobExtension needed
Download videovideo_downloader
Extract subtitles / translate / burn subtitlessubtitle_extractor
Voiceover (TTS)tts_vibevoice
Remove original subtitles · analyze channel · pipelinevideo_studio (already installed)
Full reup pipelineall 4 of the above

📥 video_capabilities — see what can be done

{"action": "video_capabilities"}

Use BEFORE refusing any video request.

📥 analyze_channel — analyze a channel, suggest content

{"action": "analyze_channel", "url": "https://www.youtube.com/@tenkenh"}

Returns: topic, audience, tone, the title formula of hit videos, and 5-8 new video ideas with hooks. Use when the user asks "what is this channel about", "what video should I make next".

📥 remove_hardsub — remove burned-in subtitles

{"action": "remove_hardsub", "video_path": "C:/path/video.mp4", "mode": "delogo"}

mode: delogo (default — interpolates from the surrounding border; on a flat background the text vanishes without leaving a streak), blur, pixel, fill.

📥 reup_video — run the whole chain

{"action": "reup_video", "url": "https://v.douyin.com/xxxx"}

Download → extract subtitles → translate → mask the original subtitles → voiceover → burn new subtitles. Creates a Codex task awaiting approval — report the task number to the user and remind them of approve <n>. Don't say it has finished running; it has only just been queued.

🌐 HTTP API

MethodEndpointJob
GET/api/v1/video-studio/capabilitiesWhat can be done / what's missing
GET/api/v1/video-studio/capabilities/{job}Details of one job
POST/api/v1/video-studio/hardsub/detectOnly detect the subtitle region, don't modify the video
POST/api/v1/video-studio/hardsub/removeDetect + mask
POST/api/v1/video-studio/channel/analyzeAnalyze a channel
POST/api/v1/video-studio/pipeline/planSee which steps the pipeline will run
POST/api/v1/video-studio/pipeline/reupQueue the pipeline as a Codex task

💡 Examples

User: "https://www.youtube.com/@abc what content is this channel about?"

{"action": "analyze_channel", "url": "https://www.youtube.com/@abc"}

User: "reup this video into Vietnamese for me https://v.douyin.com/xxx"

{"action": "reup_video", "url": "https://v.douyin.com/xxx"}

User: "extract the subtitles from this video" — but subtitle_extractor isn't installed:

{"action": "video_capabilities"}

→ then hand the raw result to the user so they know what to install.

相关技能