luoluoluo22/jianying-editor-skill

jianying-editor

剪映 (JianYing) AI自动化剪辑的高级封装 API (JyWrapper),提供开箱即用的 Python 接口,支持录屏、素材导入、字幕生成、Web 动效合成及项目导出。全面适配 MacOS (Apple Silicon/Intel) 与 Windows,支持 v5.9+ (draftinfo.json) 架构、工程自修复、智能配音字幕及录屏变焦。

Voir la source
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

JianYing Editor Skill

Use this skill when the user wants to automate video editing, generate drafts, or manipulate media assets in JianYing Pro.

Agent execution playbook: docs/agent-playbook.md Minimal command SOP: docs/minimal-command-sop.md Natural language usage guide: usage.md Draft inspector CLI: python <SKILL_ROOT>/scripts/draft_inspector.py list --limit 20 python <SKILL_ROOT>/scripts/draft_inspector.py summary --name "DraftName" python <SKILL_ROOT>/scripts/draft_inspector.py show --name "DraftName" --kind content --json For generic editing requests, always follow the "Quick Edit Runtime Template" and "Acceptance Checklist" in that playbook.

🚨 重要开发原则 (CRITICAL DEVELOPER RULES)

  1. 脚本位置禁止在 Skill 内部目录创建剪辑脚本。所有的剪辑逻辑实现代码(.py 脚本)必须存放在用户当前项目的根目录(或子目录,如 scripts/),以保持 Skill 库的纯净和可移植性。
  2. 版本与架构
  • 双平台适配:已全面支持 MacOS (路径探测/录屏) 与 Windows。
  • Auto-healing:支持 v5.9+ (draft_info.json)。若草稿损坏或版本冲突,使用 overwrite=True 初始化 JyProject 可触发自动修复。
  1. 配乐选择
  • 简单演示使用默认音乐。实际项目,应优先检索并推荐 data/cloud_music_library.csv 中的相关曲目,或根据视频主题(如“科技”、“温暖”)进行关键词过滤。
  • 询问用户:“我发现了几首符合主题的云端音乐,要不要试试?(如:Illuminate - 科技感)”。

规则指南 (Rules)

Read the individual rule files for specific tasks and constraints:

🎯 Agent Quick Routing

  • 云端视频 + 云端音乐:rules/media.md + rules/audio-voice.md -> examples/cloud_video_music_tts_demo.py
  • 智能配音与字幕 (Script-to-Video):rules/text.md + rules/audio-voice.md -> 核心 API add_narrated_subtitles
  • 旁白与字幕对齐:rules/text.md + rules/audio-voice.md -> examples/cloud_video_music_tts_demo.py
  • 录屏与智能变焦:rules/recording.md -> tools/recording/recorder.py
  • 批量导出/无头导出:rules/core.md + rules/cli.md -> examples/robust_auto_export.py
  • 影视解说生成:rules/generative.md -> scripts/movie_commentary_builder.py

📖 经典示例 (Examples)

Refer to these for complete workflows:

🧠 提示词与集成工具 (Prompts & Integrated Tools)

Use these templates and scripts for complex tasks:

  • Asset Search: Find filters, transitions, and animations by Chinese/English name:
bash
  python <SKILL_ROOT>/scripts/asset_search.py "复古" -c filters
  • Movie Commentary Builder: Generate 60s commentary videos from a storyboard JSON:
bash
  python <SKILL_ROOT>/scripts/movie_commentary_builder.py --video "video.mp4" --json "storyboard.json"
  • Sync Native Assets: Import your favorited/played BGM/Styles from JianYing App to the Skill:
bash
  python <SKILL_ROOT>/scripts/sync_jy_assets.py
  # Index cloud materials from your existing drafts
  python <SKILL_ROOT>/scripts/build_cloud_music_library.py
  python <SKILL_ROOT>/scripts/build_cloud_text_styles_library.py
  • README to Tutorial: Convert a project's README.md into a full installation tutorial video script:
  • Read prompt: prompts/readme_to_tutorial.md
  • Inject content into {{README_CONTENT}} variable
  • Screen Recorder & Smart Zoom: Record your screen and auto-apply zoom keyframes:
bash
  python <SKILL_ROOT>/tools/recording/recorder.py
  # Web preview capture (high performance)
  python <SKILL_ROOT>/scripts/web_recorder.py --url "http://localhost:3000" --duration 5
  # Or apply zoom to existing video:
  python <SKILL_ROOT>/scripts/jy_wrapper.py apply-zoom --name "Project" --video "v.mp4" --json "e.json"
  • Draft Inspector: Examine draft structure and metadata (v5.9+ support):
bash
  python <SKILL_ROOT>/scripts/draft_inspector.py list --limit 20
  python <SKILL_ROOT>/scripts/draft_inspector.py summary --name "DraftName"
  • Auto Exporter: Headless export of a draft to MP4/SRT:
bash
  python <SKILL_ROOT>/scripts/auto_exporter.py "DraftName" "output.mp4" --res 1080 --fps 60
  # For SRT only:
  python <SKILL_ROOT>/scripts/jy_wrapper.py export-srt --name "DraftName"

Note: MP4 auto export uses Windows UI Automation. On macOS, generate the draft and export it manually from JianYing.

  • Template Clone & Replacer: 安全克隆模板并批量替换物料 (防止损坏原模板):
bash
  # 克隆模板生成新项目
  python <SKILL_ROOT>/scripts/jy_wrapper.py clone --template "酒店模板" --name "客户A_副本"
  • API Validator: Run a quick diagnostic of your environment:
bash
  python <SKILL_ROOT>/scripts/api_validator.py

🚀 快速开始示例

python
import os
import sys

# 1. 环境初始化 (必须同步到脚本开头,支持 Win/Mac)
current_dir = os.path.dirname(os.path.abspath(__file__))
env_root = os.getenv("JY_SKILL_ROOT", "").strip()
# 探测 Skill 路径 (支持 Antigravity, Trae, Claude 等)
skill_root = next((p for p in [
    env_root,
    os.path.join(current_dir, ".agents", "skills", "jianying-editor"),
    os.path.join(current_dir, ".agent", "skills", "jianying-editor"),
    os.path.join(current_dir, ".trae", "skills", "jianying-editor"),
    os.path.join(current_dir, ".claude", "skills", "jianying-editor"),
    os.path.join(current_dir, "skills", "jianying-editor"),
    os.path.abspath(".agents/skills/jianying-editor"),
    os.path.abspath(".agent/skills/jianying-editor"),
    os.path.abspath(".trae/skills/jianying-editor"),
    os.path.abspath(".claude/skills/jianying-editor"),
    os.path.abspath("skills/jianying-editor"),
    os.path.dirname(current_dir)
] if p and os.path.exists(os.path.join(p, "scripts", "jy_wrapper.py"))), None)

if not skill_root: raise ImportError("Could not find jianying-editor skill root.")
sys.path.insert(0, os.path.join(skill_root, "scripts"))
from jy_wrapper import JyProject

if __name__ == "__main__":
    # 2. 初始化工程 (支持 v5.9+ 及自修复)
    project = JyProject("New AI Video", overwrite=True)
    assets_dir = os.path.join(skill_root, "assets")

    # 3. 智能配音与字幕 (One-click Script-to-Video)
    project.add_narrated_subtitles(
        text="欢迎使用剪映自动化 Skill。这是一个全面适配 MacOS 的进阶版本。",
        speaker="zh_female_xiaopengyou"
    )

    # 4. 导入额外素材
    project.add_media_safe(os.path.join(assets_dir, "video.mp4"), "0s")
    project.add_media_safe(os.path.join(assets_dir, "audio.mp3"), "0s", track_name="Audio")

    # 5. 添加带动画的标题
    project.add_text_simple("剪映自动化开启", start_time="1s", duration="3s", anim_in="复古打字机")

    project.save()

🛠️ 初始化与项目规范 (Initialization & Project Rules)

在初始化 JyProject 时,请务必根据主视频素材的比例设置分辨率。默认值为横屏 (1920x1080)

🚨 脚本存放位置规范

禁止在 Skill 安装目录下创建你的业务剪辑脚本

  • 正确做法:将你的剪辑 Python 脚本放在项目的根目录。
  • 原因:Skill 目录应该只包含工具集源码,便于后续 git pull 升级。业务代码混入会导致版本管理混乱。